meadow-endpoints 4.0.21 → 4.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +8 -15
  2. package/diagrams/how-it-works.excalidraw +1462 -0
  3. package/diagrams/how-it-works.mmd +9 -0
  4. package/diagrams/how-it-works.svg +2 -0
  5. package/dist/meadow-endpoints.js +591 -227
  6. package/dist/meadow-endpoints.js.map +1 -1
  7. package/dist/meadow-endpoints.min.js +22 -17
  8. package/dist/meadow-endpoints.min.js.map +1 -1
  9. package/docs/README.md +9 -25
  10. package/docs/_brand.json +18 -0
  11. package/docs/_cover.md +9 -0
  12. package/docs/_sidebar.md +1 -0
  13. package/docs/_version.json +3 -3
  14. package/docs/architecture.md +119 -0
  15. package/docs/crud/README.md +6 -6
  16. package/docs/diagrams/behavior-injection-hook-points.excalidraw +677 -0
  17. package/docs/diagrams/behavior-injection-hook-points.mmd +9 -0
  18. package/docs/diagrams/behavior-injection-hook-points.svg +2 -0
  19. package/docs/diagrams/how-it-works.excalidraw +2777 -0
  20. package/docs/diagrams/how-it-works.mmd +16 -0
  21. package/docs/diagrams/how-it-works.svg +2 -0
  22. package/docs/diagrams/how-routes-are-generated.excalidraw +1237 -0
  23. package/docs/diagrams/how-routes-are-generated.mmd +13 -0
  24. package/docs/diagrams/how-routes-are-generated.svg +2 -0
  25. package/docs/diagrams/request-lifecycle.excalidraw +1897 -0
  26. package/docs/diagrams/request-lifecycle.mmd +22 -0
  27. package/docs/diagrams/request-lifecycle.svg +2 -0
  28. package/docs/diagrams/where-it-sits-in-the-stack.excalidraw +2068 -0
  29. package/docs/diagrams/where-it-sits-in-the-stack.mmd +19 -0
  30. package/docs/diagrams/where-it-sits-in-the-stack.svg +2 -0
  31. package/docs/index.html +6 -7
  32. package/docs/quickstart.md +151 -0
  33. package/docs/retold-catalog.json +155 -186
  34. package/docs/retold-keyword-index.json +6593 -2920
  35. package/package.json +8 -8
  36. package/source/controller/Meadow-Endpoints-Controller-Base.js +40 -0
  37. package/source/endpoints/count/Meadow-Endpoint-Count.js +1 -0
  38. package/source/endpoints/count/Meadow-Endpoint-CountBy.js +1 -0
  39. package/source/endpoints/create/Meadow-Operation-Create.js +1 -0
  40. package/source/endpoints/delete/Meadow-Endpoint-Delete.js +1 -0
  41. package/source/endpoints/delete/Meadow-Endpoint-Undelete.js +1 -0
  42. package/source/endpoints/read/Meadow-Endpoint-Read.js +1 -0
  43. package/source/endpoints/read/Meadow-Endpoint-ReadDistinctList.js +1 -0
  44. package/source/endpoints/read/Meadow-Endpoint-ReadLiteList.js +1 -0
  45. package/source/endpoints/read/Meadow-Endpoint-ReadMax.js +1 -0
  46. package/source/endpoints/read/Meadow-Endpoint-ReadSelectList.js +1 -0
  47. package/source/endpoints/read/Meadow-Endpoint-Reads.js +1 -0
  48. package/source/endpoints/read/Meadow-Endpoint-ReadsBy.js +1 -0
  49. package/source/endpoints/update/Meadow-Operation-Update.js +2 -0
  50. package/source/endpoints/upsert/Meadow-Operation-Upsert.js +1 -0
  51. package/test/MeadowEndpoints_SessionOverride_tests.js +75 -0
  52. package/dist/indoctrinate_content_staging/Indoctrinate-Catalog-AppData.json +0 -4769
  53. package/docs/css/docuserve.css +0 -327
@@ -13,11 +13,11 @@ if(header){stream.emit('header',header);header=false;}if(j!==this.stack.length)r
13
13
  if(header!==false){header=header||{};header[key]=value;}// footer has not been emitted yet but header has
14
14
  if(footer!==false&&header===false){footer=footer||{};footer[key]=value;}}};function check(x,y){if('string'===typeof x)return y==x;else if(x&&'function'===typeof x.exec)return x.exec(y);else if('boolean'===typeof x||'object'===typeof x)return x;else if('function'===typeof x)return x(y);return false;}exports.stringify=function(op,sep,cl,indent){indent=indent||0;if(op===false){op='';sep='\n';cl='';}else if(op==null){op='[\n';sep='\n,\n';cl='\n]\n';}//else, what ever you like
15
15
  var stream,first=true,anyData=false;stream=through(function(data){anyData=true;try{var json=JSON.stringify(data,null,indent);}catch(err){return stream.emit('error',err);}if(first){first=false;stream.queue(op+json);}else stream.queue(sep+json);},function(data){if(!anyData)stream.queue(op);stream.queue(cl);stream.queue(null);});return stream;};exports.stringifyObject=function(op,sep,cl,indent){indent=indent||0;if(op===false){op='';sep='\n';cl='';}else if(op==null){op='{\n';sep='\n,\n';cl='\n}\n';}//else, what ever you like
16
- var first=true;var anyData=false;var stream=through(function(data){anyData=true;var json=JSON.stringify(data[0])+':'+JSON.stringify(data[1],null,indent);if(first){first=false;this.queue(op+json);}else this.queue(sep+json);},function(data){if(!anyData)this.queue(op);this.queue(cl);this.queue(null);});return stream;};}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":83,"jsonparse":199,"through":343}],2:[function(require,module,exports){var asn1=exports;asn1.bignum=require('bn.js');asn1.define=require('./asn1/api').define;asn1.base=require('./asn1/base');asn1.constants=require('./asn1/constants');asn1.decoders=require('./asn1/decoders');asn1.encoders=require('./asn1/encoders');},{"./asn1/api":3,"./asn1/base":5,"./asn1/constants":9,"./asn1/decoders":11,"./asn1/encoders":14,"bn.js":16}],3:[function(require,module,exports){var asn1=require('../asn1');var inherits=require('inherits');var api=exports;api.define=function define(name,body){return new Entity(name,body);};function Entity(name,body){this.name=name;this.body=body;this.decoders={};this.encoders={};};Entity.prototype._createNamed=function createNamed(base){var named;try{named=require('vm').runInThisContext('(function '+this.name+'(entity) {\n'+' this._initNamed(entity);\n'+'})');}catch(e){named=function(entity){this._initNamed(entity);};}inherits(named,base);named.prototype._initNamed=function initnamed(entity){base.call(this,entity);};return new named(this);};Entity.prototype._getDecoder=function _getDecoder(enc){enc=enc||'der';// Lazily create decoder
16
+ var first=true;var anyData=false;var stream=through(function(data){anyData=true;var json=JSON.stringify(data[0])+':'+JSON.stringify(data[1],null,indent);if(first){first=false;this.queue(op+json);}else this.queue(sep+json);},function(data){if(!anyData)this.queue(op);this.queue(cl);this.queue(null);});return stream;};}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":83,"jsonparse":200,"through":345}],2:[function(require,module,exports){var asn1=exports;asn1.bignum=require('bn.js');asn1.define=require('./asn1/api').define;asn1.base=require('./asn1/base');asn1.constants=require('./asn1/constants');asn1.decoders=require('./asn1/decoders');asn1.encoders=require('./asn1/encoders');},{"./asn1/api":3,"./asn1/base":5,"./asn1/constants":9,"./asn1/decoders":11,"./asn1/encoders":14,"bn.js":16}],3:[function(require,module,exports){var asn1=require('../asn1');var inherits=require('inherits');var api=exports;api.define=function define(name,body){return new Entity(name,body);};function Entity(name,body){this.name=name;this.body=body;this.decoders={};this.encoders={};};Entity.prototype._createNamed=function createNamed(base){var named;try{named=require('vm').runInThisContext('(function '+this.name+'(entity) {\n'+' this._initNamed(entity);\n'+'})');}catch(e){named=function(entity){this._initNamed(entity);};}inherits(named,base);named.prototype._initNamed=function initnamed(entity){base.call(this,entity);};return new named(this);};Entity.prototype._getDecoder=function _getDecoder(enc){enc=enc||'der';// Lazily create decoder
17
17
  if(!this.decoders.hasOwnProperty(enc))this.decoders[enc]=this._createNamed(asn1.decoders[enc]);return this.decoders[enc];};Entity.prototype.decode=function decode(data,enc,options){return this._getDecoder(enc).decode(data,options);};Entity.prototype._getEncoder=function _getEncoder(enc){enc=enc||'der';// Lazily create encoder
18
- if(!this.encoders.hasOwnProperty(enc))this.encoders[enc]=this._createNamed(asn1.encoders[enc]);return this.encoders[enc];};Entity.prototype.encode=function encode(data,enc,/* internal */reporter){return this._getEncoder(enc).encode(data,reporter);};},{"../asn1":2,"inherits":189,"vm":354}],4:[function(require,module,exports){var inherits=require('inherits');var Reporter=require('../base').Reporter;var Buffer=require('buffer').Buffer;function DecoderBuffer(base,options){Reporter.call(this,options);if(!Buffer.isBuffer(base)){this.error('Input not Buffer');return;}this.base=base;this.offset=0;this.length=base.length;}inherits(DecoderBuffer,Reporter);exports.DecoderBuffer=DecoderBuffer;DecoderBuffer.prototype.save=function save(){return{offset:this.offset,reporter:Reporter.prototype.save.call(this)};};DecoderBuffer.prototype.restore=function restore(save){// Return skipped data
18
+ if(!this.encoders.hasOwnProperty(enc))this.encoders[enc]=this._createNamed(asn1.encoders[enc]);return this.encoders[enc];};Entity.prototype.encode=function encode(data,enc,/* internal */reporter){return this._getEncoder(enc).encode(data,reporter);};},{"../asn1":2,"inherits":190,"vm":356}],4:[function(require,module,exports){var inherits=require('inherits');var Reporter=require('../base').Reporter;var Buffer=require('buffer').Buffer;function DecoderBuffer(base,options){Reporter.call(this,options);if(!Buffer.isBuffer(base)){this.error('Input not Buffer');return;}this.base=base;this.offset=0;this.length=base.length;}inherits(DecoderBuffer,Reporter);exports.DecoderBuffer=DecoderBuffer;DecoderBuffer.prototype.save=function save(){return{offset:this.offset,reporter:Reporter.prototype.save.call(this)};};DecoderBuffer.prototype.restore=function restore(save){// Return skipped data
19
19
  var res=new DecoderBuffer(this.base);res.offset=save.offset;res.length=this.offset;this.offset=save.offset;Reporter.prototype.restore.call(this,save.reporter);return res;};DecoderBuffer.prototype.isEmpty=function isEmpty(){return this.offset===this.length;};DecoderBuffer.prototype.readUInt8=function readUInt8(fail){if(this.offset+1<=this.length)return this.base.readUInt8(this.offset++,true);else return this.error(fail||'DecoderBuffer overrun');};DecoderBuffer.prototype.skip=function skip(bytes,fail){if(!(this.offset+bytes<=this.length))return this.error(fail||'DecoderBuffer overrun');var res=new DecoderBuffer(this.base);// Share reporter state
20
- res._reporterState=this._reporterState;res.offset=this.offset;res.length=this.offset+bytes;this.offset+=bytes;return res;};DecoderBuffer.prototype.raw=function raw(save){return this.base.slice(save?save.offset:this.offset,this.length);};function EncoderBuffer(value,reporter){if(Array.isArray(value)){this.length=0;this.value=value.map(function(item){if(!(item instanceof EncoderBuffer))item=new EncoderBuffer(item,reporter);this.length+=item.length;return item;},this);}else if(typeof value==='number'){if(!(0<=value&&value<=0xff))return reporter.error('non-byte EncoderBuffer value');this.value=value;this.length=1;}else if(typeof value==='string'){this.value=value;this.length=Buffer.byteLength(value);}else if(Buffer.isBuffer(value)){this.value=value;this.length=value.length;}else{return reporter.error('Unsupported type: '+typeof value);}}exports.EncoderBuffer=EncoderBuffer;EncoderBuffer.prototype.join=function join(out,offset){if(!out)out=new Buffer(this.length);if(!offset)offset=0;if(this.length===0)return out;if(Array.isArray(this.value)){this.value.forEach(function(item){item.join(out,offset);offset+=item.length;});}else{if(typeof this.value==='number')out[offset]=this.value;else if(typeof this.value==='string')out.write(this.value,offset);else if(Buffer.isBuffer(this.value))this.value.copy(out,offset);offset+=this.length;}return out;};},{"../base":5,"buffer":83,"inherits":189}],5:[function(require,module,exports){var base=exports;base.Reporter=require('./reporter').Reporter;base.DecoderBuffer=require('./buffer').DecoderBuffer;base.EncoderBuffer=require('./buffer').EncoderBuffer;base.Node=require('./node');},{"./buffer":4,"./node":6,"./reporter":7}],6:[function(require,module,exports){var Reporter=require('../base').Reporter;var EncoderBuffer=require('../base').EncoderBuffer;var DecoderBuffer=require('../base').DecoderBuffer;var assert=require('minimalistic-assert');// Supported tags
20
+ res._reporterState=this._reporterState;res.offset=this.offset;res.length=this.offset+bytes;this.offset+=bytes;return res;};DecoderBuffer.prototype.raw=function raw(save){return this.base.slice(save?save.offset:this.offset,this.length);};function EncoderBuffer(value,reporter){if(Array.isArray(value)){this.length=0;this.value=value.map(function(item){if(!(item instanceof EncoderBuffer))item=new EncoderBuffer(item,reporter);this.length+=item.length;return item;},this);}else if(typeof value==='number'){if(!(0<=value&&value<=0xff))return reporter.error('non-byte EncoderBuffer value');this.value=value;this.length=1;}else if(typeof value==='string'){this.value=value;this.length=Buffer.byteLength(value);}else if(Buffer.isBuffer(value)){this.value=value;this.length=value.length;}else{return reporter.error('Unsupported type: '+typeof value);}}exports.EncoderBuffer=EncoderBuffer;EncoderBuffer.prototype.join=function join(out,offset){if(!out)out=new Buffer(this.length);if(!offset)offset=0;if(this.length===0)return out;if(Array.isArray(this.value)){this.value.forEach(function(item){item.join(out,offset);offset+=item.length;});}else{if(typeof this.value==='number')out[offset]=this.value;else if(typeof this.value==='string')out.write(this.value,offset);else if(Buffer.isBuffer(this.value))this.value.copy(out,offset);offset+=this.length;}return out;};},{"../base":5,"buffer":83,"inherits":190}],5:[function(require,module,exports){var base=exports;base.Reporter=require('./reporter').Reporter;base.DecoderBuffer=require('./buffer').DecoderBuffer;base.EncoderBuffer=require('./buffer').EncoderBuffer;base.Node=require('./node');},{"./buffer":4,"./node":6,"./reporter":7}],6:[function(require,module,exports){var Reporter=require('../base').Reporter;var EncoderBuffer=require('../base').EncoderBuffer;var DecoderBuffer=require('../base').DecoderBuffer;var assert=require('minimalistic-assert');// Supported tags
21
21
  var tags=['seq','seqof','set','setof','objid','bool','gentime','utctime','null_','enum','int','objDesc','bitstr','bmpstr','charstr','genstr','graphstr','ia5str','iso646str','numstr','octstr','printstr','t61str','unistr','utf8str','videostr'];// Public methods list
22
22
  var methods=['key','obj','use','optional','explicit','implicit','def','choice','any','contains'].concat(tags);// Overrided methods list
23
23
  var overrided=['_peekTag','_decodeTag','_use','_decodeStr','_decodeObjid','_decodeTime','_decodeNull','_decodeInt','_decodeBool','_decodeList','_encodeComposite','_encodeStr','_encodeObjid','_encodeTime','_encodeNull','_encodeInt','_encodeBool'];function Node(enc,parent){var state={};this._baseState=state;state.enc=enc;state.parent=parent||null;state.children=null;// State
@@ -59,8 +59,8 @@ var content=null;var primitive=false;if(state.any){// Anything that was given is
59
59
  result=this._createEncoderBuffer(data);}else if(state.choice){result=this._encodeChoice(data,reporter);}else if(state.contains){content=this._getUse(state.contains,parent)._encode(data,reporter);primitive=true;}else if(state.children){content=state.children.map(function(child){if(child._baseState.tag==='null_')return child._encode(null,reporter,data);if(child._baseState.key===null)return reporter.error('Child should have a key');var prevKey=reporter.enterKey(child._baseState.key);if(typeof data!=='object')return reporter.error('Child expected, but input is not object');var res=child._encode(data[child._baseState.key],reporter,data);reporter.leaveKey(prevKey);return res;},this).filter(function(child){return child;});content=this._createEncoderBuffer(content);}else{if(state.tag==='seqof'||state.tag==='setof'){// TODO(indutny): this should be thrown on DSL level
60
60
  if(!(state.args&&state.args.length===1))return reporter.error('Too many args for : '+state.tag);if(!Array.isArray(data))return reporter.error('seqof/setof, but data is not Array');var child=this.clone();child._baseState.implicit=null;content=this._createEncoderBuffer(data.map(function(item){var state=this._baseState;return this._getUse(state.args[0],data)._encode(item,reporter);},child));}else if(state.use!==null){result=this._getUse(state.use,parent)._encode(data,reporter);}else{content=this._encodePrimitive(state.tag,data);primitive=true;}}// Encode data itself
61
61
  var result;if(!state.any&&state.choice===null){var tag=state.implicit!==null?state.implicit:state.tag;var cls=state.implicit===null?'universal':'context';if(tag===null){if(state.use===null)reporter.error('Tag could be omitted only for .use()');}else{if(state.use===null)result=this._encodeComposite(tag,primitive,cls,content);}}// Wrap in explicit
62
- if(state.explicit!==null)result=this._encodeComposite(state.explicit,false,'context',result);return result;};Node.prototype._encodeChoice=function encodeChoice(data,reporter){var state=this._baseState;var node=state.choice[data.type];if(!node){assert(false,data.type+' not found in '+JSON.stringify(Object.keys(state.choice)));}return node._encode(data.value,reporter);};Node.prototype._encodePrimitive=function encodePrimitive(tag,data){var state=this._baseState;if(/str$/.test(tag))return this._encodeStr(data,tag);else if(tag==='objid'&&state.args)return this._encodeObjid(data,state.reverseArgs[0],state.args[1]);else if(tag==='objid')return this._encodeObjid(data,null,null);else if(tag==='gentime'||tag==='utctime')return this._encodeTime(data,tag);else if(tag==='null_')return this._encodeNull();else if(tag==='int'||tag==='enum')return this._encodeInt(data,state.args&&state.reverseArgs[0]);else if(tag==='bool')return this._encodeBool(data);else if(tag==='objDesc')return this._encodeStr(data,tag);else throw new Error('Unsupported tag: '+tag);};Node.prototype._isNumstr=function isNumstr(str){return /^[0-9 ]*$/.test(str);};Node.prototype._isPrintstr=function isPrintstr(str){return /^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(str);};},{"../base":5,"minimalistic-assert":239}],7:[function(require,module,exports){var inherits=require('inherits');function Reporter(options){this._reporterState={obj:null,path:[],options:options||{},errors:[]};}exports.Reporter=Reporter;Reporter.prototype.isError=function isError(obj){return obj instanceof ReporterError;};Reporter.prototype.save=function save(){var state=this._reporterState;return{obj:state.obj,pathLen:state.path.length};};Reporter.prototype.restore=function restore(data){var state=this._reporterState;state.obj=data.obj;state.path=state.path.slice(0,data.pathLen);};Reporter.prototype.enterKey=function enterKey(key){return this._reporterState.path.push(key);};Reporter.prototype.exitKey=function exitKey(index){var state=this._reporterState;state.path=state.path.slice(0,index-1);};Reporter.prototype.leaveKey=function leaveKey(index,key,value){var state=this._reporterState;this.exitKey(index);if(state.obj!==null)state.obj[key]=value;};Reporter.prototype.path=function path(){return this._reporterState.path.join('/');};Reporter.prototype.enterObject=function enterObject(){var state=this._reporterState;var prev=state.obj;state.obj={};return prev;};Reporter.prototype.leaveObject=function leaveObject(prev){var state=this._reporterState;var now=state.obj;state.obj=prev;return now;};Reporter.prototype.error=function error(msg){var err;var state=this._reporterState;var inherited=msg instanceof ReporterError;if(inherited){err=msg;}else{err=new ReporterError(state.path.map(function(elem){return'['+JSON.stringify(elem)+']';}).join(''),msg.message||msg,msg.stack);}if(!state.options.partial)throw err;if(!inherited)state.errors.push(err);return err;};Reporter.prototype.wrapResult=function wrapResult(result){var state=this._reporterState;if(!state.options.partial)return result;return{result:this.isError(result)?null:result,errors:state.errors};};function ReporterError(path,msg){this.path=path;this.rethrow(msg);};inherits(ReporterError,Error);ReporterError.prototype.rethrow=function rethrow(msg){this.message=msg+' at: '+(this.path||'(shallow)');if(Error.captureStackTrace)Error.captureStackTrace(this,ReporterError);if(!this.stack){try{// IE only adds stack when thrown
63
- throw new Error(this.message);}catch(e){this.stack=e.stack;}}return this;};},{"inherits":189}],8:[function(require,module,exports){var constants=require('../constants');exports.tagClass={0:'universal',1:'application',2:'context',3:'private'};exports.tagClassByName=constants._reverse(exports.tagClass);exports.tag={0x00:'end',0x01:'bool',0x02:'int',0x03:'bitstr',0x04:'octstr',0x05:'null_',0x06:'objid',0x07:'objDesc',0x08:'external',0x09:'real',0x0a:'enum',0x0b:'embed',0x0c:'utf8str',0x0d:'relativeOid',0x10:'seq',0x11:'set',0x12:'numstr',0x13:'printstr',0x14:'t61str',0x15:'videostr',0x16:'ia5str',0x17:'utctime',0x18:'gentime',0x19:'graphstr',0x1a:'iso646str',0x1b:'genstr',0x1c:'unistr',0x1d:'charstr',0x1e:'bmpstr'};exports.tagByName=constants._reverse(exports.tag);},{"../constants":9}],9:[function(require,module,exports){var constants=exports;// Helper
62
+ if(state.explicit!==null)result=this._encodeComposite(state.explicit,false,'context',result);return result;};Node.prototype._encodeChoice=function encodeChoice(data,reporter){var state=this._baseState;var node=state.choice[data.type];if(!node){assert(false,data.type+' not found in '+JSON.stringify(Object.keys(state.choice)));}return node._encode(data.value,reporter);};Node.prototype._encodePrimitive=function encodePrimitive(tag,data){var state=this._baseState;if(/str$/.test(tag))return this._encodeStr(data,tag);else if(tag==='objid'&&state.args)return this._encodeObjid(data,state.reverseArgs[0],state.args[1]);else if(tag==='objid')return this._encodeObjid(data,null,null);else if(tag==='gentime'||tag==='utctime')return this._encodeTime(data,tag);else if(tag==='null_')return this._encodeNull();else if(tag==='int'||tag==='enum')return this._encodeInt(data,state.args&&state.reverseArgs[0]);else if(tag==='bool')return this._encodeBool(data);else if(tag==='objDesc')return this._encodeStr(data,tag);else throw new Error('Unsupported tag: '+tag);};Node.prototype._isNumstr=function isNumstr(str){return /^[0-9 ]*$/.test(str);};Node.prototype._isPrintstr=function isPrintstr(str){return /^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(str);};},{"../base":5,"minimalistic-assert":241}],7:[function(require,module,exports){var inherits=require('inherits');function Reporter(options){this._reporterState={obj:null,path:[],options:options||{},errors:[]};}exports.Reporter=Reporter;Reporter.prototype.isError=function isError(obj){return obj instanceof ReporterError;};Reporter.prototype.save=function save(){var state=this._reporterState;return{obj:state.obj,pathLen:state.path.length};};Reporter.prototype.restore=function restore(data){var state=this._reporterState;state.obj=data.obj;state.path=state.path.slice(0,data.pathLen);};Reporter.prototype.enterKey=function enterKey(key){return this._reporterState.path.push(key);};Reporter.prototype.exitKey=function exitKey(index){var state=this._reporterState;state.path=state.path.slice(0,index-1);};Reporter.prototype.leaveKey=function leaveKey(index,key,value){var state=this._reporterState;this.exitKey(index);if(state.obj!==null)state.obj[key]=value;};Reporter.prototype.path=function path(){return this._reporterState.path.join('/');};Reporter.prototype.enterObject=function enterObject(){var state=this._reporterState;var prev=state.obj;state.obj={};return prev;};Reporter.prototype.leaveObject=function leaveObject(prev){var state=this._reporterState;var now=state.obj;state.obj=prev;return now;};Reporter.prototype.error=function error(msg){var err;var state=this._reporterState;var inherited=msg instanceof ReporterError;if(inherited){err=msg;}else{err=new ReporterError(state.path.map(function(elem){return'['+JSON.stringify(elem)+']';}).join(''),msg.message||msg,msg.stack);}if(!state.options.partial)throw err;if(!inherited)state.errors.push(err);return err;};Reporter.prototype.wrapResult=function wrapResult(result){var state=this._reporterState;if(!state.options.partial)return result;return{result:this.isError(result)?null:result,errors:state.errors};};function ReporterError(path,msg){this.path=path;this.rethrow(msg);};inherits(ReporterError,Error);ReporterError.prototype.rethrow=function rethrow(msg){this.message=msg+' at: '+(this.path||'(shallow)');if(Error.captureStackTrace)Error.captureStackTrace(this,ReporterError);if(!this.stack){try{// IE only adds stack when thrown
63
+ throw new Error(this.message);}catch(e){this.stack=e.stack;}}return this;};},{"inherits":190}],8:[function(require,module,exports){var constants=require('../constants');exports.tagClass={0:'universal',1:'application',2:'context',3:'private'};exports.tagClassByName=constants._reverse(exports.tagClass);exports.tag={0x00:'end',0x01:'bool',0x02:'int',0x03:'bitstr',0x04:'octstr',0x05:'null_',0x06:'objid',0x07:'objDesc',0x08:'external',0x09:'real',0x0a:'enum',0x0b:'embed',0x0c:'utf8str',0x0d:'relativeOid',0x10:'seq',0x11:'set',0x12:'numstr',0x13:'printstr',0x14:'t61str',0x15:'videostr',0x16:'ia5str',0x17:'utctime',0x18:'gentime',0x19:'graphstr',0x1a:'iso646str',0x1b:'genstr',0x1c:'unistr',0x1d:'charstr',0x1e:'bmpstr'};exports.tagByName=constants._reverse(exports.tag);},{"../constants":9}],9:[function(require,module,exports){var constants=exports;// Helper
64
64
  constants._reverse=function reverse(map){var res={};Object.keys(map).forEach(function(key){// Convert key to integer if it is stringified
65
65
  if((key|0)==key)key=key|0;var value=map[key];res[value]=key;});return res;};constants.der=require('./der');},{"./der":8}],10:[function(require,module,exports){var inherits=require('inherits');var asn1=require('../../asn1');var base=asn1.base;var bignum=asn1.bignum;// Import DER constants
66
66
  var der=asn1.constants.der;function DERDecoder(entity){this.enc='der';this.name=entity.name;this.entity=entity;// Construct base tree
@@ -75,8 +75,8 @@ if((tag&0x1f)===0x1f){var oct=tag;tag=0;while((oct&0x80)===0x80){oct=buf.readUIn
75
75
  if(!primitive&&len===0x80)return null;// Definite form
76
76
  if((len&0x80)===0){// Short form
77
77
  return len;}// Long form
78
- var num=len&0x7f;if(num>4)return buf.error('length octect is too long');len=0;for(var i=0;i<num;i++){len<<=8;var j=buf.readUInt8(fail);if(buf.isError(j))return j;len|=j;}return len;}},{"../../asn1":2,"inherits":189}],11:[function(require,module,exports){var decoders=exports;decoders.der=require('./der');decoders.pem=require('./pem');},{"./der":10,"./pem":12}],12:[function(require,module,exports){var inherits=require('inherits');var Buffer=require('buffer').Buffer;var DERDecoder=require('./der');function PEMDecoder(entity){DERDecoder.call(this,entity);this.enc='pem';};inherits(PEMDecoder,DERDecoder);module.exports=PEMDecoder;PEMDecoder.prototype.decode=function decode(data,options){var lines=data.toString().split(/[\r\n]+/g);var label=options.label.toUpperCase();var re=/^-----(BEGIN|END) ([^-]+)-----$/;var start=-1;var end=-1;for(var i=0;i<lines.length;i++){var match=lines[i].match(re);if(match===null)continue;if(match[2]!==label)continue;if(start===-1){if(match[1]!=='BEGIN')break;start=i;}else{if(match[1]!=='END')break;end=i;break;}}if(start===-1||end===-1)throw new Error('PEM section not found for: '+label);var base64=lines.slice(start+1,end).join('');// Remove excessive symbols
79
- base64.replace(/[^a-z0-9\+\/=]+/gi,'');var input=new Buffer(base64,'base64');return DERDecoder.prototype.decode.call(this,input,options);};},{"./der":10,"buffer":83,"inherits":189}],13:[function(require,module,exports){var inherits=require('inherits');var Buffer=require('buffer').Buffer;var asn1=require('../../asn1');var base=asn1.base;// Import DER constants
78
+ var num=len&0x7f;if(num>4)return buf.error('length octect is too long');len=0;for(var i=0;i<num;i++){len<<=8;var j=buf.readUInt8(fail);if(buf.isError(j))return j;len|=j;}return len;}},{"../../asn1":2,"inherits":190}],11:[function(require,module,exports){var decoders=exports;decoders.der=require('./der');decoders.pem=require('./pem');},{"./der":10,"./pem":12}],12:[function(require,module,exports){var inherits=require('inherits');var Buffer=require('buffer').Buffer;var DERDecoder=require('./der');function PEMDecoder(entity){DERDecoder.call(this,entity);this.enc='pem';};inherits(PEMDecoder,DERDecoder);module.exports=PEMDecoder;PEMDecoder.prototype.decode=function decode(data,options){var lines=data.toString().split(/[\r\n]+/g);var label=options.label.toUpperCase();var re=/^-----(BEGIN|END) ([^-]+)-----$/;var start=-1;var end=-1;for(var i=0;i<lines.length;i++){var match=lines[i].match(re);if(match===null)continue;if(match[2]!==label)continue;if(start===-1){if(match[1]!=='BEGIN')break;start=i;}else{if(match[1]!=='END')break;end=i;break;}}if(start===-1||end===-1)throw new Error('PEM section not found for: '+label);var base64=lines.slice(start+1,end).join('');// Remove excessive symbols
79
+ base64.replace(/[^a-z0-9\+\/=]+/gi,'');var input=new Buffer(base64,'base64');return DERDecoder.prototype.decode.call(this,input,options);};},{"./der":10,"buffer":83,"inherits":190}],13:[function(require,module,exports){var inherits=require('inherits');var Buffer=require('buffer').Buffer;var asn1=require('../../asn1');var base=asn1.base;// Import DER constants
80
80
  var der=asn1.constants.der;function DEREncoder(entity){this.enc='der';this.name=entity.name;this.entity=entity;// Construct base tree
81
81
  this.tree=new DERNode();this.tree._init(entity.body);};module.exports=DEREncoder;DEREncoder.prototype.encode=function encode(data,reporter){return this.tree._encode(data,reporter).join();};// Tree methods
82
82
  function DERNode(parent){base.Node.call(this,'der',parent);}inherits(DERNode,base.Node);DERNode.prototype._encodeComposite=function encodeComposite(tag,primitive,cls,content){var encodedTag=encodeTag(tag,primitive,cls,this.reporter);// Short form
@@ -85,7 +85,7 @@ if(content.length<0x80){var header=new Buffer(2);header[0]=encodedTag;header[1]=
85
85
  var lenOctets=1;for(var i=content.length;i>=0x100;i>>=8)lenOctets++;var header=new Buffer(1+1+lenOctets);header[0]=encodedTag;header[1]=0x80|lenOctets;for(var i=1+lenOctets,j=content.length;j>0;i--,j>>=8)header[i]=j&0xff;return this._createEncoderBuffer([header,content]);};DERNode.prototype._encodeStr=function encodeStr(str,tag){if(tag==='bitstr'){return this._createEncoderBuffer([str.unused|0,str.data]);}else if(tag==='bmpstr'){var buf=new Buffer(str.length*2);for(var i=0;i<str.length;i++){buf.writeUInt16BE(str.charCodeAt(i),i*2);}return this._createEncoderBuffer(buf);}else if(tag==='numstr'){if(!this._isNumstr(str)){return this.reporter.error('Encoding of string type: numstr supports '+'only digits and space');}return this._createEncoderBuffer(str);}else if(tag==='printstr'){if(!this._isPrintstr(str)){return this.reporter.error('Encoding of string type: printstr supports '+'only latin upper and lower case letters, '+'digits, space, apostrophe, left and rigth '+'parenthesis, plus sign, comma, hyphen, '+'dot, slash, colon, equal sign, '+'question mark');}return this._createEncoderBuffer(str);}else if(/str$/.test(tag)){return this._createEncoderBuffer(str);}else if(tag==='objDesc'){return this._createEncoderBuffer(str);}else{return this.reporter.error('Encoding of string type: '+tag+' unsupported');}};DERNode.prototype._encodeObjid=function encodeObjid(id,values,relative){if(typeof id==='string'){if(!values)return this.reporter.error('string objid given, but no values map found');if(!values.hasOwnProperty(id))return this.reporter.error('objid not found in values map');id=values[id].split(/[\s\.]+/g);for(var i=0;i<id.length;i++)id[i]|=0;}else if(Array.isArray(id)){id=id.slice();for(var i=0;i<id.length;i++)id[i]|=0;}if(!Array.isArray(id)){return this.reporter.error('objid() should be either array or string, '+'got: '+JSON.stringify(id));}if(!relative){if(id[1]>=40)return this.reporter.error('Second objid identifier OOB');id.splice(0,2,id[0]*40+id[1]);}// Count number of octets
86
86
  var size=0;for(var i=0;i<id.length;i++){var ident=id[i];for(size++;ident>=0x80;ident>>=7)size++;}var objid=new Buffer(size);var offset=objid.length-1;for(var i=id.length-1;i>=0;i--){var ident=id[i];objid[offset--]=ident&0x7f;while((ident>>=7)>0)objid[offset--]=0x80|ident&0x7f;}return this._createEncoderBuffer(objid);};function two(num){if(num<10)return'0'+num;else return num;}DERNode.prototype._encodeTime=function encodeTime(time,tag){var str;var date=new Date(time);if(tag==='gentime'){str=[two(date.getFullYear()),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),'Z'].join('');}else if(tag==='utctime'){str=[two(date.getFullYear()%100),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),'Z'].join('');}else{this.reporter.error('Encoding '+tag+' time is not supported yet');}return this._encodeStr(str,'octstr');};DERNode.prototype._encodeNull=function encodeNull(){return this._createEncoderBuffer('');};DERNode.prototype._encodeInt=function encodeInt(num,values){if(typeof num==='string'){if(!values)return this.reporter.error('String int or enum given, but no values map');if(!values.hasOwnProperty(num)){return this.reporter.error('Values map doesn\'t contain: '+JSON.stringify(num));}num=values[num];}// Bignum, assume big endian
87
87
  if(typeof num!=='number'&&!Buffer.isBuffer(num)){var numArray=num.toArray();if(!num.sign&&numArray[0]&0x80){numArray.unshift(0);}num=new Buffer(numArray);}if(Buffer.isBuffer(num)){var size=num.length;if(num.length===0)size++;var out=new Buffer(size);num.copy(out);if(num.length===0)out[0]=0;return this._createEncoderBuffer(out);}if(num<0x80)return this._createEncoderBuffer(num);if(num<0x100)return this._createEncoderBuffer([0,num]);var size=1;for(var i=num;i>=0x100;i>>=8)size++;var out=new Array(size);for(var i=out.length-1;i>=0;i--){out[i]=num&0xff;num>>=8;}if(out[0]&0x80){out.unshift(0);}return this._createEncoderBuffer(new Buffer(out));};DERNode.prototype._encodeBool=function encodeBool(value){return this._createEncoderBuffer(value?0xff:0);};DERNode.prototype._use=function use(entity,obj){if(typeof entity==='function')entity=entity(obj);return entity._getEncoder('der').tree;};DERNode.prototype._skipDefault=function skipDefault(dataBuffer,reporter,parent){var state=this._baseState;var i;if(state['default']===null)return false;var data=dataBuffer.join();if(state.defaultBuffer===undefined)state.defaultBuffer=this._encodeValue(state['default'],reporter,parent).join();if(data.length!==state.defaultBuffer.length)return false;for(i=0;i<data.length;i++)if(data[i]!==state.defaultBuffer[i])return false;return true;};// Utility methods
88
- function encodeTag(tag,primitive,cls,reporter){var res;if(tag==='seqof')tag='seq';else if(tag==='setof')tag='set';if(der.tagByName.hasOwnProperty(tag))res=der.tagByName[tag];else if(typeof tag==='number'&&(tag|0)===tag)res=tag;else return reporter.error('Unknown tag: '+tag);if(res>=0x1f)return reporter.error('Multi-octet tag encoding unsupported');if(!primitive)res|=0x20;res|=der.tagClassByName[cls||'universal']<<6;return res;}},{"../../asn1":2,"buffer":83,"inherits":189}],14:[function(require,module,exports){var encoders=exports;encoders.der=require('./der');encoders.pem=require('./pem');},{"./der":13,"./pem":15}],15:[function(require,module,exports){var inherits=require('inherits');var DEREncoder=require('./der');function PEMEncoder(entity){DEREncoder.call(this,entity);this.enc='pem';};inherits(PEMEncoder,DEREncoder);module.exports=PEMEncoder;PEMEncoder.prototype.encode=function encode(data,options){var buf=DEREncoder.prototype.encode.call(this,data);var p=buf.toString('base64');var out=['-----BEGIN '+options.label+'-----'];for(var i=0;i<p.length;i+=64)out.push(p.slice(i,i+64));out.push('-----END '+options.label+'-----');return out.join('\n');};},{"./der":13,"inherits":189}],16:[function(require,module,exports){(function(module,exports){'use strict';// Utils
88
+ function encodeTag(tag,primitive,cls,reporter){var res;if(tag==='seqof')tag='seq';else if(tag==='setof')tag='set';if(der.tagByName.hasOwnProperty(tag))res=der.tagByName[tag];else if(typeof tag==='number'&&(tag|0)===tag)res=tag;else return reporter.error('Unknown tag: '+tag);if(res>=0x1f)return reporter.error('Multi-octet tag encoding unsupported');if(!primitive)res|=0x20;res|=der.tagClassByName[cls||'universal']<<6;return res;}},{"../../asn1":2,"buffer":83,"inherits":190}],14:[function(require,module,exports){var encoders=exports;encoders.der=require('./der');encoders.pem=require('./pem');},{"./der":13,"./pem":15}],15:[function(require,module,exports){var inherits=require('inherits');var DEREncoder=require('./der');function PEMEncoder(entity){DEREncoder.call(this,entity);this.enc='pem';};inherits(PEMEncoder,DEREncoder);module.exports=PEMEncoder;PEMEncoder.prototype.encode=function encode(data,options){var buf=DEREncoder.prototype.encode.call(this,data);var p=buf.toString('base64');var out=['-----BEGIN '+options.label+'-----'];for(var i=0;i<p.length;i+=64)out.push(p.slice(i,i+64));out.push('-----END '+options.label+'-----');return out.join('\n');};},{"./der":13,"inherits":190}],16:[function(require,module,exports){(function(module,exports){'use strict';// Utils
89
89
  function assert(val,msg){if(!val)throw new Error(msg||'Assertion failed');}// Could use `inherits` module, but don't want to move from single file
90
90
  // architecture yet.
91
91
  function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor();ctor.prototype.constructor=ctor;}// BN
@@ -397,7 +397,7 @@ return callback(null);}replenish();}function handleError(err){if(canceled)return
397
397
  // only return a promise if a callback is omitted
398
398
  function awaitify(asyncFn,arity){if(!arity)arity=asyncFn.length;if(!arity)throw new Error('arity is undefined');function awaitable(){for(var _len3=arguments.length,args=new Array(_len3),_key3=0;_key3<_len3;_key3++){args[_key3]=arguments[_key3];}if(typeof args[arity-1]==='function'){return asyncFn.apply(this,args);}return new Promise((resolve,reject)=>{args[arity-1]=function(err){if(err)return reject(err);for(var _len4=arguments.length,cbArgs=new Array(_len4>1?_len4-1:0),_key4=1;_key4<_len4;_key4++){cbArgs[_key4-1]=arguments[_key4];}resolve(cbArgs.length>1?cbArgs:cbArgs[0]);};asyncFn.apply(this,args);});}return awaitable;}module.exports=exports.default;},{}],22:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});// A temporary value used to identify if the loop should be broken.
399
399
  // See #1064, #1293
400
- const breakLoop={};exports.default=breakLoop;module.exports=exports.default;},{}],23:[function(require,module,exports){'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _once=require('./once.js');var _once2=_interopRequireDefault(_once);var _iterator=require('./iterator.js');var _iterator2=_interopRequireDefault(_iterator);var _onlyOnce=require('./onlyOnce.js');var _onlyOnce2=_interopRequireDefault(_onlyOnce);var _wrapAsync=require('./wrapAsync.js');var _asyncEachOfLimit=require('./asyncEachOfLimit.js');var _asyncEachOfLimit2=_interopRequireDefault(_asyncEachOfLimit);var _breakLoop=require('./breakLoop.js');var _breakLoop2=_interopRequireDefault(_breakLoop);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}exports.default=limit=>{return(obj,iteratee,callback)=>{callback=(0,_once2.default)(callback);if(limit<=0){throw new RangeError('concurrency limit cannot be less than 1');}if(!obj){return callback(null);}if((0,_wrapAsync.isAsyncGenerator)(obj)){return(0,_asyncEachOfLimit2.default)(obj,limit,iteratee,callback);}if((0,_wrapAsync.isAsyncIterable)(obj)){return(0,_asyncEachOfLimit2.default)(obj[Symbol.asyncIterator](),limit,iteratee,callback);}var nextElem=(0,_iterator2.default)(obj);var done=false;var canceled=false;var running=0;var looping=false;function iterateeCallback(err,value){if(canceled)return;running-=1;if(err){done=true;callback(err);}else if(err===false){done=true;canceled=true;}else if(value===_breakLoop2.default||done&&running<=0){done=true;return callback(null);}else if(!looping){replenish();}}function replenish(){looping=true;while(running<limit&&!done){var elem=nextElem();if(elem===null){done=true;if(running<=0){callback(null);}return;}running+=1;iteratee(elem.value,elem.key,(0,_onlyOnce2.default)(iterateeCallback));}looping=false;}replenish();};};module.exports=exports.default;},{"./asyncEachOfLimit.js":20,"./breakLoop.js":22,"./iterator.js":27,"./once.js":28,"./onlyOnce.js":29,"./wrapAsync.js":32}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(coll){return coll[Symbol.iterator]&&coll[Symbol.iterator]();};module.exports=exports.default;},{}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(fn){return function(){for(var _len5=arguments.length,args=new Array(_len5),_key5=0;_key5<_len5;_key5++){args[_key5]=arguments[_key5];}var callback=args.pop();return fn.call(this,args,callback);};};module.exports=exports.default;},{}],26:[function(require,module,exports){'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.default=isArrayLike;function isArrayLike(value){return value&&typeof value.length==='number'&&value.length>=0&&value.length%1===0;}module.exports=exports.default;},{}],27:[function(require,module,exports){'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.default=createIterator;var _isArrayLike=require('./isArrayLike.js');var _isArrayLike2=_interopRequireDefault(_isArrayLike);var _getIterator=require('./getIterator.js');var _getIterator2=_interopRequireDefault(_getIterator);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function createArrayIterator(coll){var i=-1;var len=coll.length;return function next(){return++i<len?{value:coll[i],key:i}:null;};}function createES2015Iterator(iterator){var i=-1;return function next(){var item=iterator.next();if(item.done)return null;i++;return{value:item.value,key:i};};}function createObjectIterator(obj){var okeys=obj?Object.keys(obj):[];var i=-1;var len=okeys.length;return function next(){var key=okeys[++i];if(key==='__proto__'){return next();}return i<len?{value:obj[key],key}:null;};}function createIterator(coll){if((0,_isArrayLike2.default)(coll)){return createArrayIterator(coll);}var iterator=(0,_getIterator2.default)(coll);return iterator?createES2015Iterator(iterator):createObjectIterator(coll);}module.exports=exports.default;},{"./getIterator.js":24,"./isArrayLike.js":26}],28:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=once;function once(fn){function wrapper(){if(fn===null)return;var callFn=fn;fn=null;for(var _len6=arguments.length,args=new Array(_len6),_key6=0;_key6<_len6;_key6++){args[_key6]=arguments[_key6];}callFn.apply(this,args);}Object.assign(wrapper,fn);return wrapper;}module.exports=exports.default;},{}],29:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=onlyOnce;function onlyOnce(fn){return function(){if(fn===null)throw new Error("Callback was already called.");var callFn=fn;fn=null;for(var _len7=arguments.length,args=new Array(_len7),_key7=0;_key7<_len7;_key7++){args[_key7]=arguments[_key7];}callFn.apply(this,args);};}module.exports=exports.default;},{}],30:[function(require,module,exports){(function(process,setImmediate){(function(){'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.fallback=fallback;exports.wrap=wrap;/* istanbul ignore file */var hasQueueMicrotask=exports.hasQueueMicrotask=typeof queueMicrotask==='function'&&queueMicrotask;var hasSetImmediate=exports.hasSetImmediate=typeof setImmediate==='function'&&setImmediate;var hasNextTick=exports.hasNextTick=typeof process==='object'&&typeof process.nextTick==='function';function fallback(fn){setTimeout(fn,0);}function wrap(defer){return function(fn){for(var _len8=arguments.length,args=new Array(_len8>1?_len8-1:0),_key8=1;_key8<_len8;_key8++){args[_key8-1]=arguments[_key8];}return defer(()=>fn(...args));};}var _defer;if(hasQueueMicrotask){_defer=queueMicrotask;}else if(hasSetImmediate){_defer=setImmediate;}else if(hasNextTick){_defer=process.nextTick;}else{_defer=fallback;}exports.default=wrap(_defer);}).call(this);}).call(this,require('_process'),require("timers").setImmediate);},{"_process":256,"timers":344}],31:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=_withoutIndex;function _withoutIndex(iteratee){return(value,index,callback)=>iteratee(value,callback);}module.exports=exports.default;},{}],32:[function(require,module,exports){'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.isAsyncIterable=exports.isAsyncGenerator=exports.isAsync=undefined;var _asyncify=require('../asyncify.js');var _asyncify2=_interopRequireDefault(_asyncify);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function isAsync(fn){return fn[Symbol.toStringTag]==='AsyncFunction';}function isAsyncGenerator(fn){return fn[Symbol.toStringTag]==='AsyncGenerator';}function isAsyncIterable(obj){return typeof obj[Symbol.asyncIterator]==='function';}function wrapAsync(asyncFn){if(typeof asyncFn!=='function')throw new Error('expected a function');return isAsync(asyncFn)?(0,_asyncify2.default)(asyncFn):asyncFn;}exports.default=wrapAsync;exports.isAsync=isAsync;exports.isAsyncGenerator=isAsyncGenerator;exports.isAsyncIterable=isAsyncIterable;},{"../asyncify.js":17}],33:[function(require,module,exports){'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _once=require('./internal/once.js');var _once2=_interopRequireDefault(_once);var _onlyOnce=require('./internal/onlyOnce.js');var _onlyOnce2=_interopRequireDefault(_onlyOnce);var _wrapAsync=require('./internal/wrapAsync.js');var _wrapAsync2=_interopRequireDefault(_wrapAsync);var _awaitify=require('./internal/awaitify.js');var _awaitify2=_interopRequireDefault(_awaitify);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}/**
400
+ const breakLoop={};exports.default=breakLoop;module.exports=exports.default;},{}],23:[function(require,module,exports){'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _once=require('./once.js');var _once2=_interopRequireDefault(_once);var _iterator=require('./iterator.js');var _iterator2=_interopRequireDefault(_iterator);var _onlyOnce=require('./onlyOnce.js');var _onlyOnce2=_interopRequireDefault(_onlyOnce);var _wrapAsync=require('./wrapAsync.js');var _asyncEachOfLimit=require('./asyncEachOfLimit.js');var _asyncEachOfLimit2=_interopRequireDefault(_asyncEachOfLimit);var _breakLoop=require('./breakLoop.js');var _breakLoop2=_interopRequireDefault(_breakLoop);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}exports.default=limit=>{return(obj,iteratee,callback)=>{callback=(0,_once2.default)(callback);if(limit<=0){throw new RangeError('concurrency limit cannot be less than 1');}if(!obj){return callback(null);}if((0,_wrapAsync.isAsyncGenerator)(obj)){return(0,_asyncEachOfLimit2.default)(obj,limit,iteratee,callback);}if((0,_wrapAsync.isAsyncIterable)(obj)){return(0,_asyncEachOfLimit2.default)(obj[Symbol.asyncIterator](),limit,iteratee,callback);}var nextElem=(0,_iterator2.default)(obj);var done=false;var canceled=false;var running=0;var looping=false;function iterateeCallback(err,value){if(canceled)return;running-=1;if(err){done=true;callback(err);}else if(err===false){done=true;canceled=true;}else if(value===_breakLoop2.default||done&&running<=0){done=true;return callback(null);}else if(!looping){replenish();}}function replenish(){looping=true;while(running<limit&&!done){var elem=nextElem();if(elem===null){done=true;if(running<=0){callback(null);}return;}running+=1;iteratee(elem.value,elem.key,(0,_onlyOnce2.default)(iterateeCallback));}looping=false;}replenish();};};module.exports=exports.default;},{"./asyncEachOfLimit.js":20,"./breakLoop.js":22,"./iterator.js":27,"./once.js":28,"./onlyOnce.js":29,"./wrapAsync.js":32}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(coll){return coll[Symbol.iterator]&&coll[Symbol.iterator]();};module.exports=exports.default;},{}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(fn){return function(){for(var _len5=arguments.length,args=new Array(_len5),_key5=0;_key5<_len5;_key5++){args[_key5]=arguments[_key5];}var callback=args.pop();return fn.call(this,args,callback);};};module.exports=exports.default;},{}],26:[function(require,module,exports){'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.default=isArrayLike;function isArrayLike(value){return value&&typeof value.length==='number'&&value.length>=0&&value.length%1===0;}module.exports=exports.default;},{}],27:[function(require,module,exports){'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.default=createIterator;var _isArrayLike=require('./isArrayLike.js');var _isArrayLike2=_interopRequireDefault(_isArrayLike);var _getIterator=require('./getIterator.js');var _getIterator2=_interopRequireDefault(_getIterator);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function createArrayIterator(coll){var i=-1;var len=coll.length;return function next(){return++i<len?{value:coll[i],key:i}:null;};}function createES2015Iterator(iterator){var i=-1;return function next(){var item=iterator.next();if(item.done)return null;i++;return{value:item.value,key:i};};}function createObjectIterator(obj){var okeys=obj?Object.keys(obj):[];var i=-1;var len=okeys.length;return function next(){var key=okeys[++i];if(key==='__proto__'){return next();}return i<len?{value:obj[key],key}:null;};}function createIterator(coll){if((0,_isArrayLike2.default)(coll)){return createArrayIterator(coll);}var iterator=(0,_getIterator2.default)(coll);return iterator?createES2015Iterator(iterator):createObjectIterator(coll);}module.exports=exports.default;},{"./getIterator.js":24,"./isArrayLike.js":26}],28:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=once;function once(fn){function wrapper(){if(fn===null)return;var callFn=fn;fn=null;for(var _len6=arguments.length,args=new Array(_len6),_key6=0;_key6<_len6;_key6++){args[_key6]=arguments[_key6];}callFn.apply(this,args);}Object.assign(wrapper,fn);return wrapper;}module.exports=exports.default;},{}],29:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=onlyOnce;function onlyOnce(fn){return function(){if(fn===null)throw new Error("Callback was already called.");var callFn=fn;fn=null;for(var _len7=arguments.length,args=new Array(_len7),_key7=0;_key7<_len7;_key7++){args[_key7]=arguments[_key7];}callFn.apply(this,args);};}module.exports=exports.default;},{}],30:[function(require,module,exports){(function(process,setImmediate){(function(){'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.fallback=fallback;exports.wrap=wrap;/* istanbul ignore file */var hasQueueMicrotask=exports.hasQueueMicrotask=typeof queueMicrotask==='function'&&queueMicrotask;var hasSetImmediate=exports.hasSetImmediate=typeof setImmediate==='function'&&setImmediate;var hasNextTick=exports.hasNextTick=typeof process==='object'&&typeof process.nextTick==='function';function fallback(fn){setTimeout(fn,0);}function wrap(defer){return function(fn){for(var _len8=arguments.length,args=new Array(_len8>1?_len8-1:0),_key8=1;_key8<_len8;_key8++){args[_key8-1]=arguments[_key8];}return defer(()=>fn(...args));};}var _defer;if(hasQueueMicrotask){_defer=queueMicrotask;}else if(hasSetImmediate){_defer=setImmediate;}else if(hasNextTick){_defer=process.nextTick;}else{_defer=fallback;}exports.default=wrap(_defer);}).call(this);}).call(this,require('_process'),require("timers").setImmediate);},{"_process":258,"timers":346}],31:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=_withoutIndex;function _withoutIndex(iteratee){return(value,index,callback)=>iteratee(value,callback);}module.exports=exports.default;},{}],32:[function(require,module,exports){'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.isAsyncIterable=exports.isAsyncGenerator=exports.isAsync=undefined;var _asyncify=require('../asyncify.js');var _asyncify2=_interopRequireDefault(_asyncify);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function isAsync(fn){return fn[Symbol.toStringTag]==='AsyncFunction';}function isAsyncGenerator(fn){return fn[Symbol.toStringTag]==='AsyncGenerator';}function isAsyncIterable(obj){return typeof obj[Symbol.asyncIterator]==='function';}function wrapAsync(asyncFn){if(typeof asyncFn!=='function')throw new Error('expected a function');return isAsync(asyncFn)?(0,_asyncify2.default)(asyncFn):asyncFn;}exports.default=wrapAsync;exports.isAsync=isAsync;exports.isAsyncGenerator=isAsyncGenerator;exports.isAsyncIterable=isAsyncIterable;},{"../asyncify.js":17}],33:[function(require,module,exports){'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _once=require('./internal/once.js');var _once2=_interopRequireDefault(_once);var _onlyOnce=require('./internal/onlyOnce.js');var _onlyOnce2=_interopRequireDefault(_onlyOnce);var _wrapAsync=require('./internal/wrapAsync.js');var _wrapAsync2=_interopRequireDefault(_wrapAsync);var _awaitify=require('./internal/awaitify.js');var _awaitify2=_interopRequireDefault(_awaitify);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}/**
401
401
  * Runs the `tasks` array of functions in series, each passing their results to
402
402
  * the next in the array. However, if any of the `tasks` pass an error to their
403
403
  * own callback, the next function is not executed, and the main `callback` is
@@ -454,7 +454,7 @@ const breakLoop={};exports.default=breakLoop;module.exports=exports.default;},{}
454
454
  * callback(null, 'done');
455
455
  * }
456
456
  */function waterfall(tasks,callback){callback=(0,_once2.default)(callback);if(!Array.isArray(tasks))return callback(new Error('First argument to waterfall must be an array of functions'));if(!tasks.length)return callback();var taskIndex=0;function nextTask(args){var task=(0,_wrapAsync2.default)(tasks[taskIndex++]);task(...args,(0,_onlyOnce2.default)(next));}function next(err){if(err===false)return;for(var _len9=arguments.length,args=new Array(_len9>1?_len9-1:0),_key9=1;_key9<_len9;_key9++){args[_key9-1]=arguments[_key9];}if(err||taskIndex===tasks.length){return callback(err,...args);}nextTask(args);}nextTask([]);}exports.default=(0,_awaitify2.default)(waterfall);module.exports=exports.default;},{"./internal/awaitify.js":21,"./internal/once.js":28,"./internal/onlyOnce.js":29,"./internal/wrapAsync.js":32}],34:[function(require,module,exports){(function(global){(function(){'use strict';var possibleNames=require('possible-typed-array-names');var g=typeof globalThis==='undefined'?global:globalThis;/** @type {import('.')} */module.exports=function availableTypedArrays(){var/** @type {ReturnType<typeof availableTypedArrays>} */out=[];for(var i=0;i<possibleNames.length;i++){if(typeof g[possibleNames[i]]==='function'){// @ts-expect-error
457
- out[out.length]=possibleNames[i];}}return out;};}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"possible-typed-array-names":254}],35:[function(require,module,exports){'use strict';exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=='undefined'?Uint8Array:Array;var code='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';for(var i=0,len=code.length;i<len;++i){lookup[i]=code[i];revLookup[code.charCodeAt(i)]=i;}// Support decoding URL-safe base64 strings, as Node.js does.
457
+ out[out.length]=possibleNames[i];}}return out;};}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"possible-typed-array-names":256}],35:[function(require,module,exports){'use strict';exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=='undefined'?Uint8Array:Array;var code='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';for(var i=0,len=code.length;i<len;++i){lookup[i]=code[i];revLookup[code.charCodeAt(i)]=i;}// Support decoding URL-safe base64 strings, as Node.js does.
458
458
  // See: https://en.wikipedia.org/wiki/Base64#URL_applications
459
459
  revLookup['-'.charCodeAt(0)]=62;revLookup['_'.charCodeAt(0)]=63;function getLens(b64){var len=b64.length;if(len%4>0){throw new Error('Invalid string. Length must be a multiple of 4');}// Trim off extra bytes after placeholder bytes are found
460
460
  // See: https://github.com/beatgammit/base64-js/issues/42
@@ -690,18 +690,18 @@ var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^sx&0xff^0x63;SBOX[x]=sx;INV_SBOX[sx]
690
690
  var x2=d[x];var x4=d[x2];var x8=d[x4];// Compute sub bytes, mix columns tables
691
691
  var t=d[sx]*0x101^sx*0x1010100;SUB_MIX[0][x]=t<<24|t>>>8;SUB_MIX[1][x]=t<<16|t>>>16;SUB_MIX[2][x]=t<<8|t>>>24;SUB_MIX[3][x]=t;// Compute inv sub bytes, inv mix columns tables
692
692
  t=x8*0x1010101^x4*0x10001^x2*0x101^x*0x1010100;INV_SUB_MIX[0][sx]=t<<24|t>>>8;INV_SUB_MIX[1][sx]=t<<16|t>>>16;INV_SUB_MIX[2][sx]=t<<8|t>>>24;INV_SUB_MIX[3][sx]=t;if(x===0){x=xi=1;}else{x=x2^d[d[d[x8^x2]]];xi^=d[d[xi]];}}return{SBOX:SBOX,INV_SBOX:INV_SBOX,SUB_MIX:SUB_MIX,INV_SUB_MIX:INV_SUB_MIX};}();function AES(key){this._key=asUInt32Array(key);this._reset();}AES.blockSize=4*4;AES.keySize=256/8;AES.prototype.blockSize=AES.blockSize;AES.prototype.keySize=AES.keySize;AES.prototype._reset=function(){var keyWords=this._key;var keySize=keyWords.length;var nRounds=keySize+6;var ksRows=(nRounds+1)*4;var keySchedule=[];for(var k=0;k<keySize;k++){keySchedule[k]=keyWords[k];}for(k=keySize;k<ksRows;k++){var t=keySchedule[k-1];if(k%keySize===0){t=t<<8|t>>>24;t=G.SBOX[t>>>24]<<24|G.SBOX[t>>>16&0xff]<<16|G.SBOX[t>>>8&0xff]<<8|G.SBOX[t&0xff];t^=RCON[k/keySize|0]<<24;}else if(keySize>6&&k%keySize===4){t=G.SBOX[t>>>24]<<24|G.SBOX[t>>>16&0xff]<<16|G.SBOX[t>>>8&0xff]<<8|G.SBOX[t&0xff];}keySchedule[k]=keySchedule[k-keySize]^t;}var invKeySchedule=[];for(var ik=0;ik<ksRows;ik++){var ksR=ksRows-ik;var tt=keySchedule[ksR-(ik%4?0:4)];if(ik<4||ksR<=4){invKeySchedule[ik]=tt;}else{invKeySchedule[ik]=G.INV_SUB_MIX[0][G.SBOX[tt>>>24]]^G.INV_SUB_MIX[1][G.SBOX[tt>>>16&0xff]]^G.INV_SUB_MIX[2][G.SBOX[tt>>>8&0xff]]^G.INV_SUB_MIX[3][G.SBOX[tt&0xff]];}}this._nRounds=nRounds;this._keySchedule=keySchedule;this._invKeySchedule=invKeySchedule;};AES.prototype.encryptBlockRaw=function(M){M=asUInt32Array(M);return cryptBlock(M,this._keySchedule,G.SUB_MIX,G.SBOX,this._nRounds);};AES.prototype.encryptBlock=function(M){var out=this.encryptBlockRaw(M);var buf=Buffer.allocUnsafe(16);buf.writeUInt32BE(out[0],0);buf.writeUInt32BE(out[1],4);buf.writeUInt32BE(out[2],8);buf.writeUInt32BE(out[3],12);return buf;};AES.prototype.decryptBlock=function(M){M=asUInt32Array(M);// swap
693
- var m1=M[1];M[1]=M[3];M[3]=m1;var out=cryptBlock(M,this._invKeySchedule,G.INV_SUB_MIX,G.INV_SBOX,this._nRounds);var buf=Buffer.allocUnsafe(16);buf.writeUInt32BE(out[0],0);buf.writeUInt32BE(out[3],4);buf.writeUInt32BE(out[2],8);buf.writeUInt32BE(out[1],12);return buf;};AES.prototype.scrub=function(){scrubVec(this._keySchedule);scrubVec(this._invKeySchedule);scrubVec(this._key);};module.exports.AES=AES;},{"safe-buffer":291}],40:[function(require,module,exports){var aes=require('./aes');var Buffer=require('safe-buffer').Buffer;var Transform=require('cipher-base');var inherits=require('inherits');var GHASH=require('./ghash');var xor=require('buffer-xor');var incr32=require('./incr32');function xorTest(a,b){var out=0;if(a.length!==b.length)out++;var len=Math.min(a.length,b.length);for(var i=0;i<len;++i){out+=a[i]^b[i];}return out;}function calcIv(self,iv,ck){if(iv.length===12){self._finID=Buffer.concat([iv,Buffer.from([0,0,0,1])]);return Buffer.concat([iv,Buffer.from([0,0,0,2])]);}var ghash=new GHASH(ck);var len=iv.length;var toPad=len%16;ghash.update(iv);if(toPad){toPad=16-toPad;ghash.update(Buffer.alloc(toPad,0));}ghash.update(Buffer.alloc(8,0));var ivBits=len*8;var tail=Buffer.alloc(8);tail.writeUIntBE(ivBits,0,8);ghash.update(tail);self._finID=ghash.state;var out=Buffer.from(self._finID);incr32(out);return out;}function StreamCipher(mode,key,iv,decrypt){Transform.call(this);var h=Buffer.alloc(4,0);this._cipher=new aes.AES(key);var ck=this._cipher.encryptBlock(h);this._ghash=new GHASH(ck);iv=calcIv(this,iv,ck);this._prev=Buffer.from(iv);this._cache=Buffer.allocUnsafe(0);this._secCache=Buffer.allocUnsafe(0);this._decrypt=decrypt;this._alen=0;this._len=0;this._mode=mode;this._authTag=null;this._called=false;}inherits(StreamCipher,Transform);StreamCipher.prototype._update=function(chunk){if(!this._called&&this._alen){var rump=16-this._alen%16;if(rump<16){rump=Buffer.alloc(rump,0);this._ghash.update(rump);}}this._called=true;var out=this._mode.encrypt(this,chunk);if(this._decrypt){this._ghash.update(chunk);}else{this._ghash.update(out);}this._len+=chunk.length;return out;};StreamCipher.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error('Unsupported state or unable to authenticate data');var tag=xor(this._ghash.final(this._alen*8,this._len*8),this._cipher.encryptBlock(this._finID));if(this._decrypt&&xorTest(tag,this._authTag))throw new Error('Unsupported state or unable to authenticate data');this._authTag=tag;this._cipher.scrub();};StreamCipher.prototype.getAuthTag=function getAuthTag(){if(this._decrypt||!Buffer.isBuffer(this._authTag))throw new Error('Attempting to get auth tag in unsupported state');return this._authTag;};StreamCipher.prototype.setAuthTag=function setAuthTag(tag){if(!this._decrypt)throw new Error('Attempting to set auth tag in unsupported state');this._authTag=tag;};StreamCipher.prototype.setAAD=function setAAD(buf){if(this._called)throw new Error('Attempting to set AAD in unsupported state');this._ghash.update(buf);this._alen+=buf.length;};module.exports=StreamCipher;},{"./aes":39,"./ghash":44,"./incr32":45,"buffer-xor":82,"cipher-base":93,"inherits":189,"safe-buffer":291}],41:[function(require,module,exports){var ciphers=require('./encrypter');var deciphers=require('./decrypter');var modes=require('./modes/list.json');function getCiphers(){return Object.keys(modes);}exports.createCipher=exports.Cipher=ciphers.createCipher;exports.createCipheriv=exports.Cipheriv=ciphers.createCipheriv;exports.createDecipher=exports.Decipher=deciphers.createDecipher;exports.createDecipheriv=exports.Decipheriv=deciphers.createDecipheriv;exports.listCiphers=exports.getCiphers=getCiphers;},{"./decrypter":42,"./encrypter":43,"./modes/list.json":53}],42:[function(require,module,exports){var AuthCipher=require('./authCipher');var Buffer=require('safe-buffer').Buffer;var MODES=require('./modes');var StreamCipher=require('./streamCipher');var Transform=require('cipher-base');var aes=require('./aes');var ebtk=require('evp_bytestokey');var inherits=require('inherits');function Decipher(mode,key,iv){Transform.call(this);this._cache=new Splitter();this._last=void 0;this._cipher=new aes.AES(key);this._prev=Buffer.from(iv);this._mode=mode;this._autopadding=true;}inherits(Decipher,Transform);Decipher.prototype._update=function(data){this._cache.add(data);var chunk;var thing;var out=[];while(chunk=this._cache.get(this._autopadding)){thing=this._mode.decrypt(this,chunk);out.push(thing);}return Buffer.concat(out);};Decipher.prototype._final=function(){var chunk=this._cache.flush();if(this._autopadding){return unpad(this._mode.decrypt(this,chunk));}else if(chunk){throw new Error('data not multiple of block length');}};Decipher.prototype.setAutoPadding=function(setTo){this._autopadding=!!setTo;return this;};function Splitter(){this.cache=Buffer.allocUnsafe(0);}Splitter.prototype.add=function(data){this.cache=Buffer.concat([this.cache,data]);};Splitter.prototype.get=function(autoPadding){var out;if(autoPadding){if(this.cache.length>16){out=this.cache.slice(0,16);this.cache=this.cache.slice(16);return out;}}else{if(this.cache.length>=16){out=this.cache.slice(0,16);this.cache=this.cache.slice(16);return out;}}return null;};Splitter.prototype.flush=function(){if(this.cache.length)return this.cache;};function unpad(last){var padded=last[15];if(padded<1||padded>16){throw new Error('unable to decrypt data');}var i=-1;while(++i<padded){if(last[i+(16-padded)]!==padded){throw new Error('unable to decrypt data');}}if(padded===16)return;return last.slice(0,16-padded);}function createDecipheriv(suite,password,iv){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError('invalid suite type');if(typeof iv==='string')iv=Buffer.from(iv);if(config.mode!=='GCM'&&iv.length!==config.iv)throw new TypeError('invalid iv length '+iv.length);if(typeof password==='string')password=Buffer.from(password);if(password.length!==config.key/8)throw new TypeError('invalid key length '+password.length);if(config.type==='stream'){return new StreamCipher(config.module,password,iv,true);}else if(config.type==='auth'){return new AuthCipher(config.module,password,iv,true);}return new Decipher(config.module,password,iv);}function createDecipher(suite,password){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError('invalid suite type');var keys=ebtk(password,false,config.key,config.iv);return createDecipheriv(suite,keys.key,keys.iv);}exports.createDecipher=createDecipher;exports.createDecipheriv=createDecipheriv;},{"./aes":39,"./authCipher":40,"./modes":52,"./streamCipher":55,"cipher-base":93,"evp_bytestokey":142,"inherits":189,"safe-buffer":291}],43:[function(require,module,exports){var MODES=require('./modes');var AuthCipher=require('./authCipher');var Buffer=require('safe-buffer').Buffer;var StreamCipher=require('./streamCipher');var Transform=require('cipher-base');var aes=require('./aes');var ebtk=require('evp_bytestokey');var inherits=require('inherits');function Cipher(mode,key,iv){Transform.call(this);this._cache=new Splitter();this._cipher=new aes.AES(key);this._prev=Buffer.from(iv);this._mode=mode;this._autopadding=true;}inherits(Cipher,Transform);Cipher.prototype._update=function(data){this._cache.add(data);var chunk;var thing;var out=[];while(chunk=this._cache.get()){thing=this._mode.encrypt(this,chunk);out.push(thing);}return Buffer.concat(out);};var PADDING=Buffer.alloc(16,0x10);Cipher.prototype._final=function(){var chunk=this._cache.flush();if(this._autopadding){chunk=this._mode.encrypt(this,chunk);this._cipher.scrub();return chunk;}if(!chunk.equals(PADDING)){this._cipher.scrub();throw new Error('data not multiple of block length');}};Cipher.prototype.setAutoPadding=function(setTo){this._autopadding=!!setTo;return this;};function Splitter(){this.cache=Buffer.allocUnsafe(0);}Splitter.prototype.add=function(data){this.cache=Buffer.concat([this.cache,data]);};Splitter.prototype.get=function(){if(this.cache.length>15){var out=this.cache.slice(0,16);this.cache=this.cache.slice(16);return out;}return null;};Splitter.prototype.flush=function(){var len=16-this.cache.length;var padBuff=Buffer.allocUnsafe(len);var i=-1;while(++i<len){padBuff.writeUInt8(len,i);}return Buffer.concat([this.cache,padBuff]);};function createCipheriv(suite,password,iv){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError('invalid suite type');if(typeof password==='string')password=Buffer.from(password);if(password.length!==config.key/8)throw new TypeError('invalid key length '+password.length);if(typeof iv==='string')iv=Buffer.from(iv);if(config.mode!=='GCM'&&iv.length!==config.iv)throw new TypeError('invalid iv length '+iv.length);if(config.type==='stream'){return new StreamCipher(config.module,password,iv);}else if(config.type==='auth'){return new AuthCipher(config.module,password,iv);}return new Cipher(config.module,password,iv);}function createCipher(suite,password){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError('invalid suite type');var keys=ebtk(password,false,config.key,config.iv);return createCipheriv(suite,keys.key,keys.iv);}exports.createCipheriv=createCipheriv;exports.createCipher=createCipher;},{"./aes":39,"./authCipher":40,"./modes":52,"./streamCipher":55,"cipher-base":93,"evp_bytestokey":142,"inherits":189,"safe-buffer":291}],44:[function(require,module,exports){var Buffer=require('safe-buffer').Buffer;var ZEROES=Buffer.alloc(16,0);function toArray(buf){return[buf.readUInt32BE(0),buf.readUInt32BE(4),buf.readUInt32BE(8),buf.readUInt32BE(12)];}function fromArray(out){var buf=Buffer.allocUnsafe(16);buf.writeUInt32BE(out[0]>>>0,0);buf.writeUInt32BE(out[1]>>>0,4);buf.writeUInt32BE(out[2]>>>0,8);buf.writeUInt32BE(out[3]>>>0,12);return buf;}function GHASH(key){this.h=key;this.state=Buffer.alloc(16,0);this.cache=Buffer.allocUnsafe(0);}// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html
693
+ var m1=M[1];M[1]=M[3];M[3]=m1;var out=cryptBlock(M,this._invKeySchedule,G.INV_SUB_MIX,G.INV_SBOX,this._nRounds);var buf=Buffer.allocUnsafe(16);buf.writeUInt32BE(out[0],0);buf.writeUInt32BE(out[3],4);buf.writeUInt32BE(out[2],8);buf.writeUInt32BE(out[1],12);return buf;};AES.prototype.scrub=function(){scrubVec(this._keySchedule);scrubVec(this._invKeySchedule);scrubVec(this._key);};module.exports.AES=AES;},{"safe-buffer":293}],40:[function(require,module,exports){var aes=require('./aes');var Buffer=require('safe-buffer').Buffer;var Transform=require('cipher-base');var inherits=require('inherits');var GHASH=require('./ghash');var xor=require('buffer-xor');var incr32=require('./incr32');function xorTest(a,b){var out=0;if(a.length!==b.length)out++;var len=Math.min(a.length,b.length);for(var i=0;i<len;++i){out+=a[i]^b[i];}return out;}function calcIv(self,iv,ck){if(iv.length===12){self._finID=Buffer.concat([iv,Buffer.from([0,0,0,1])]);return Buffer.concat([iv,Buffer.from([0,0,0,2])]);}var ghash=new GHASH(ck);var len=iv.length;var toPad=len%16;ghash.update(iv);if(toPad){toPad=16-toPad;ghash.update(Buffer.alloc(toPad,0));}ghash.update(Buffer.alloc(8,0));var ivBits=len*8;var tail=Buffer.alloc(8);tail.writeUIntBE(ivBits,0,8);ghash.update(tail);self._finID=ghash.state;var out=Buffer.from(self._finID);incr32(out);return out;}function StreamCipher(mode,key,iv,decrypt){Transform.call(this);var h=Buffer.alloc(4,0);this._cipher=new aes.AES(key);var ck=this._cipher.encryptBlock(h);this._ghash=new GHASH(ck);iv=calcIv(this,iv,ck);this._prev=Buffer.from(iv);this._cache=Buffer.allocUnsafe(0);this._secCache=Buffer.allocUnsafe(0);this._decrypt=decrypt;this._alen=0;this._len=0;this._mode=mode;this._authTag=null;this._called=false;}inherits(StreamCipher,Transform);StreamCipher.prototype._update=function(chunk){if(!this._called&&this._alen){var rump=16-this._alen%16;if(rump<16){rump=Buffer.alloc(rump,0);this._ghash.update(rump);}}this._called=true;var out=this._mode.encrypt(this,chunk);if(this._decrypt){this._ghash.update(chunk);}else{this._ghash.update(out);}this._len+=chunk.length;return out;};StreamCipher.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error('Unsupported state or unable to authenticate data');var tag=xor(this._ghash.final(this._alen*8,this._len*8),this._cipher.encryptBlock(this._finID));if(this._decrypt&&xorTest(tag,this._authTag))throw new Error('Unsupported state or unable to authenticate data');this._authTag=tag;this._cipher.scrub();};StreamCipher.prototype.getAuthTag=function getAuthTag(){if(this._decrypt||!Buffer.isBuffer(this._authTag))throw new Error('Attempting to get auth tag in unsupported state');return this._authTag;};StreamCipher.prototype.setAuthTag=function setAuthTag(tag){if(!this._decrypt)throw new Error('Attempting to set auth tag in unsupported state');this._authTag=tag;};StreamCipher.prototype.setAAD=function setAAD(buf){if(this._called)throw new Error('Attempting to set AAD in unsupported state');this._ghash.update(buf);this._alen+=buf.length;};module.exports=StreamCipher;},{"./aes":39,"./ghash":44,"./incr32":45,"buffer-xor":82,"cipher-base":93,"inherits":190,"safe-buffer":293}],41:[function(require,module,exports){var ciphers=require('./encrypter');var deciphers=require('./decrypter');var modes=require('./modes/list.json');function getCiphers(){return Object.keys(modes);}exports.createCipher=exports.Cipher=ciphers.createCipher;exports.createCipheriv=exports.Cipheriv=ciphers.createCipheriv;exports.createDecipher=exports.Decipher=deciphers.createDecipher;exports.createDecipheriv=exports.Decipheriv=deciphers.createDecipheriv;exports.listCiphers=exports.getCiphers=getCiphers;},{"./decrypter":42,"./encrypter":43,"./modes/list.json":53}],42:[function(require,module,exports){var AuthCipher=require('./authCipher');var Buffer=require('safe-buffer').Buffer;var MODES=require('./modes');var StreamCipher=require('./streamCipher');var Transform=require('cipher-base');var aes=require('./aes');var ebtk=require('evp_bytestokey');var inherits=require('inherits');function Decipher(mode,key,iv){Transform.call(this);this._cache=new Splitter();this._last=void 0;this._cipher=new aes.AES(key);this._prev=Buffer.from(iv);this._mode=mode;this._autopadding=true;}inherits(Decipher,Transform);Decipher.prototype._update=function(data){this._cache.add(data);var chunk;var thing;var out=[];while(chunk=this._cache.get(this._autopadding)){thing=this._mode.decrypt(this,chunk);out.push(thing);}return Buffer.concat(out);};Decipher.prototype._final=function(){var chunk=this._cache.flush();if(this._autopadding){return unpad(this._mode.decrypt(this,chunk));}else if(chunk){throw new Error('data not multiple of block length');}};Decipher.prototype.setAutoPadding=function(setTo){this._autopadding=!!setTo;return this;};function Splitter(){this.cache=Buffer.allocUnsafe(0);}Splitter.prototype.add=function(data){this.cache=Buffer.concat([this.cache,data]);};Splitter.prototype.get=function(autoPadding){var out;if(autoPadding){if(this.cache.length>16){out=this.cache.slice(0,16);this.cache=this.cache.slice(16);return out;}}else{if(this.cache.length>=16){out=this.cache.slice(0,16);this.cache=this.cache.slice(16);return out;}}return null;};Splitter.prototype.flush=function(){if(this.cache.length)return this.cache;};function unpad(last){var padded=last[15];if(padded<1||padded>16){throw new Error('unable to decrypt data');}var i=-1;while(++i<padded){if(last[i+(16-padded)]!==padded){throw new Error('unable to decrypt data');}}if(padded===16)return;return last.slice(0,16-padded);}function createDecipheriv(suite,password,iv){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError('invalid suite type');if(typeof iv==='string')iv=Buffer.from(iv);if(config.mode!=='GCM'&&iv.length!==config.iv)throw new TypeError('invalid iv length '+iv.length);if(typeof password==='string')password=Buffer.from(password);if(password.length!==config.key/8)throw new TypeError('invalid key length '+password.length);if(config.type==='stream'){return new StreamCipher(config.module,password,iv,true);}else if(config.type==='auth'){return new AuthCipher(config.module,password,iv,true);}return new Decipher(config.module,password,iv);}function createDecipher(suite,password){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError('invalid suite type');var keys=ebtk(password,false,config.key,config.iv);return createDecipheriv(suite,keys.key,keys.iv);}exports.createDecipher=createDecipher;exports.createDecipheriv=createDecipheriv;},{"./aes":39,"./authCipher":40,"./modes":52,"./streamCipher":55,"cipher-base":93,"evp_bytestokey":142,"inherits":190,"safe-buffer":293}],43:[function(require,module,exports){var MODES=require('./modes');var AuthCipher=require('./authCipher');var Buffer=require('safe-buffer').Buffer;var StreamCipher=require('./streamCipher');var Transform=require('cipher-base');var aes=require('./aes');var ebtk=require('evp_bytestokey');var inherits=require('inherits');function Cipher(mode,key,iv){Transform.call(this);this._cache=new Splitter();this._cipher=new aes.AES(key);this._prev=Buffer.from(iv);this._mode=mode;this._autopadding=true;}inherits(Cipher,Transform);Cipher.prototype._update=function(data){this._cache.add(data);var chunk;var thing;var out=[];while(chunk=this._cache.get()){thing=this._mode.encrypt(this,chunk);out.push(thing);}return Buffer.concat(out);};var PADDING=Buffer.alloc(16,0x10);Cipher.prototype._final=function(){var chunk=this._cache.flush();if(this._autopadding){chunk=this._mode.encrypt(this,chunk);this._cipher.scrub();return chunk;}if(!chunk.equals(PADDING)){this._cipher.scrub();throw new Error('data not multiple of block length');}};Cipher.prototype.setAutoPadding=function(setTo){this._autopadding=!!setTo;return this;};function Splitter(){this.cache=Buffer.allocUnsafe(0);}Splitter.prototype.add=function(data){this.cache=Buffer.concat([this.cache,data]);};Splitter.prototype.get=function(){if(this.cache.length>15){var out=this.cache.slice(0,16);this.cache=this.cache.slice(16);return out;}return null;};Splitter.prototype.flush=function(){var len=16-this.cache.length;var padBuff=Buffer.allocUnsafe(len);var i=-1;while(++i<len){padBuff.writeUInt8(len,i);}return Buffer.concat([this.cache,padBuff]);};function createCipheriv(suite,password,iv){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError('invalid suite type');if(typeof password==='string')password=Buffer.from(password);if(password.length!==config.key/8)throw new TypeError('invalid key length '+password.length);if(typeof iv==='string')iv=Buffer.from(iv);if(config.mode!=='GCM'&&iv.length!==config.iv)throw new TypeError('invalid iv length '+iv.length);if(config.type==='stream'){return new StreamCipher(config.module,password,iv);}else if(config.type==='auth'){return new AuthCipher(config.module,password,iv);}return new Cipher(config.module,password,iv);}function createCipher(suite,password){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError('invalid suite type');var keys=ebtk(password,false,config.key,config.iv);return createCipheriv(suite,keys.key,keys.iv);}exports.createCipheriv=createCipheriv;exports.createCipher=createCipher;},{"./aes":39,"./authCipher":40,"./modes":52,"./streamCipher":55,"cipher-base":93,"evp_bytestokey":142,"inherits":190,"safe-buffer":293}],44:[function(require,module,exports){var Buffer=require('safe-buffer').Buffer;var ZEROES=Buffer.alloc(16,0);function toArray(buf){return[buf.readUInt32BE(0),buf.readUInt32BE(4),buf.readUInt32BE(8),buf.readUInt32BE(12)];}function fromArray(out){var buf=Buffer.allocUnsafe(16);buf.writeUInt32BE(out[0]>>>0,0);buf.writeUInt32BE(out[1]>>>0,4);buf.writeUInt32BE(out[2]>>>0,8);buf.writeUInt32BE(out[3]>>>0,12);return buf;}function GHASH(key){this.h=key;this.state=Buffer.alloc(16,0);this.cache=Buffer.allocUnsafe(0);}// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html
694
694
  // by Juho Vähä-Herttua
695
695
  GHASH.prototype.ghash=function(block){var i=-1;while(++i<block.length){this.state[i]^=block[i];}this._multiply();};GHASH.prototype._multiply=function(){var Vi=toArray(this.h);var Zi=[0,0,0,0];var j,xi,lsbVi;var i=-1;while(++i<128){xi=(this.state[~~(i/8)]&1<<7-i%8)!==0;if(xi){// Z_i+1 = Z_i ^ V_i
696
696
  Zi[0]^=Vi[0];Zi[1]^=Vi[1];Zi[2]^=Vi[2];Zi[3]^=Vi[3];}// Store the value of LSB(V_i)
697
697
  lsbVi=(Vi[3]&1)!==0;// V_i+1 = V_i >> 1
698
698
  for(j=3;j>0;j--){Vi[j]=Vi[j]>>>1|(Vi[j-1]&1)<<31;}Vi[0]=Vi[0]>>>1;// If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R
699
- if(lsbVi){Vi[0]=Vi[0]^0xe1<<24;}}this.state=fromArray(Zi);};GHASH.prototype.update=function(buf){this.cache=Buffer.concat([this.cache,buf]);var chunk;while(this.cache.length>=16){chunk=this.cache.slice(0,16);this.cache=this.cache.slice(16);this.ghash(chunk);}};GHASH.prototype.final=function(abl,bl){if(this.cache.length){this.ghash(Buffer.concat([this.cache,ZEROES],16));}this.ghash(fromArray([0,abl,0,bl]));return this.state;};module.exports=GHASH;},{"safe-buffer":291}],45:[function(require,module,exports){function incr32(iv){var len=iv.length;var item;while(len--){item=iv.readUInt8(len);if(item===255){iv.writeUInt8(0,len);}else{item++;iv.writeUInt8(item,len);break;}}}module.exports=incr32;},{}],46:[function(require,module,exports){var xor=require('buffer-xor');exports.encrypt=function(self,block){var data=xor(block,self._prev);self._prev=self._cipher.encryptBlock(data);return self._prev;};exports.decrypt=function(self,block){var pad=self._prev;self._prev=block;var out=self._cipher.decryptBlock(block);return xor(out,pad);};},{"buffer-xor":82}],47:[function(require,module,exports){var Buffer=require('safe-buffer').Buffer;var xor=require('buffer-xor');function encryptStart(self,data,decrypt){var len=data.length;var out=xor(data,self._cache);self._cache=self._cache.slice(len);self._prev=Buffer.concat([self._prev,decrypt?data:out]);return out;}exports.encrypt=function(self,data,decrypt){var out=Buffer.allocUnsafe(0);var len;while(data.length){if(self._cache.length===0){self._cache=self._cipher.encryptBlock(self._prev);self._prev=Buffer.allocUnsafe(0);}if(self._cache.length<=data.length){len=self._cache.length;out=Buffer.concat([out,encryptStart(self,data.slice(0,len),decrypt)]);data=data.slice(len);}else{out=Buffer.concat([out,encryptStart(self,data,decrypt)]);break;}}return out;};},{"buffer-xor":82,"safe-buffer":291}],48:[function(require,module,exports){var Buffer=require('safe-buffer').Buffer;function encryptByte(self,byteParam,decrypt){var pad;var i=-1;var len=8;var out=0;var bit,value;while(++i<len){pad=self._cipher.encryptBlock(self._prev);bit=byteParam&1<<7-i?0x80:0;value=pad[0]^bit;out+=(value&0x80)>>i%8;self._prev=shiftIn(self._prev,decrypt?bit:value);}return out;}function shiftIn(buffer,value){var len=buffer.length;var i=-1;var out=Buffer.allocUnsafe(buffer.length);buffer=Buffer.concat([buffer,Buffer.from([value])]);while(++i<len){out[i]=buffer[i]<<1|buffer[i+1]>>7;}return out;}exports.encrypt=function(self,chunk,decrypt){var len=chunk.length;var out=Buffer.allocUnsafe(len);var i=-1;while(++i<len){out[i]=encryptByte(self,chunk[i],decrypt);}return out;};},{"safe-buffer":291}],49:[function(require,module,exports){var Buffer=require('safe-buffer').Buffer;function encryptByte(self,byteParam,decrypt){var pad=self._cipher.encryptBlock(self._prev);var out=pad[0]^byteParam;self._prev=Buffer.concat([self._prev.slice(1),Buffer.from([decrypt?byteParam:out])]);return out;}exports.encrypt=function(self,chunk,decrypt){var len=chunk.length;var out=Buffer.allocUnsafe(len);var i=-1;while(++i<len){out[i]=encryptByte(self,chunk[i],decrypt);}return out;};},{"safe-buffer":291}],50:[function(require,module,exports){var xor=require('buffer-xor');var Buffer=require('safe-buffer').Buffer;var incr32=require('../incr32');function getBlock(self){var out=self._cipher.encryptBlockRaw(self._prev);incr32(self._prev);return out;}var blockSize=16;exports.encrypt=function(self,chunk){var chunkNum=Math.ceil(chunk.length/blockSize);var start=self._cache.length;self._cache=Buffer.concat([self._cache,Buffer.allocUnsafe(chunkNum*blockSize)]);for(var i=0;i<chunkNum;i++){var out=getBlock(self);var offset=start+i*blockSize;self._cache.writeUInt32BE(out[0],offset+0);self._cache.writeUInt32BE(out[1],offset+4);self._cache.writeUInt32BE(out[2],offset+8);self._cache.writeUInt32BE(out[3],offset+12);}var pad=self._cache.slice(0,chunk.length);self._cache=self._cache.slice(chunk.length);return xor(chunk,pad);};},{"../incr32":45,"buffer-xor":82,"safe-buffer":291}],51:[function(require,module,exports){exports.encrypt=function(self,block){return self._cipher.encryptBlock(block);};exports.decrypt=function(self,block){return self._cipher.decryptBlock(block);};},{}],52:[function(require,module,exports){var modeModules={ECB:require('./ecb'),CBC:require('./cbc'),CFB:require('./cfb'),CFB8:require('./cfb8'),CFB1:require('./cfb1'),OFB:require('./ofb'),CTR:require('./ctr'),GCM:require('./ctr')};var modes=require('./list.json');for(var key in modes){modes[key].module=modeModules[modes[key].mode];}module.exports=modes;},{"./cbc":46,"./cfb":47,"./cfb1":48,"./cfb8":49,"./ctr":50,"./ecb":51,"./list.json":53,"./ofb":54}],53:[function(require,module,exports){module.exports={"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}};},{}],54:[function(require,module,exports){(function(Buffer){(function(){var xor=require('buffer-xor');function getBlock(self){self._prev=self._cipher.encryptBlock(self._prev);return self._prev;}exports.encrypt=function(self,chunk){while(self._cache.length<chunk.length){self._cache=Buffer.concat([self._cache,getBlock(self)]);}var pad=self._cache.slice(0,chunk.length);self._cache=self._cache.slice(chunk.length);return xor(chunk,pad);};}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":83,"buffer-xor":82}],55:[function(require,module,exports){var aes=require('./aes');var Buffer=require('safe-buffer').Buffer;var Transform=require('cipher-base');var inherits=require('inherits');function StreamCipher(mode,key,iv,decrypt){Transform.call(this);this._cipher=new aes.AES(key);this._prev=Buffer.from(iv);this._cache=Buffer.allocUnsafe(0);this._secCache=Buffer.allocUnsafe(0);this._decrypt=decrypt;this._mode=mode;}inherits(StreamCipher,Transform);StreamCipher.prototype._update=function(chunk){return this._mode.encrypt(this,chunk,this._decrypt);};StreamCipher.prototype._final=function(){this._cipher.scrub();};module.exports=StreamCipher;},{"./aes":39,"cipher-base":93,"inherits":189,"safe-buffer":291}],56:[function(require,module,exports){var DES=require('browserify-des');var aes=require('browserify-aes/browser');var aesModes=require('browserify-aes/modes');var desModes=require('browserify-des/modes');var ebtk=require('evp_bytestokey');function createCipher(suite,password){suite=suite.toLowerCase();var keyLen,ivLen;if(aesModes[suite]){keyLen=aesModes[suite].key;ivLen=aesModes[suite].iv;}else if(desModes[suite]){keyLen=desModes[suite].key*8;ivLen=desModes[suite].iv;}else{throw new TypeError('invalid suite type');}var keys=ebtk(password,false,keyLen,ivLen);return createCipheriv(suite,keys.key,keys.iv);}function createDecipher(suite,password){suite=suite.toLowerCase();var keyLen,ivLen;if(aesModes[suite]){keyLen=aesModes[suite].key;ivLen=aesModes[suite].iv;}else if(desModes[suite]){keyLen=desModes[suite].key*8;ivLen=desModes[suite].iv;}else{throw new TypeError('invalid suite type');}var keys=ebtk(password,false,keyLen,ivLen);return createDecipheriv(suite,keys.key,keys.iv);}function createCipheriv(suite,key,iv){suite=suite.toLowerCase();if(aesModes[suite])return aes.createCipheriv(suite,key,iv);if(desModes[suite])return new DES({key:key,iv:iv,mode:suite});throw new TypeError('invalid suite type');}function createDecipheriv(suite,key,iv){suite=suite.toLowerCase();if(aesModes[suite])return aes.createDecipheriv(suite,key,iv);if(desModes[suite])return new DES({key:key,iv:iv,mode:suite,decrypt:true});throw new TypeError('invalid suite type');}function getCiphers(){return Object.keys(desModes).concat(aes.getCiphers());}exports.createCipher=exports.Cipher=createCipher;exports.createCipheriv=exports.Cipheriv=createCipheriv;exports.createDecipher=exports.Decipher=createDecipher;exports.createDecipheriv=exports.Decipheriv=createDecipheriv;exports.listCiphers=exports.getCiphers=getCiphers;},{"browserify-aes/browser":41,"browserify-aes/modes":52,"browserify-des":57,"browserify-des/modes":58,"evp_bytestokey":142}],57:[function(require,module,exports){var CipherBase=require('cipher-base');var des=require('des.js');var inherits=require('inherits');var Buffer=require('safe-buffer').Buffer;var modes={'des-ede3-cbc':des.CBC.instantiate(des.EDE),'des-ede3':des.EDE,'des-ede-cbc':des.CBC.instantiate(des.EDE),'des-ede':des.EDE,'des-cbc':des.CBC.instantiate(des.DES),'des-ecb':des.DES};modes.des=modes['des-cbc'];modes.des3=modes['des-ede3-cbc'];module.exports=DES;inherits(DES,CipherBase);function DES(opts){CipherBase.call(this);var modeName=opts.mode.toLowerCase();var mode=modes[modeName];var type;if(opts.decrypt){type='decrypt';}else{type='encrypt';}var key=opts.key;if(!Buffer.isBuffer(key)){key=Buffer.from(key);}if(modeName==='des-ede'||modeName==='des-ede-cbc'){key=Buffer.concat([key,key.slice(0,8)]);}var iv=opts.iv;if(!Buffer.isBuffer(iv)){iv=Buffer.from(iv);}this._des=mode.create({key:key,iv:iv,type:type});}DES.prototype._update=function(data){return Buffer.from(this._des.update(data));};DES.prototype._final=function(){return Buffer.from(this._des.final());};},{"cipher-base":93,"des.js":103,"inherits":189,"safe-buffer":291}],58:[function(require,module,exports){exports['des-ecb']={key:8,iv:0};exports['des-cbc']=exports.des={key:8,iv:8};exports['des-ede3-cbc']=exports.des3={key:24,iv:8};exports['des-ede3']={key:24,iv:0};exports['des-ede-cbc']={key:16,iv:8};exports['des-ede']={key:16,iv:0};},{}],59:[function(require,module,exports){'use strict';var BN=require('bn.js');var randomBytes=require('randombytes');var Buffer=require('safe-buffer').Buffer;function getr(priv){var len=priv.modulus.byteLength();var r;do{r=new BN(randomBytes(len));}while(r.cmp(priv.modulus)>=0||!r.umod(priv.prime1)||!r.umod(priv.prime2));return r;}function blind(priv){var r=getr(priv);var blinder=r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();return{blinder:blinder,unblinder:r.invm(priv.modulus)};}function crt(msg,priv){var blinds=blind(priv);var len=priv.modulus.byteLength();var blinded=new BN(msg).mul(blinds.blinder).umod(priv.modulus);var c1=blinded.toRed(BN.mont(priv.prime1));var c2=blinded.toRed(BN.mont(priv.prime2));var qinv=priv.coefficient;var p=priv.prime1;var q=priv.prime2;var m1=c1.redPow(priv.exponent1).fromRed();var m2=c2.redPow(priv.exponent2).fromRed();var h=m1.isub(m2).imul(qinv).umod(p).imul(q);return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer,'be',len);}crt.getr=getr;module.exports=crt;},{"bn.js":36,"randombytes":273,"safe-buffer":291}],60:[function(require,module,exports){'use strict';module.exports=require('./browser/algorithms.json');},{"./browser/algorithms.json":61}],61:[function(require,module,exports){module.exports={"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}};},{}],62:[function(require,module,exports){module.exports={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"};},{}],63:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var createHash=require('create-hash');var stream=require('readable-stream');var inherits=require('inherits');var sign=require('./sign');var verify=require('./verify');var algorithms=require('./algorithms.json');Object.keys(algorithms).forEach(function(key){algorithms[key].id=Buffer.from(algorithms[key].id,'hex');algorithms[key.toLowerCase()]=algorithms[key];});function Sign(algorithm){stream.Writable.call(this);var data=algorithms[algorithm];if(!data){throw new Error('Unknown message digest');}this._hashType=data.hash;this._hash=createHash(data.hash);this._tag=data.id;this._signType=data.sign;}inherits(Sign,stream.Writable);Sign.prototype._write=function _write(data,_,done){this._hash.update(data);done();};Sign.prototype.update=function update(data,enc){this._hash.update(typeof data==='string'?Buffer.from(data,enc):data);return this;};Sign.prototype.sign=function signMethod(key,enc){this.end();var hash=this._hash.digest();var sig=sign(hash,key,this._hashType,this._signType,this._tag);return enc?sig.toString(enc):sig;};function Verify(algorithm){stream.Writable.call(this);var data=algorithms[algorithm];if(!data){throw new Error('Unknown message digest');}this._hash=createHash(data.hash);this._tag=data.id;this._signType=data.sign;}inherits(Verify,stream.Writable);Verify.prototype._write=function _write(data,_,done){this._hash.update(data);done();};Verify.prototype.update=function update(data,enc){this._hash.update(typeof data==='string'?Buffer.from(data,enc):data);return this;};Verify.prototype.verify=function verifyMethod(key,sig,enc){var sigBuffer=typeof sig==='string'?Buffer.from(sig,enc):sig;this.end();var hash=this._hash.digest();return verify(sigBuffer,hash,key,this._signType,this._tag);};function createSign(algorithm){return new Sign(algorithm);}function createVerify(algorithm){return new Verify(algorithm);}module.exports={Sign:createSign,Verify:createVerify,createSign:createSign,createVerify:createVerify};},{"./algorithms.json":61,"./sign":64,"./verify":65,"create-hash":97,"inherits":189,"readable-stream":76,"safe-buffer":291}],64:[function(require,module,exports){'use strict';// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
699
+ if(lsbVi){Vi[0]=Vi[0]^0xe1<<24;}}this.state=fromArray(Zi);};GHASH.prototype.update=function(buf){this.cache=Buffer.concat([this.cache,buf]);var chunk;while(this.cache.length>=16){chunk=this.cache.slice(0,16);this.cache=this.cache.slice(16);this.ghash(chunk);}};GHASH.prototype.final=function(abl,bl){if(this.cache.length){this.ghash(Buffer.concat([this.cache,ZEROES],16));}this.ghash(fromArray([0,abl,0,bl]));return this.state;};module.exports=GHASH;},{"safe-buffer":293}],45:[function(require,module,exports){function incr32(iv){var len=iv.length;var item;while(len--){item=iv.readUInt8(len);if(item===255){iv.writeUInt8(0,len);}else{item++;iv.writeUInt8(item,len);break;}}}module.exports=incr32;},{}],46:[function(require,module,exports){var xor=require('buffer-xor');exports.encrypt=function(self,block){var data=xor(block,self._prev);self._prev=self._cipher.encryptBlock(data);return self._prev;};exports.decrypt=function(self,block){var pad=self._prev;self._prev=block;var out=self._cipher.decryptBlock(block);return xor(out,pad);};},{"buffer-xor":82}],47:[function(require,module,exports){var Buffer=require('safe-buffer').Buffer;var xor=require('buffer-xor');function encryptStart(self,data,decrypt){var len=data.length;var out=xor(data,self._cache);self._cache=self._cache.slice(len);self._prev=Buffer.concat([self._prev,decrypt?data:out]);return out;}exports.encrypt=function(self,data,decrypt){var out=Buffer.allocUnsafe(0);var len;while(data.length){if(self._cache.length===0){self._cache=self._cipher.encryptBlock(self._prev);self._prev=Buffer.allocUnsafe(0);}if(self._cache.length<=data.length){len=self._cache.length;out=Buffer.concat([out,encryptStart(self,data.slice(0,len),decrypt)]);data=data.slice(len);}else{out=Buffer.concat([out,encryptStart(self,data,decrypt)]);break;}}return out;};},{"buffer-xor":82,"safe-buffer":293}],48:[function(require,module,exports){var Buffer=require('safe-buffer').Buffer;function encryptByte(self,byteParam,decrypt){var pad;var i=-1;var len=8;var out=0;var bit,value;while(++i<len){pad=self._cipher.encryptBlock(self._prev);bit=byteParam&1<<7-i?0x80:0;value=pad[0]^bit;out+=(value&0x80)>>i%8;self._prev=shiftIn(self._prev,decrypt?bit:value);}return out;}function shiftIn(buffer,value){var len=buffer.length;var i=-1;var out=Buffer.allocUnsafe(buffer.length);buffer=Buffer.concat([buffer,Buffer.from([value])]);while(++i<len){out[i]=buffer[i]<<1|buffer[i+1]>>7;}return out;}exports.encrypt=function(self,chunk,decrypt){var len=chunk.length;var out=Buffer.allocUnsafe(len);var i=-1;while(++i<len){out[i]=encryptByte(self,chunk[i],decrypt);}return out;};},{"safe-buffer":293}],49:[function(require,module,exports){var Buffer=require('safe-buffer').Buffer;function encryptByte(self,byteParam,decrypt){var pad=self._cipher.encryptBlock(self._prev);var out=pad[0]^byteParam;self._prev=Buffer.concat([self._prev.slice(1),Buffer.from([decrypt?byteParam:out])]);return out;}exports.encrypt=function(self,chunk,decrypt){var len=chunk.length;var out=Buffer.allocUnsafe(len);var i=-1;while(++i<len){out[i]=encryptByte(self,chunk[i],decrypt);}return out;};},{"safe-buffer":293}],50:[function(require,module,exports){var xor=require('buffer-xor');var Buffer=require('safe-buffer').Buffer;var incr32=require('../incr32');function getBlock(self){var out=self._cipher.encryptBlockRaw(self._prev);incr32(self._prev);return out;}var blockSize=16;exports.encrypt=function(self,chunk){var chunkNum=Math.ceil(chunk.length/blockSize);var start=self._cache.length;self._cache=Buffer.concat([self._cache,Buffer.allocUnsafe(chunkNum*blockSize)]);for(var i=0;i<chunkNum;i++){var out=getBlock(self);var offset=start+i*blockSize;self._cache.writeUInt32BE(out[0],offset+0);self._cache.writeUInt32BE(out[1],offset+4);self._cache.writeUInt32BE(out[2],offset+8);self._cache.writeUInt32BE(out[3],offset+12);}var pad=self._cache.slice(0,chunk.length);self._cache=self._cache.slice(chunk.length);return xor(chunk,pad);};},{"../incr32":45,"buffer-xor":82,"safe-buffer":293}],51:[function(require,module,exports){exports.encrypt=function(self,block){return self._cipher.encryptBlock(block);};exports.decrypt=function(self,block){return self._cipher.decryptBlock(block);};},{}],52:[function(require,module,exports){var modeModules={ECB:require('./ecb'),CBC:require('./cbc'),CFB:require('./cfb'),CFB8:require('./cfb8'),CFB1:require('./cfb1'),OFB:require('./ofb'),CTR:require('./ctr'),GCM:require('./ctr')};var modes=require('./list.json');for(var key in modes){modes[key].module=modeModules[modes[key].mode];}module.exports=modes;},{"./cbc":46,"./cfb":47,"./cfb1":48,"./cfb8":49,"./ctr":50,"./ecb":51,"./list.json":53,"./ofb":54}],53:[function(require,module,exports){module.exports={"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}};},{}],54:[function(require,module,exports){(function(Buffer){(function(){var xor=require('buffer-xor');function getBlock(self){self._prev=self._cipher.encryptBlock(self._prev);return self._prev;}exports.encrypt=function(self,chunk){while(self._cache.length<chunk.length){self._cache=Buffer.concat([self._cache,getBlock(self)]);}var pad=self._cache.slice(0,chunk.length);self._cache=self._cache.slice(chunk.length);return xor(chunk,pad);};}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":83,"buffer-xor":82}],55:[function(require,module,exports){var aes=require('./aes');var Buffer=require('safe-buffer').Buffer;var Transform=require('cipher-base');var inherits=require('inherits');function StreamCipher(mode,key,iv,decrypt){Transform.call(this);this._cipher=new aes.AES(key);this._prev=Buffer.from(iv);this._cache=Buffer.allocUnsafe(0);this._secCache=Buffer.allocUnsafe(0);this._decrypt=decrypt;this._mode=mode;}inherits(StreamCipher,Transform);StreamCipher.prototype._update=function(chunk){return this._mode.encrypt(this,chunk,this._decrypt);};StreamCipher.prototype._final=function(){this._cipher.scrub();};module.exports=StreamCipher;},{"./aes":39,"cipher-base":93,"inherits":190,"safe-buffer":293}],56:[function(require,module,exports){var DES=require('browserify-des');var aes=require('browserify-aes/browser');var aesModes=require('browserify-aes/modes');var desModes=require('browserify-des/modes');var ebtk=require('evp_bytestokey');function createCipher(suite,password){suite=suite.toLowerCase();var keyLen,ivLen;if(aesModes[suite]){keyLen=aesModes[suite].key;ivLen=aesModes[suite].iv;}else if(desModes[suite]){keyLen=desModes[suite].key*8;ivLen=desModes[suite].iv;}else{throw new TypeError('invalid suite type');}var keys=ebtk(password,false,keyLen,ivLen);return createCipheriv(suite,keys.key,keys.iv);}function createDecipher(suite,password){suite=suite.toLowerCase();var keyLen,ivLen;if(aesModes[suite]){keyLen=aesModes[suite].key;ivLen=aesModes[suite].iv;}else if(desModes[suite]){keyLen=desModes[suite].key*8;ivLen=desModes[suite].iv;}else{throw new TypeError('invalid suite type');}var keys=ebtk(password,false,keyLen,ivLen);return createDecipheriv(suite,keys.key,keys.iv);}function createCipheriv(suite,key,iv){suite=suite.toLowerCase();if(aesModes[suite])return aes.createCipheriv(suite,key,iv);if(desModes[suite])return new DES({key:key,iv:iv,mode:suite});throw new TypeError('invalid suite type');}function createDecipheriv(suite,key,iv){suite=suite.toLowerCase();if(aesModes[suite])return aes.createDecipheriv(suite,key,iv);if(desModes[suite])return new DES({key:key,iv:iv,mode:suite,decrypt:true});throw new TypeError('invalid suite type');}function getCiphers(){return Object.keys(desModes).concat(aes.getCiphers());}exports.createCipher=exports.Cipher=createCipher;exports.createCipheriv=exports.Cipheriv=createCipheriv;exports.createDecipher=exports.Decipher=createDecipher;exports.createDecipheriv=exports.Decipheriv=createDecipheriv;exports.listCiphers=exports.getCiphers=getCiphers;},{"browserify-aes/browser":41,"browserify-aes/modes":52,"browserify-des":57,"browserify-des/modes":58,"evp_bytestokey":142}],57:[function(require,module,exports){var CipherBase=require('cipher-base');var des=require('des.js');var inherits=require('inherits');var Buffer=require('safe-buffer').Buffer;var modes={'des-ede3-cbc':des.CBC.instantiate(des.EDE),'des-ede3':des.EDE,'des-ede-cbc':des.CBC.instantiate(des.EDE),'des-ede':des.EDE,'des-cbc':des.CBC.instantiate(des.DES),'des-ecb':des.DES};modes.des=modes['des-cbc'];modes.des3=modes['des-ede3-cbc'];module.exports=DES;inherits(DES,CipherBase);function DES(opts){CipherBase.call(this);var modeName=opts.mode.toLowerCase();var mode=modes[modeName];var type;if(opts.decrypt){type='decrypt';}else{type='encrypt';}var key=opts.key;if(!Buffer.isBuffer(key)){key=Buffer.from(key);}if(modeName==='des-ede'||modeName==='des-ede-cbc'){key=Buffer.concat([key,key.slice(0,8)]);}var iv=opts.iv;if(!Buffer.isBuffer(iv)){iv=Buffer.from(iv);}this._des=mode.create({key:key,iv:iv,type:type});}DES.prototype._update=function(data){return Buffer.from(this._des.update(data));};DES.prototype._final=function(){return Buffer.from(this._des.final());};},{"cipher-base":93,"des.js":103,"inherits":190,"safe-buffer":293}],58:[function(require,module,exports){exports['des-ecb']={key:8,iv:0};exports['des-cbc']=exports.des={key:8,iv:8};exports['des-ede3-cbc']=exports.des3={key:24,iv:8};exports['des-ede3']={key:24,iv:0};exports['des-ede-cbc']={key:16,iv:8};exports['des-ede']={key:16,iv:0};},{}],59:[function(require,module,exports){'use strict';var BN=require('bn.js');var randomBytes=require('randombytes');var Buffer=require('safe-buffer').Buffer;function getr(priv){var len=priv.modulus.byteLength();var r;do{r=new BN(randomBytes(len));}while(r.cmp(priv.modulus)>=0||!r.umod(priv.prime1)||!r.umod(priv.prime2));return r;}function blind(priv){var r=getr(priv);var blinder=r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();return{blinder:blinder,unblinder:r.invm(priv.modulus)};}function crt(msg,priv){var blinds=blind(priv);var len=priv.modulus.byteLength();var blinded=new BN(msg).mul(blinds.blinder).umod(priv.modulus);var c1=blinded.toRed(BN.mont(priv.prime1));var c2=blinded.toRed(BN.mont(priv.prime2));var qinv=priv.coefficient;var p=priv.prime1;var q=priv.prime2;var m1=c1.redPow(priv.exponent1).fromRed();var m2=c2.redPow(priv.exponent2).fromRed();var h=m1.isub(m2).imul(qinv).umod(p).imul(q);return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer,'be',len);}crt.getr=getr;module.exports=crt;},{"bn.js":36,"randombytes":275,"safe-buffer":293}],60:[function(require,module,exports){'use strict';module.exports=require('./browser/algorithms.json');},{"./browser/algorithms.json":61}],61:[function(require,module,exports){module.exports={"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}};},{}],62:[function(require,module,exports){module.exports={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"};},{}],63:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var createHash=require('create-hash');var stream=require('readable-stream');var inherits=require('inherits');var sign=require('./sign');var verify=require('./verify');var algorithms=require('./algorithms.json');Object.keys(algorithms).forEach(function(key){algorithms[key].id=Buffer.from(algorithms[key].id,'hex');algorithms[key.toLowerCase()]=algorithms[key];});function Sign(algorithm){stream.Writable.call(this);var data=algorithms[algorithm];if(!data){throw new Error('Unknown message digest');}this._hashType=data.hash;this._hash=createHash(data.hash);this._tag=data.id;this._signType=data.sign;}inherits(Sign,stream.Writable);Sign.prototype._write=function _write(data,_,done){this._hash.update(data);done();};Sign.prototype.update=function update(data,enc){this._hash.update(typeof data==='string'?Buffer.from(data,enc):data);return this;};Sign.prototype.sign=function signMethod(key,enc){this.end();var hash=this._hash.digest();var sig=sign(hash,key,this._hashType,this._signType,this._tag);return enc?sig.toString(enc):sig;};function Verify(algorithm){stream.Writable.call(this);var data=algorithms[algorithm];if(!data){throw new Error('Unknown message digest');}this._hash=createHash(data.hash);this._tag=data.id;this._signType=data.sign;}inherits(Verify,stream.Writable);Verify.prototype._write=function _write(data,_,done){this._hash.update(data);done();};Verify.prototype.update=function update(data,enc){this._hash.update(typeof data==='string'?Buffer.from(data,enc):data);return this;};Verify.prototype.verify=function verifyMethod(key,sig,enc){var sigBuffer=typeof sig==='string'?Buffer.from(sig,enc):sig;this.end();var hash=this._hash.digest();return verify(sigBuffer,hash,key,this._signType,this._tag);};function createSign(algorithm){return new Sign(algorithm);}function createVerify(algorithm){return new Verify(algorithm);}module.exports={Sign:createSign,Verify:createVerify,createSign:createSign,createVerify:createVerify};},{"./algorithms.json":61,"./sign":64,"./verify":65,"create-hash":97,"inherits":190,"readable-stream":76,"safe-buffer":293}],64:[function(require,module,exports){'use strict';// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
700
700
  var Buffer=require('safe-buffer').Buffer;var createHmac=require('create-hmac');var crt=require('browserify-rsa');var EC=require('elliptic').ec;var BN=require('bn.js');var parseKeys=require('parse-asn1');var curves=require('./curves.json');var RSA_PKCS1_PADDING=1;function sign(hash,key,hashType,signType,tag){var priv=parseKeys(key);if(priv.curve){// rsa keys can be interpreted as ecdsa ones in openssl
701
701
  if(signType!=='ecdsa'&&signType!=='ecdsa/rsa'){throw new Error('wrong private key type');}return ecSign(hash,priv);}else if(priv.type==='dsa'){if(signType!=='dsa'){throw new Error('wrong private key type');}return dsaSign(hash,priv,hashType);}if(signType!=='rsa'&&signType!=='ecdsa/rsa'){throw new Error('wrong private key type');}if(key.padding!==undefined&&key.padding!==RSA_PKCS1_PADDING){throw new Error('illegal or unsupported padding mode');}hash=Buffer.concat([tag,hash]);var len=priv.modulus.byteLength();var pad=[0,1];while(hash.length+pad.length+1<len){pad.push(0xff);}pad.push(0x00);var i=-1;while(++i<hash.length){pad.push(hash[i]);}var out=crt(pad,priv);return out;}function ecSign(hash,priv){var curveId=curves[priv.curve.join('.')];if(!curveId){throw new Error('unknown curve '+priv.curve.join('.'));}var curve=new EC(curveId);var key=curve.keyFromPrivate(priv.privateKey);var out=key.sign(hash);return Buffer.from(out.toDER());}function dsaSign(hash,priv,algo){var x=priv.params.priv_key;var p=priv.params.p;var q=priv.params.q;var g=priv.params.g;var r=new BN(0);var k;var H=bits2int(hash,q).mod(q);var s=false;var kv=getKey(x,q,hash,algo);while(s===false){k=makeKey(q,kv,algo);r=makeR(g,k,p,q);s=k.invm(q).imul(H.add(x.mul(r))).mod(q);if(s.cmpn(0)===0){s=false;r=new BN(0);}}return toDER(r,s);}function toDER(r,s){r=r.toArray();s=s.toArray();// Pad values
702
- if(r[0]&0x80){r=[0].concat(r);}if(s[0]&0x80){s=[0].concat(s);}var total=r.length+s.length+4;var res=[0x30,total,0x02,r.length];res=res.concat(r,[0x02,s.length],s);return Buffer.from(res);}function getKey(x,q,hash,algo){x=Buffer.from(x.toArray());if(x.length<q.byteLength()){var zeros=Buffer.alloc(q.byteLength()-x.length);x=Buffer.concat([zeros,x]);}var hlen=hash.length;var hbits=bits2octets(hash,q);var v=Buffer.alloc(hlen);v.fill(1);var k=Buffer.alloc(hlen);k=createHmac(algo,k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest();v=createHmac(algo,k).update(v).digest();k=createHmac(algo,k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest();v=createHmac(algo,k).update(v).digest();return{k:k,v:v};}function bits2int(obits,q){var bits=new BN(obits);var shift=(obits.length<<3)-q.bitLength();if(shift>0){bits.ishrn(shift);}return bits;}function bits2octets(bits,q){bits=bits2int(bits,q);bits=bits.mod(q);var out=Buffer.from(bits.toArray());if(out.length<q.byteLength()){var zeros=Buffer.alloc(q.byteLength()-out.length);out=Buffer.concat([zeros,out]);}return out;}function makeKey(q,kv,algo){var t;var k;do{t=Buffer.alloc(0);while(t.length*8<q.bitLength()){kv.v=createHmac(algo,kv.k).update(kv.v).digest();t=Buffer.concat([t,kv.v]);}k=bits2int(t,q);kv.k=createHmac(algo,kv.k).update(kv.v).update(Buffer.from([0])).digest();kv.v=createHmac(algo,kv.k).update(kv.v).digest();}while(k.cmp(q)!==-1);return k;}function makeR(g,k,p,q){return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);}module.exports=sign;module.exports.getKey=getKey;module.exports.makeKey=makeKey;},{"./curves.json":62,"bn.js":36,"browserify-rsa":59,"create-hmac":99,"elliptic":115,"parse-asn1":247,"safe-buffer":291}],65:[function(require,module,exports){'use strict';// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
702
+ if(r[0]&0x80){r=[0].concat(r);}if(s[0]&0x80){s=[0].concat(s);}var total=r.length+s.length+4;var res=[0x30,total,0x02,r.length];res=res.concat(r,[0x02,s.length],s);return Buffer.from(res);}function getKey(x,q,hash,algo){x=Buffer.from(x.toArray());if(x.length<q.byteLength()){var zeros=Buffer.alloc(q.byteLength()-x.length);x=Buffer.concat([zeros,x]);}var hlen=hash.length;var hbits=bits2octets(hash,q);var v=Buffer.alloc(hlen);v.fill(1);var k=Buffer.alloc(hlen);k=createHmac(algo,k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest();v=createHmac(algo,k).update(v).digest();k=createHmac(algo,k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest();v=createHmac(algo,k).update(v).digest();return{k:k,v:v};}function bits2int(obits,q){var bits=new BN(obits);var shift=(obits.length<<3)-q.bitLength();if(shift>0){bits.ishrn(shift);}return bits;}function bits2octets(bits,q){bits=bits2int(bits,q);bits=bits.mod(q);var out=Buffer.from(bits.toArray());if(out.length<q.byteLength()){var zeros=Buffer.alloc(q.byteLength()-out.length);out=Buffer.concat([zeros,out]);}return out;}function makeKey(q,kv,algo){var t;var k;do{t=Buffer.alloc(0);while(t.length*8<q.bitLength()){kv.v=createHmac(algo,kv.k).update(kv.v).digest();t=Buffer.concat([t,kv.v]);}k=bits2int(t,q);kv.k=createHmac(algo,kv.k).update(kv.v).update(Buffer.from([0])).digest();kv.v=createHmac(algo,kv.k).update(kv.v).digest();}while(k.cmp(q)!==-1);return k;}function makeR(g,k,p,q){return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);}module.exports=sign;module.exports.getKey=getKey;module.exports.makeKey=makeKey;},{"./curves.json":62,"bn.js":36,"browserify-rsa":59,"create-hmac":99,"elliptic":115,"parse-asn1":249,"safe-buffer":293}],65:[function(require,module,exports){'use strict';// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
703
703
  var Buffer=require('safe-buffer').Buffer;var BN=require('bn.js');var EC=require('elliptic').ec;var parseKeys=require('parse-asn1');var curves=require('./curves.json');function verify(sig,hash,key,signType,tag){var pub=parseKeys(key);if(pub.type==='ec'){// rsa keys can be interpreted as ecdsa ones in openssl
704
- if(signType!=='ecdsa'&&signType!=='ecdsa/rsa'){throw new Error('wrong public key type');}return ecVerify(sig,hash,pub);}else if(pub.type==='dsa'){if(signType!=='dsa'){throw new Error('wrong public key type');}return dsaVerify(sig,hash,pub);}if(signType!=='rsa'&&signType!=='ecdsa/rsa'){throw new Error('wrong public key type');}hash=Buffer.concat([tag,hash]);var len=pub.modulus.byteLength();var pad=[1];var padNum=0;while(hash.length+pad.length+2<len){pad.push(0xff);padNum+=1;}pad.push(0x00);var i=-1;while(++i<hash.length){pad.push(hash[i]);}pad=Buffer.from(pad);var red=BN.mont(pub.modulus);sig=new BN(sig).toRed(red);sig=sig.redPow(new BN(pub.publicExponent));sig=Buffer.from(sig.fromRed().toArray());var out=padNum<8?1:0;len=Math.min(sig.length,pad.length);if(sig.length!==pad.length){out=1;}i=-1;while(++i<len){out|=sig[i]^pad[i];}return out===0;}function ecVerify(sig,hash,pub){var curveId=curves[pub.data.algorithm.curve.join('.')];if(!curveId){throw new Error('unknown curve '+pub.data.algorithm.curve.join('.'));}var curve=new EC(curveId);var pubkey=pub.data.subjectPrivateKey.data;return curve.verify(hash,sig,pubkey);}function dsaVerify(sig,hash,pub){var p=pub.data.p;var q=pub.data.q;var g=pub.data.g;var y=pub.data.pub_key;var unpacked=parseKeys.signature.decode(sig,'der');var s=unpacked.s;var r=unpacked.r;checkValue(s,q);checkValue(r,q);var montp=BN.mont(p);var w=s.invm(q);var v=g.toRed(montp).redPow(new BN(hash).mul(w).mod(q)).fromRed().mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()).mod(p).mod(q);return v.cmp(r)===0;}function checkValue(b,q){if(b.cmpn(0)<=0){throw new Error('invalid sig');}if(b.cmp(q)>=0){throw new Error('invalid sig');}}module.exports=verify;},{"./curves.json":62,"bn.js":36,"elliptic":115,"parse-asn1":247,"safe-buffer":291}],66:[function(require,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=='[object Array]';};},{}],67:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
704
+ if(signType!=='ecdsa'&&signType!=='ecdsa/rsa'){throw new Error('wrong public key type');}return ecVerify(sig,hash,pub);}else if(pub.type==='dsa'){if(signType!=='dsa'){throw new Error('wrong public key type');}return dsaVerify(sig,hash,pub);}if(signType!=='rsa'&&signType!=='ecdsa/rsa'){throw new Error('wrong public key type');}hash=Buffer.concat([tag,hash]);var len=pub.modulus.byteLength();var pad=[1];var padNum=0;while(hash.length+pad.length+2<len){pad.push(0xff);padNum+=1;}pad.push(0x00);var i=-1;while(++i<hash.length){pad.push(hash[i]);}pad=Buffer.from(pad);var red=BN.mont(pub.modulus);sig=new BN(sig).toRed(red);sig=sig.redPow(new BN(pub.publicExponent));sig=Buffer.from(sig.fromRed().toArray());var out=padNum<8?1:0;len=Math.min(sig.length,pad.length);if(sig.length!==pad.length){out=1;}i=-1;while(++i<len){out|=sig[i]^pad[i];}return out===0;}function ecVerify(sig,hash,pub){var curveId=curves[pub.data.algorithm.curve.join('.')];if(!curveId){throw new Error('unknown curve '+pub.data.algorithm.curve.join('.'));}var curve=new EC(curveId);var pubkey=pub.data.subjectPrivateKey.data;return curve.verify(hash,sig,pubkey);}function dsaVerify(sig,hash,pub){var p=pub.data.p;var q=pub.data.q;var g=pub.data.g;var y=pub.data.pub_key;var unpacked=parseKeys.signature.decode(sig,'der');var s=unpacked.s;var r=unpacked.r;checkValue(s,q);checkValue(r,q);var montp=BN.mont(p);var w=s.invm(q);var v=g.toRed(montp).redPow(new BN(hash).mul(w).mod(q)).fromRed().mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()).mod(p).mod(q);return v.cmp(r)===0;}function checkValue(b,q){if(b.cmpn(0)<=0){throw new Error('invalid sig');}if(b.cmp(q)>=0){throw new Error('invalid sig');}}module.exports=verify;},{"./curves.json":62,"bn.js":36,"elliptic":115,"parse-asn1":249,"safe-buffer":293}],66:[function(require,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=='[object Array]';};},{}],67:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
705
705
  //
706
706
  // Permission is hereby granted, free of charge, to any person obtaining a
707
707
  // copy of this software and associated documentation files (the
@@ -738,7 +738,7 @@ pna.nextTick(onEndNT,this);}function onEndNT(self){self.end();}Object.defineProp
738
738
  // has not been initialized yet
739
739
  if(this._readableState===undefined||this._writableState===undefined){return;}// backward compatibility, the user is explicitly
740
740
  // managing destroyed
741
- this._readableState.destroyed=value;this._writableState.destroyed=value;}});Duplex.prototype._destroy=function(err,cb){this.push(null);this.end();pna.nextTick(cb,err);};},{"./_stream_readable":69,"./_stream_writable":71,"core-util-is":94,"inherits":189,"process-nextick-args":255}],68:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
741
+ this._readableState.destroyed=value;this._writableState.destroyed=value;}});Duplex.prototype._destroy=function(err,cb){this.push(null);this.end();pna.nextTick(cb,err);};},{"./_stream_readable":69,"./_stream_writable":71,"core-util-is":94,"inherits":190,"process-nextick-args":257}],68:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
742
742
  //
743
743
  // Permission is hereby granted, free of charge, to any person obtaining a
744
744
  // copy of this software and associated documentation files (the
@@ -761,7 +761,7 @@ this._readableState.destroyed=value;this._writableState.destroyed=value;}});Dupl
761
761
  // a passthrough stream.
762
762
  // basically just the most minimal sort of Transform stream.
763
763
  // Every written chunk gets output as-is.
764
- 'use strict';module.exports=PassThrough;var Transform=require('./_stream_transform');/*<replacement>*/var util=Object.create(require('core-util-is'));util.inherits=require('inherits');/*</replacement>*/util.inherits(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options);}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk);};},{"./_stream_transform":70,"core-util-is":94,"inherits":189}],69:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
764
+ 'use strict';module.exports=PassThrough;var Transform=require('./_stream_transform');/*<replacement>*/var util=Object.create(require('core-util-is'));util.inherits=require('inherits');/*</replacement>*/util.inherits(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options);}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk);};},{"./_stream_transform":70,"core-util-is":94,"inherits":190}],69:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
765
765
  //
766
766
  // Permission is hereby granted, free of charge, to any person obtaining a
767
767
  // copy of this software and associated documentation files (the
@@ -963,7 +963,7 @@ function copyFromBufferString(n,list){var p=list.head;var c=1;var ret=p.data;n-=
963
963
  function copyFromBuffer(n,list){var ret=Buffer.allocUnsafe(n);var p=list.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)list.head=p.next;else list.head=list.tail=null;}else{list.head=p;p.data=buf.slice(nb);}break;}++c;}list.length-=c;return ret;}function endReadable(stream){var state=stream._readableState;// If we get here before consuming all the bytes, then that is a
964
964
  // bug in node. Should never happen.
965
965
  if(state.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!state.endEmitted){state.ended=true;pna.nextTick(endReadableNT,state,stream);}}function endReadableNT(state,stream){// Check that we didn't get one last unshift.
966
- if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit('end');}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i;}return-1;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./_stream_duplex":67,"./internal/streams/BufferList":72,"./internal/streams/destroy":73,"./internal/streams/stream":74,"_process":256,"core-util-is":94,"events":141,"inherits":189,"isarray":66,"process-nextick-args":255,"safe-buffer":75,"string_decoder/":77,"util":38}],70:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
966
+ if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit('end');}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i;}return-1;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./_stream_duplex":67,"./internal/streams/BufferList":72,"./internal/streams/destroy":73,"./internal/streams/stream":74,"_process":258,"core-util-is":94,"events":141,"inherits":190,"isarray":66,"process-nextick-args":257,"safe-buffer":75,"string_decoder/":77,"util":38}],70:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
967
967
  //
968
968
  // Permission is hereby granted, free of charge, to any person obtaining a
969
969
  // copy of this software and associated documentation files (the
@@ -1048,7 +1048,7 @@ Transform.prototype._read=function(n){var ts=this._transformState;if(ts.writechu
1048
1048
  ts.needTransform=true;}};Transform.prototype._destroy=function(err,cb){var _this2=this;Duplex.prototype._destroy.call(this,err,function(err2){cb(err2);_this2.emit('close');});};function done(stream,er,data){if(er)return stream.emit('error',er);if(data!=null)// single equals check for both `null` and `undefined`
1049
1049
  stream.push(data);// if there's nothing in the write buffer, then that means
1050
1050
  // that nothing more will ever be provided
1051
- if(stream._writableState.length)throw new Error('Calling transform done when ws.length != 0');if(stream._transformState.transforming)throw new Error('Calling transform done when still transforming');return stream.push(null);}},{"./_stream_duplex":67,"core-util-is":94,"inherits":189}],71:[function(require,module,exports){(function(process,global,setImmediate){(function(){// Copyright Joyent, Inc. and other Node contributors.
1051
+ if(stream._writableState.length)throw new Error('Calling transform done when ws.length != 0');if(stream._transformState.transforming)throw new Error('Calling transform done when still transforming');return stream.push(null);}},{"./_stream_duplex":67,"core-util-is":94,"inherits":190}],71:[function(require,module,exports){(function(process,global,setImmediate){(function(){// Copyright Joyent, Inc. and other Node contributors.
1052
1052
  //
1053
1053
  // Permission is hereby granted, free of charge, to any person obtaining a
1054
1054
  // copy of this software and associated documentation files (the
@@ -1169,11 +1169,11 @@ state.corkedRequestsFree.next=corkReq;}Object.defineProperty(Writable.prototype,
1169
1169
  // has not been initialized yet
1170
1170
  if(!this._writableState){return;}// backward compatibility, the user is explicitly
1171
1171
  // managing destroyed
1172
- this._writableState.destroyed=value;}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){this.end();cb(err);};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("timers").setImmediate);},{"./_stream_duplex":67,"./internal/streams/destroy":73,"./internal/streams/stream":74,"_process":256,"core-util-is":94,"inherits":189,"process-nextick-args":255,"safe-buffer":75,"timers":344,"util-deprecate":350}],72:[function(require,module,exports){'use strict';function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var Buffer=require('safe-buffer').Buffer;var util=require('util');function copyBuffer(src,target,offset){src.copy(target,offset);}module.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0;}BufferList.prototype.push=function push(v){var entry={data:v,next:null};if(this.length>0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length;};BufferList.prototype.unshift=function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length;};BufferList.prototype.shift=function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret;};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0;};BufferList.prototype.join=function join(s){if(this.length===0)return'';var p=this.head;var ret=''+p.data;while(p=p.next){ret+=s+p.data;}return ret;};BufferList.prototype.concat=function concat(n){if(this.length===0)return Buffer.alloc(0);var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next;}return ret;};return BufferList;}();if(util&&util.inspect&&util.inspect.custom){module.exports.prototype[util.inspect.custom]=function(){var obj=util.inspect({length:this.length});return this.constructor.name+' '+obj;};}},{"safe-buffer":75,"util":38}],73:[function(require,module,exports){'use strict';/*<replacement>*/var pna=require('process-nextick-args');/*</replacement>*/// undocumented cb() API, needed for core, not for public API
1172
+ this._writableState.destroyed=value;}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){this.end();cb(err);};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("timers").setImmediate);},{"./_stream_duplex":67,"./internal/streams/destroy":73,"./internal/streams/stream":74,"_process":258,"core-util-is":94,"inherits":190,"process-nextick-args":257,"safe-buffer":75,"timers":346,"util-deprecate":352}],72:[function(require,module,exports){'use strict';function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var Buffer=require('safe-buffer').Buffer;var util=require('util');function copyBuffer(src,target,offset){src.copy(target,offset);}module.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0;}BufferList.prototype.push=function push(v){var entry={data:v,next:null};if(this.length>0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length;};BufferList.prototype.unshift=function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length;};BufferList.prototype.shift=function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret;};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0;};BufferList.prototype.join=function join(s){if(this.length===0)return'';var p=this.head;var ret=''+p.data;while(p=p.next){ret+=s+p.data;}return ret;};BufferList.prototype.concat=function concat(n){if(this.length===0)return Buffer.alloc(0);var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next;}return ret;};return BufferList;}();if(util&&util.inspect&&util.inspect.custom){module.exports.prototype[util.inspect.custom]=function(){var obj=util.inspect({length:this.length});return this.constructor.name+' '+obj;};}},{"safe-buffer":75,"util":38}],73:[function(require,module,exports){'use strict';/*<replacement>*/var pna=require('process-nextick-args');/*</replacement>*/// undocumented cb() API, needed for core, not for public API
1173
1173
  function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err);}else if(err){if(!this._writableState){pna.nextTick(emitErrorNT,this,err);}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;pna.nextTick(emitErrorNT,this,err);}}return this;}// we set destroyed to true before firing error callbacks in order
1174
1174
  // to make it re-entrance safe in case destroy() is called within callbacks
1175
1175
  if(this._readableState){this._readableState.destroyed=true;}// if this is a duplex stream mark the writable part as destroyed as well
1176
- if(this._writableState){this._writableState.destroyed=true;}this._destroy(err||null,function(err){if(!cb&&err){if(!_this._writableState){pna.nextTick(emitErrorNT,_this,err);}else if(!_this._writableState.errorEmitted){_this._writableState.errorEmitted=true;pna.nextTick(emitErrorNT,_this,err);}}else if(cb){cb(err);}});return this;}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false;}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false;}}function emitErrorNT(self,err){self.emit('error',err);}module.exports={destroy:destroy,undestroy:undestroy};},{"process-nextick-args":255}],74:[function(require,module,exports){module.exports=require('events').EventEmitter;},{"events":141}],75:[function(require,module,exports){/* eslint-disable node/no-deprecated-api */var buffer=require('buffer');var Buffer=buffer.Buffer;// alternative to using Object.keys for old browsers
1176
+ if(this._writableState){this._writableState.destroyed=true;}this._destroy(err||null,function(err){if(!cb&&err){if(!_this._writableState){pna.nextTick(emitErrorNT,_this,err);}else if(!_this._writableState.errorEmitted){_this._writableState.errorEmitted=true;pna.nextTick(emitErrorNT,_this,err);}}else if(cb){cb(err);}});return this;}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false;}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false;}}function emitErrorNT(self,err){self.emit('error',err);}module.exports={destroy:destroy,undestroy:undestroy};},{"process-nextick-args":257}],74:[function(require,module,exports){module.exports=require('events').EventEmitter;},{"events":141}],75:[function(require,module,exports){/* eslint-disable node/no-deprecated-api */var buffer=require('buffer');var Buffer=buffer.Buffer;// alternative to using Object.keys for old browsers
1177
1177
  function copyProps(src,dst){for(var key in src){dst[key]=src[key];}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer;}else{// Copy properties from require('buffer')
1178
1178
  copyProps(buffer,exports);exports.Buffer=SafeBuffer;}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length);}// Copy static methods from Buffer
1179
1179
  copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==='number'){throw new TypeError('Argument must not be a number');}return Buffer(arg,encodingOrOffset,length);};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==='string'){buf.fill(fill,encoding);}else{buf.fill(fill);}}else{buf.fill(0);}return buf;};SafeBuffer.allocUnsafe=function(size){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}return Buffer(size);};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}return buffer.SlowBuffer(size);};},{"buffer":83}],76:[function(require,module,exports){exports=module.exports=require('./lib/_stream_readable.js');exports.Stream=exports;exports.Readable=exports;exports.Writable=require('./lib/_stream_writable.js');exports.Duplex=require('./lib/_stream_duplex.js');exports.Transform=require('./lib/_stream_transform.js');exports.PassThrough=require('./lib/_stream_passthrough.js');},{"./lib/_stream_duplex.js":67,"./lib/_stream_passthrough.js":68,"./lib/_stream_readable.js":69,"./lib/_stream_transform.js":70,"./lib/_stream_writable.js":71}],77:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
@@ -1373,8 +1373,8 @@ byteArray.push(str.charCodeAt(i)&0xFF);}return byteArray;}function utf16leToByte
1373
1373
  // See: https://github.com/feross/buffer/issues/166
1374
1374
  function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name;}function numberIsNaN(obj){// For IE11 support
1375
1375
  return obj!==obj;// eslint-disable-line no-self-compare
1376
- }}).call(this);}).call(this,require("buffer").Buffer);},{"base64-js":35,"buffer":83,"ieee754":188}],84:[function(require,module,exports){module.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Unordered Collection","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"};},{}],85:[function(require,module,exports){'use strict';var bind=require('function-bind');var $apply=require('./functionApply');var $call=require('./functionCall');var $reflectApply=require('./reflectApply');/** @type {import('./actualApply')} */module.exports=$reflectApply||bind.call($call,$apply);},{"./functionApply":87,"./functionCall":88,"./reflectApply":90,"function-bind":158}],86:[function(require,module,exports){'use strict';var bind=require('function-bind');var $apply=require('./functionApply');var actualApply=require('./actualApply');/** @type {import('./applyBind')} */module.exports=function applyBind(){return actualApply(bind,$apply,arguments);};},{"./actualApply":85,"./functionApply":87,"function-bind":158}],87:[function(require,module,exports){'use strict';/** @type {import('./functionApply')} */module.exports=Function.prototype.apply;},{}],88:[function(require,module,exports){'use strict';/** @type {import('./functionCall')} */module.exports=Function.prototype.call;},{}],89:[function(require,module,exports){'use strict';var bind=require('function-bind');var $TypeError=require('es-errors/type');var $call=require('./functionCall');var $actualApply=require('./actualApply');/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */module.exports=function callBindBasic(args){if(args.length<1||typeof args[0]!=='function'){throw new $TypeError('a function is required');}return $actualApply(bind,$call,args);};},{"./actualApply":85,"./functionCall":88,"es-errors/type":138,"function-bind":158}],90:[function(require,module,exports){'use strict';/** @type {import('./reflectApply')} */module.exports=typeof Reflect!=='undefined'&&Reflect&&Reflect.apply;},{}],91:[function(require,module,exports){'use strict';var setFunctionLength=require('set-function-length');var $defineProperty=require('es-define-property');var callBindBasic=require('call-bind-apply-helpers');var applyBind=require('call-bind-apply-helpers/applyBind');module.exports=function callBind(originalFunction){var func=callBindBasic(arguments);var adjustedLength=originalFunction.length-(arguments.length-1);return setFunctionLength(func,1+(adjustedLength>0?adjustedLength:0),true);};if($defineProperty){$defineProperty(module.exports,'apply',{value:applyBind});}else{module.exports.apply=applyBind;}},{"call-bind-apply-helpers":89,"call-bind-apply-helpers/applyBind":86,"es-define-property":132,"set-function-length":293}],92:[function(require,module,exports){'use strict';var GetIntrinsic=require('get-intrinsic');var callBindBasic=require('call-bind-apply-helpers');/** @type {(thisArg: string, searchString: string, position?: number) => number} */var $indexOf=callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);/** @type {import('.')} */module.exports=function callBoundIntrinsic(name,allowMissing){/* eslint no-extra-parens: 0 */var intrinsic=/** @type {(this: unknown, ...args: unknown[]) => unknown} */GetIntrinsic(name,!!allowMissing);if(typeof intrinsic==='function'&&$indexOf(name,'.prototype.')>-1){return callBindBasic(/** @type {const} */[intrinsic]);}return intrinsic;};},{"call-bind-apply-helpers":89,"get-intrinsic":162}],93:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var Transform=require('stream').Transform;var StringDecoder=require('string_decoder').StringDecoder;var inherits=require('inherits');var toBuffer=require('to-buffer');function CipherBase(hashMode){Transform.call(this);this.hashMode=typeof hashMode==='string';if(this.hashMode){this[hashMode]=this._finalOrDigest;}else{this['final']=this._finalOrDigest;}if(this._final){this.__final=this._final;this._final=null;}this._decoder=null;this._encoding=null;}inherits(CipherBase,Transform);CipherBase.prototype.update=function(data,inputEnc,outputEnc){var bufferData=toBuffer(data,inputEnc);// asserts correct input type
1377
- var outData=this._update(bufferData);if(this.hashMode){return this;}if(outputEnc){outData=this._toString(outData,outputEnc);}return outData;};CipherBase.prototype.setAutoPadding=function(){};CipherBase.prototype.getAuthTag=function(){throw new Error('trying to get auth tag in unsupported state');};CipherBase.prototype.setAuthTag=function(){throw new Error('trying to set auth tag in unsupported state');};CipherBase.prototype.setAAD=function(){throw new Error('trying to set aad in unsupported state');};CipherBase.prototype._transform=function(data,_,next){var err;try{if(this.hashMode){this._update(data);}else{this.push(this._update(data));}}catch(e){err=e;}finally{next(err);}};CipherBase.prototype._flush=function(done){var err;try{this.push(this.__final());}catch(e){err=e;}done(err);};CipherBase.prototype._finalOrDigest=function(outputEnc){var outData=this.__final()||Buffer.alloc(0);if(outputEnc){outData=this._toString(outData,outputEnc,true);}return outData;};CipherBase.prototype._toString=function(value,enc,fin){if(!this._decoder){this._decoder=new StringDecoder(enc);this._encoding=enc;}if(this._encoding!==enc){throw new Error('can’t switch encodings');}var out=this._decoder.write(value);if(fin){out+=this._decoder.end();}return out;};module.exports=CipherBase;},{"inherits":189,"safe-buffer":291,"stream":308,"string_decoder":81,"to-buffer":345}],94:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
1376
+ }}).call(this);}).call(this,require("buffer").Buffer);},{"base64-js":35,"buffer":83,"ieee754":189}],84:[function(require,module,exports){module.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Unordered Collection","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"};},{}],85:[function(require,module,exports){'use strict';var bind=require('function-bind');var $apply=require('./functionApply');var $call=require('./functionCall');var $reflectApply=require('./reflectApply');/** @type {import('./actualApply')} */module.exports=$reflectApply||bind.call($call,$apply);},{"./functionApply":87,"./functionCall":88,"./reflectApply":90,"function-bind":159}],86:[function(require,module,exports){'use strict';var bind=require('function-bind');var $apply=require('./functionApply');var actualApply=require('./actualApply');/** @type {import('./applyBind')} */module.exports=function applyBind(){return actualApply(bind,$apply,arguments);};},{"./actualApply":85,"./functionApply":87,"function-bind":159}],87:[function(require,module,exports){'use strict';/** @type {import('./functionApply')} */module.exports=Function.prototype.apply;},{}],88:[function(require,module,exports){'use strict';/** @type {import('./functionCall')} */module.exports=Function.prototype.call;},{}],89:[function(require,module,exports){'use strict';var bind=require('function-bind');var $TypeError=require('es-errors/type');var $call=require('./functionCall');var $actualApply=require('./actualApply');/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */module.exports=function callBindBasic(args){if(args.length<1||typeof args[0]!=='function'){throw new $TypeError('a function is required');}return $actualApply(bind,$call,args);};},{"./actualApply":85,"./functionCall":88,"es-errors/type":138,"function-bind":159}],90:[function(require,module,exports){'use strict';/** @type {import('./reflectApply')} */module.exports=typeof Reflect!=='undefined'&&Reflect&&Reflect.apply;},{}],91:[function(require,module,exports){'use strict';var setFunctionLength=require('set-function-length');var $defineProperty=require('es-define-property');var callBindBasic=require('call-bind-apply-helpers');var applyBind=require('call-bind-apply-helpers/applyBind');module.exports=function callBind(originalFunction){var func=callBindBasic(arguments);var adjustedLength=1+originalFunction.length-(arguments.length-1);return setFunctionLength(func,adjustedLength>0?adjustedLength:0,true);};if($defineProperty){$defineProperty(module.exports,'apply',{value:applyBind});}else{module.exports.apply=applyBind;}},{"call-bind-apply-helpers":89,"call-bind-apply-helpers/applyBind":86,"es-define-property":132,"set-function-length":295}],92:[function(require,module,exports){'use strict';var GetIntrinsic=require('get-intrinsic');var callBindBasic=require('call-bind-apply-helpers');/** @type {(thisArg: string, searchString: string, position?: number) => number} */var $indexOf=callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);/** @type {import('.')} */module.exports=function callBoundIntrinsic(name,allowMissing){/* eslint no-extra-parens: 0 */var intrinsic=/** @type {(this: unknown, ...args: unknown[]) => unknown} */GetIntrinsic(name,!!allowMissing);if(typeof intrinsic==='function'&&$indexOf(name,'.prototype.')>-1){return callBindBasic(/** @type {const} */[intrinsic]);}return intrinsic;};},{"call-bind-apply-helpers":89,"get-intrinsic":163}],93:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var Transform=require('stream').Transform;var StringDecoder=require('string_decoder').StringDecoder;var inherits=require('inherits');var toBuffer=require('to-buffer');function CipherBase(hashMode){Transform.call(this);this.hashMode=typeof hashMode==='string';if(this.hashMode){this[hashMode]=this._finalOrDigest;}else{this['final']=this._finalOrDigest;}if(this._final){this.__final=this._final;this._final=null;}this._decoder=null;this._encoding=null;}inherits(CipherBase,Transform);CipherBase.prototype.update=function(data,inputEnc,outputEnc){var bufferData=toBuffer(data,inputEnc);// asserts correct input type
1377
+ var outData=this._update(bufferData);if(this.hashMode){return this;}if(outputEnc){outData=this._toString(outData,outputEnc);}return outData;};CipherBase.prototype.setAutoPadding=function(){};CipherBase.prototype.getAuthTag=function(){throw new Error('trying to get auth tag in unsupported state');};CipherBase.prototype.setAuthTag=function(){throw new Error('trying to set auth tag in unsupported state');};CipherBase.prototype.setAAD=function(){throw new Error('trying to set aad in unsupported state');};CipherBase.prototype._transform=function(data,_,next){var err;try{if(this.hashMode){this._update(data);}else{this.push(this._update(data));}}catch(e){err=e;}finally{next(err);}};CipherBase.prototype._flush=function(done){var err;try{this.push(this.__final());}catch(e){err=e;}done(err);};CipherBase.prototype._finalOrDigest=function(outputEnc){var outData=this.__final()||Buffer.alloc(0);if(outputEnc){outData=this._toString(outData,outputEnc,true);}return outData;};CipherBase.prototype._toString=function(value,enc,fin){if(!this._decoder){this._decoder=new StringDecoder(enc);this._encoding=enc;}if(this._encoding!==enc){throw new Error('can’t switch encodings');}var out=this._decoder.write(value);if(fin){out+=this._decoder.end();}return out;};module.exports=CipherBase;},{"inherits":190,"safe-buffer":293,"stream":310,"string_decoder":81,"to-buffer":347}],94:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
1378
1378
  //
1379
1379
  // Permission is hereby granted, free of charge, to any person obtaining a
1380
1380
  // copy of this software and associated documentation files (the
@@ -1398,7 +1398,7 @@ var outData=this._update(bufferData);if(this.hashMode){return this;}if(outputEnc
1398
1398
  // because it is fragile and can be easily faked with `Object.create()`.
1399
1399
  function isArray(arg){if(Array.isArray){return Array.isArray(arg);}return objectToString(arg)==='[object Array]';}exports.isArray=isArray;function isBoolean(arg){return typeof arg==='boolean';}exports.isBoolean=isBoolean;function isNull(arg){return arg===null;}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null;}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==='number';}exports.isNumber=isNumber;function isString(arg){return typeof arg==='string';}exports.isString=isString;function isSymbol(arg){return typeof arg==='symbol';}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0;}exports.isUndefined=isUndefined;function isRegExp(re){return objectToString(re)==='[object RegExp]';}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==='object'&&arg!==null;}exports.isObject=isObject;function isDate(d){return objectToString(d)==='[object Date]';}exports.isDate=isDate;function isError(e){return objectToString(e)==='[object Error]'||e instanceof Error;}exports.isError=isError;function isFunction(arg){return typeof arg==='function';}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==='boolean'||typeof arg==='number'||typeof arg==='string'||typeof arg==='symbol'||// ES6 symbol
1400
1400
  typeof arg==='undefined';}exports.isPrimitive=isPrimitive;exports.isBuffer=require('buffer').Buffer.isBuffer;function objectToString(o){return Object.prototype.toString.call(o);}},{"buffer":83}],95:[function(require,module,exports){(function(Buffer){(function(){var elliptic=require('elliptic');var BN=require('bn.js');module.exports=function createECDH(curve){return new ECDH(curve);};var aliases={secp256k1:{name:'secp256k1',byteLength:32},secp224r1:{name:'p224',byteLength:28},prime256v1:{name:'p256',byteLength:32},prime192v1:{name:'p192',byteLength:24},ed25519:{name:'ed25519',byteLength:32},secp384r1:{name:'p384',byteLength:48},secp521r1:{name:'p521',byteLength:66}};aliases.p224=aliases.secp224r1;aliases.p256=aliases.secp256r1=aliases.prime256v1;aliases.p192=aliases.secp192r1=aliases.prime192v1;aliases.p384=aliases.secp384r1;aliases.p521=aliases.secp521r1;function ECDH(curve){this.curveType=aliases[curve];if(!this.curveType){this.curveType={name:curve};}this.curve=new elliptic.ec(this.curveType.name);// eslint-disable-line new-cap
1401
- this.keys=void 0;}ECDH.prototype.generateKeys=function(enc,format){this.keys=this.curve.genKeyPair();return this.getPublicKey(enc,format);};ECDH.prototype.computeSecret=function(other,inenc,enc){inenc=inenc||'utf8';if(!Buffer.isBuffer(other)){other=new Buffer(other,inenc);}var otherPub=this.curve.keyFromPublic(other).getPublic();var out=otherPub.mul(this.keys.getPrivate()).getX();return formatReturnValue(out,enc,this.curveType.byteLength);};ECDH.prototype.getPublicKey=function(enc,format){var key=this.keys.getPublic(format==='compressed',true);if(format==='hybrid'){if(key[key.length-1]%2){key[0]=7;}else{key[0]=6;}}return formatReturnValue(key,enc);};ECDH.prototype.getPrivateKey=function(enc){return formatReturnValue(this.keys.getPrivate(),enc);};ECDH.prototype.setPublicKey=function(pub,enc){enc=enc||'utf8';if(!Buffer.isBuffer(pub)){pub=new Buffer(pub,enc);}this.keys._importPublic(pub);return this;};ECDH.prototype.setPrivateKey=function(priv,enc){enc=enc||'utf8';if(!Buffer.isBuffer(priv)){priv=new Buffer(priv,enc);}var _priv=new BN(priv);_priv=_priv.toString(16);this.keys=this.curve.genKeyPair();this.keys._importPrivate(_priv);return this;};function formatReturnValue(bn,enc,len){if(!Array.isArray(bn)){bn=bn.toArray();}var buf=new Buffer(bn);if(len&&buf.length<len){var zeros=new Buffer(len-buf.length);zeros.fill(0);buf=Buffer.concat([zeros,buf]);}if(!enc){return buf;}else{return buf.toString(enc);}}}).call(this);}).call(this,require("buffer").Buffer);},{"bn.js":96,"buffer":83,"elliptic":115}],96:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments);},{"buffer":38,"dup":16}],97:[function(require,module,exports){'use strict';var inherits=require('inherits');var MD5=require('md5.js');var RIPEMD160=require('ripemd160');var sha=require('sha.js');var Base=require('cipher-base');function Hash(hash){Base.call(this,'digest');this._hash=hash;}inherits(Hash,Base);Hash.prototype._update=function(data){this._hash.update(data);};Hash.prototype._final=function(){return this._hash.digest();};module.exports=function createHash(alg){alg=alg.toLowerCase();if(alg==='md5')return new MD5();if(alg==='rmd160'||alg==='ripemd160')return new RIPEMD160();return new Hash(sha(alg));};},{"cipher-base":93,"inherits":189,"md5.js":209,"ripemd160":275,"sha.js":295}],98:[function(require,module,exports){var MD5=require('md5.js');module.exports=function(buffer){return new MD5().update(buffer).digest();};},{"md5.js":209}],99:[function(require,module,exports){'use strict';var inherits=require('inherits');var Legacy=require('./legacy');var Base=require('cipher-base');var Buffer=require('safe-buffer').Buffer;var md5=require('create-hash/md5');var RIPEMD160=require('ripemd160');var sha=require('sha.js');var ZEROS=Buffer.alloc(128);function Hmac(alg,key){Base.call(this,'digest');if(typeof key==='string'){key=Buffer.from(key);}var blocksize=alg==='sha512'||alg==='sha384'?128:64;this._alg=alg;this._key=key;if(key.length>blocksize){var hash=alg==='rmd160'?new RIPEMD160():sha(alg);key=hash.update(key).digest();}else if(key.length<blocksize){key=Buffer.concat([key,ZEROS],blocksize);}var ipad=this._ipad=Buffer.allocUnsafe(blocksize);var opad=this._opad=Buffer.allocUnsafe(blocksize);for(var i=0;i<blocksize;i++){ipad[i]=key[i]^0x36;opad[i]=key[i]^0x5C;}this._hash=alg==='rmd160'?new RIPEMD160():sha(alg);this._hash.update(ipad);}inherits(Hmac,Base);Hmac.prototype._update=function(data){this._hash.update(data);};Hmac.prototype._final=function(){var h=this._hash.digest();var hash=this._alg==='rmd160'?new RIPEMD160():sha(this._alg);return hash.update(this._opad).update(h).digest();};module.exports=function createHmac(alg,key){alg=alg.toLowerCase();if(alg==='rmd160'||alg==='ripemd160'){return new Hmac('rmd160',key);}if(alg==='md5'){return new Legacy(md5,key);}return new Hmac(alg,key);};},{"./legacy":100,"cipher-base":93,"create-hash/md5":98,"inherits":189,"ripemd160":275,"safe-buffer":291,"sha.js":295}],100:[function(require,module,exports){'use strict';var inherits=require('inherits');var Buffer=require('safe-buffer').Buffer;var Base=require('cipher-base');var ZEROS=Buffer.alloc(128);var blocksize=64;function Hmac(alg,key){Base.call(this,'digest');if(typeof key==='string'){key=Buffer.from(key);}this._alg=alg;this._key=key;if(key.length>blocksize){key=alg(key);}else if(key.length<blocksize){key=Buffer.concat([key,ZEROS],blocksize);}var ipad=this._ipad=Buffer.allocUnsafe(blocksize);var opad=this._opad=Buffer.allocUnsafe(blocksize);for(var i=0;i<blocksize;i++){ipad[i]=key[i]^0x36;opad[i]=key[i]^0x5C;}this._hash=[ipad];}inherits(Hmac,Base);Hmac.prototype._update=function(data){this._hash.push(data);};Hmac.prototype._final=function(){var h=this._alg(Buffer.concat(this._hash));return this._alg(Buffer.concat([this._opad,h]));};module.exports=Hmac;},{"cipher-base":93,"inherits":189,"safe-buffer":291}],101:[function(require,module,exports){'use strict';// eslint-disable-next-line no-multi-assign
1401
+ this.keys=void 0;}ECDH.prototype.generateKeys=function(enc,format){this.keys=this.curve.genKeyPair();return this.getPublicKey(enc,format);};ECDH.prototype.computeSecret=function(other,inenc,enc){inenc=inenc||'utf8';if(!Buffer.isBuffer(other)){other=new Buffer(other,inenc);}var otherPub=this.curve.keyFromPublic(other).getPublic();var out=otherPub.mul(this.keys.getPrivate()).getX();return formatReturnValue(out,enc,this.curveType.byteLength);};ECDH.prototype.getPublicKey=function(enc,format){var key=this.keys.getPublic(format==='compressed',true);if(format==='hybrid'){if(key[key.length-1]%2){key[0]=7;}else{key[0]=6;}}return formatReturnValue(key,enc);};ECDH.prototype.getPrivateKey=function(enc){return formatReturnValue(this.keys.getPrivate(),enc);};ECDH.prototype.setPublicKey=function(pub,enc){enc=enc||'utf8';if(!Buffer.isBuffer(pub)){pub=new Buffer(pub,enc);}this.keys._importPublic(pub);return this;};ECDH.prototype.setPrivateKey=function(priv,enc){enc=enc||'utf8';if(!Buffer.isBuffer(priv)){priv=new Buffer(priv,enc);}var _priv=new BN(priv);_priv=_priv.toString(16);this.keys=this.curve.genKeyPair();this.keys._importPrivate(_priv);return this;};function formatReturnValue(bn,enc,len){if(!Array.isArray(bn)){bn=bn.toArray();}var buf=new Buffer(bn);if(len&&buf.length<len){var zeros=new Buffer(len-buf.length);zeros.fill(0);buf=Buffer.concat([zeros,buf]);}if(!enc){return buf;}else{return buf.toString(enc);}}}).call(this);}).call(this,require("buffer").Buffer);},{"bn.js":96,"buffer":83,"elliptic":115}],96:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments);},{"buffer":38,"dup":16}],97:[function(require,module,exports){'use strict';var inherits=require('inherits');var MD5=require('md5.js');var RIPEMD160=require('ripemd160');var sha=require('sha.js');var Base=require('cipher-base');function Hash(hash){Base.call(this,'digest');this._hash=hash;}inherits(Hash,Base);Hash.prototype._update=function(data){this._hash.update(data);};Hash.prototype._final=function(){return this._hash.digest();};module.exports=function createHash(alg){alg=alg.toLowerCase();if(alg==='md5')return new MD5();if(alg==='rmd160'||alg==='ripemd160')return new RIPEMD160();return new Hash(sha(alg));};},{"cipher-base":93,"inherits":190,"md5.js":210,"ripemd160":277,"sha.js":297}],98:[function(require,module,exports){var MD5=require('md5.js');module.exports=function(buffer){return new MD5().update(buffer).digest();};},{"md5.js":210}],99:[function(require,module,exports){'use strict';var inherits=require('inherits');var Legacy=require('./legacy');var Base=require('cipher-base');var Buffer=require('safe-buffer').Buffer;var md5=require('create-hash/md5');var RIPEMD160=require('ripemd160');var sha=require('sha.js');var ZEROS=Buffer.alloc(128);function Hmac(alg,key){Base.call(this,'digest');if(typeof key==='string'){key=Buffer.from(key);}var blocksize=alg==='sha512'||alg==='sha384'?128:64;this._alg=alg;this._key=key;if(key.length>blocksize){var hash=alg==='rmd160'?new RIPEMD160():sha(alg);key=hash.update(key).digest();}else if(key.length<blocksize){key=Buffer.concat([key,ZEROS],blocksize);}var ipad=this._ipad=Buffer.allocUnsafe(blocksize);var opad=this._opad=Buffer.allocUnsafe(blocksize);for(var i=0;i<blocksize;i++){ipad[i]=key[i]^0x36;opad[i]=key[i]^0x5C;}this._hash=alg==='rmd160'?new RIPEMD160():sha(alg);this._hash.update(ipad);}inherits(Hmac,Base);Hmac.prototype._update=function(data){this._hash.update(data);};Hmac.prototype._final=function(){var h=this._hash.digest();var hash=this._alg==='rmd160'?new RIPEMD160():sha(this._alg);return hash.update(this._opad).update(h).digest();};module.exports=function createHmac(alg,key){alg=alg.toLowerCase();if(alg==='rmd160'||alg==='ripemd160'){return new Hmac('rmd160',key);}if(alg==='md5'){return new Legacy(md5,key);}return new Hmac(alg,key);};},{"./legacy":100,"cipher-base":93,"create-hash/md5":98,"inherits":190,"ripemd160":277,"safe-buffer":293,"sha.js":297}],100:[function(require,module,exports){'use strict';var inherits=require('inherits');var Buffer=require('safe-buffer').Buffer;var Base=require('cipher-base');var ZEROS=Buffer.alloc(128);var blocksize=64;function Hmac(alg,key){Base.call(this,'digest');if(typeof key==='string'){key=Buffer.from(key);}this._alg=alg;this._key=key;if(key.length>blocksize){key=alg(key);}else if(key.length<blocksize){key=Buffer.concat([key,ZEROS],blocksize);}var ipad=this._ipad=Buffer.allocUnsafe(blocksize);var opad=this._opad=Buffer.allocUnsafe(blocksize);for(var i=0;i<blocksize;i++){ipad[i]=key[i]^0x36;opad[i]=key[i]^0x5C;}this._hash=[ipad];}inherits(Hmac,Base);Hmac.prototype._update=function(data){this._hash.push(data);};Hmac.prototype._final=function(){var h=this._alg(Buffer.concat(this._hash));return this._alg(Buffer.concat([this._opad,h]));};module.exports=Hmac;},{"cipher-base":93,"inherits":190,"safe-buffer":293}],101:[function(require,module,exports){'use strict';// eslint-disable-next-line no-multi-assign
1402
1402
  exports.randomBytes=exports.rng=exports.pseudoRandomBytes=exports.prng=require('randombytes');// eslint-disable-next-line no-multi-assign
1403
1403
  exports.createHash=exports.Hash=require('create-hash');// eslint-disable-next-line no-multi-assign
1404
1404
  exports.createHmac=exports.Hmac=require('create-hmac');var algos=require('browserify-sign/algos');var algoKeys=Object.keys(algos);var hashes=['sha1','sha224','sha256','sha384','sha512','md5','rmd160'].concat(algoKeys);exports.getHashes=function(){return hashes;};var p=require('pbkdf2');exports.pbkdf2=p.pbkdf2;exports.pbkdf2Sync=p.pbkdf2Sync;var aes=require('browserify-cipher');exports.Cipher=aes.Cipher;exports.createCipher=aes.createCipher;exports.Cipheriv=aes.Cipheriv;exports.createCipheriv=aes.createCipheriv;exports.Decipher=aes.Decipher;exports.createDecipher=aes.createDecipher;exports.Decipheriv=aes.Decipheriv;exports.createDecipheriv=aes.createDecipheriv;exports.getCiphers=aes.getCiphers;exports.listCiphers=aes.listCiphers;var dh=require('diffie-hellman');exports.DiffieHellmanGroup=dh.DiffieHellmanGroup;exports.createDiffieHellmanGroup=dh.createDiffieHellmanGroup;exports.getDiffieHellman=dh.getDiffieHellman;exports.createDiffieHellman=dh.createDiffieHellman;exports.DiffieHellman=dh.DiffieHellman;var sign=require('browserify-sign');exports.createSign=sign.createSign;exports.Sign=sign.Sign;exports.createVerify=sign.createVerify;exports.Verify=sign.Verify;exports.createECDH=require('create-ecdh');var publicEncrypt=require('public-encrypt');exports.publicEncrypt=publicEncrypt.publicEncrypt;exports.privateEncrypt=publicEncrypt.privateEncrypt;exports.publicDecrypt=publicEncrypt.publicDecrypt;exports.privateDecrypt=publicEncrypt.privateDecrypt;// the least I can do is make error messages for the rest of the node.js/crypto api.
@@ -1409,23 +1409,23 @@ exports.createHmac=exports.Hmac=require('create-hmac');var algos=require('browse
1409
1409
  // throw new Error('sorry, ' + name + ' is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify');
1410
1410
  // };
1411
1411
  // });
1412
- var rf=require('randomfill');exports.randomFill=rf.randomFill;exports.randomFillSync=rf.randomFillSync;exports.createCredentials=function(){throw new Error('sorry, createCredentials is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify');};exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6};},{"browserify-cipher":56,"browserify-sign":63,"browserify-sign/algos":60,"create-ecdh":95,"create-hash":97,"create-hmac":99,"diffie-hellman":109,"pbkdf2":248,"public-encrypt":257,"randombytes":273,"randomfill":274}],102:[function(require,module,exports){'use strict';var $defineProperty=require('es-define-property');var $SyntaxError=require('es-errors/syntax');var $TypeError=require('es-errors/type');var gopd=require('gopd');/** @type {import('.')} */module.exports=function defineDataProperty(obj,property,value){if(!obj||typeof obj!=='object'&&typeof obj!=='function'){throw new $TypeError('`obj` must be an object or a function`');}if(typeof property!=='string'&&typeof property!=='symbol'){throw new $TypeError('`property` must be a string or a symbol`');}if(arguments.length>3&&typeof arguments[3]!=='boolean'&&arguments[3]!==null){throw new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');}if(arguments.length>4&&typeof arguments[4]!=='boolean'&&arguments[4]!==null){throw new $TypeError('`nonWritable`, if provided, must be a boolean or null');}if(arguments.length>5&&typeof arguments[5]!=='boolean'&&arguments[5]!==null){throw new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');}if(arguments.length>6&&typeof arguments[6]!=='boolean'){throw new $TypeError('`loose`, if provided, must be a boolean');}var nonEnumerable=arguments.length>3?arguments[3]:null;var nonWritable=arguments.length>4?arguments[4]:null;var nonConfigurable=arguments.length>5?arguments[5]:null;var loose=arguments.length>6?arguments[6]:false;/* @type {false | TypedPropertyDescriptor<unknown>} */var desc=!!gopd&&gopd(obj,property);if($defineProperty){$defineProperty(obj,property,{configurable:nonConfigurable===null&&desc?desc.configurable:!nonConfigurable,enumerable:nonEnumerable===null&&desc?desc.enumerable:!nonEnumerable,value:value,writable:nonWritable===null&&desc?desc.writable:!nonWritable});}else if(loose||!nonEnumerable&&!nonWritable&&!nonConfigurable){// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable
1412
+ var rf=require('randomfill');exports.randomFill=rf.randomFill;exports.randomFillSync=rf.randomFillSync;exports.createCredentials=function(){throw new Error('sorry, createCredentials is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify');};exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6};},{"browserify-cipher":56,"browserify-sign":63,"browserify-sign/algos":60,"create-ecdh":95,"create-hash":97,"create-hmac":99,"diffie-hellman":109,"pbkdf2":250,"public-encrypt":259,"randombytes":275,"randomfill":276}],102:[function(require,module,exports){'use strict';var $defineProperty=require('es-define-property');var $SyntaxError=require('es-errors/syntax');var $TypeError=require('es-errors/type');var gopd=require('gopd');/** @type {import('.')} */module.exports=function defineDataProperty(obj,property,value){if(!obj||typeof obj!=='object'&&typeof obj!=='function'){throw new $TypeError('`obj` must be an object or a function`');}if(typeof property!=='string'&&typeof property!=='symbol'){throw new $TypeError('`property` must be a string or a symbol`');}if(arguments.length>3&&typeof arguments[3]!=='boolean'&&arguments[3]!==null){throw new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');}if(arguments.length>4&&typeof arguments[4]!=='boolean'&&arguments[4]!==null){throw new $TypeError('`nonWritable`, if provided, must be a boolean or null');}if(arguments.length>5&&typeof arguments[5]!=='boolean'&&arguments[5]!==null){throw new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');}if(arguments.length>6&&typeof arguments[6]!=='boolean'){throw new $TypeError('`loose`, if provided, must be a boolean');}var nonEnumerable=arguments.length>3?arguments[3]:null;var nonWritable=arguments.length>4?arguments[4]:null;var nonConfigurable=arguments.length>5?arguments[5]:null;var loose=arguments.length>6?arguments[6]:false;/* @type {false | TypedPropertyDescriptor<unknown>} */var desc=!!gopd&&gopd(obj,property);if($defineProperty){$defineProperty(obj,property,{configurable:nonConfigurable===null&&desc?desc.configurable:!nonConfigurable,enumerable:nonEnumerable===null&&desc?desc.enumerable:!nonEnumerable,value:value,writable:nonWritable===null&&desc?desc.writable:!nonWritable});}else if(loose||!nonEnumerable&&!nonWritable&&!nonConfigurable){// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable
1413
1413
  obj[property]=value;// eslint-disable-line no-param-reassign
1414
- }else{throw new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');}};},{"es-define-property":132,"es-errors/syntax":137,"es-errors/type":138,"gopd":167}],103:[function(require,module,exports){'use strict';exports.utils=require('./des/utils');exports.Cipher=require('./des/cipher');exports.DES=require('./des/des');exports.CBC=require('./des/cbc');exports.EDE=require('./des/ede');},{"./des/cbc":104,"./des/cipher":105,"./des/des":106,"./des/ede":107,"./des/utils":108}],104:[function(require,module,exports){'use strict';var assert=require('minimalistic-assert');var inherits=require('inherits');var proto={};function CBCState(iv){assert.equal(iv.length,8,'Invalid IV length');this.iv=new Array(8);for(var i=0;i<this.iv.length;i++)this.iv[i]=iv[i];}function instantiate(Base){function CBC(options){Base.call(this,options);this._cbcInit();}inherits(CBC,Base);var keys=Object.keys(proto);for(var i=0;i<keys.length;i++){var key=keys[i];CBC.prototype[key]=proto[key];}CBC.create=function create(options){return new CBC(options);};return CBC;}exports.instantiate=instantiate;proto._cbcInit=function _cbcInit(){var state=new CBCState(this.options.iv);this._cbcState=state;};proto._update=function _update(inp,inOff,out,outOff){var state=this._cbcState;var superProto=this.constructor.super_.prototype;var iv=state.iv;if(this.type==='encrypt'){for(var i=0;i<this.blockSize;i++)iv[i]^=inp[inOff+i];superProto._update.call(this,iv,0,out,outOff);for(var i=0;i<this.blockSize;i++)iv[i]=out[outOff+i];}else{superProto._update.call(this,inp,inOff,out,outOff);for(var i=0;i<this.blockSize;i++)out[outOff+i]^=iv[i];for(var i=0;i<this.blockSize;i++)iv[i]=inp[inOff+i];}};},{"inherits":189,"minimalistic-assert":239}],105:[function(require,module,exports){'use strict';var assert=require('minimalistic-assert');function Cipher(options){this.options=options;this.type=this.options.type;this.blockSize=8;this._init();this.buffer=new Array(this.blockSize);this.bufferOff=0;this.padding=options.padding!==false;}module.exports=Cipher;Cipher.prototype._init=function _init(){// Might be overrided
1414
+ }else{throw new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');}};},{"es-define-property":132,"es-errors/syntax":137,"es-errors/type":138,"gopd":168}],103:[function(require,module,exports){'use strict';exports.utils=require('./des/utils');exports.Cipher=require('./des/cipher');exports.DES=require('./des/des');exports.CBC=require('./des/cbc');exports.EDE=require('./des/ede');},{"./des/cbc":104,"./des/cipher":105,"./des/des":106,"./des/ede":107,"./des/utils":108}],104:[function(require,module,exports){'use strict';var assert=require('minimalistic-assert');var inherits=require('inherits');var proto={};function CBCState(iv){assert.equal(iv.length,8,'Invalid IV length');this.iv=new Array(8);for(var i=0;i<this.iv.length;i++)this.iv[i]=iv[i];}function instantiate(Base){function CBC(options){Base.call(this,options);this._cbcInit();}inherits(CBC,Base);var keys=Object.keys(proto);for(var i=0;i<keys.length;i++){var key=keys[i];CBC.prototype[key]=proto[key];}CBC.create=function create(options){return new CBC(options);};return CBC;}exports.instantiate=instantiate;proto._cbcInit=function _cbcInit(){var state=new CBCState(this.options.iv);this._cbcState=state;};proto._update=function _update(inp,inOff,out,outOff){var state=this._cbcState;var superProto=this.constructor.super_.prototype;var iv=state.iv;if(this.type==='encrypt'){for(var i=0;i<this.blockSize;i++)iv[i]^=inp[inOff+i];superProto._update.call(this,iv,0,out,outOff);for(var i=0;i<this.blockSize;i++)iv[i]=out[outOff+i];}else{superProto._update.call(this,inp,inOff,out,outOff);for(var i=0;i<this.blockSize;i++)out[outOff+i]^=iv[i];for(var i=0;i<this.blockSize;i++)iv[i]=inp[inOff+i];}};},{"inherits":190,"minimalistic-assert":241}],105:[function(require,module,exports){'use strict';var assert=require('minimalistic-assert');function Cipher(options){this.options=options;this.type=this.options.type;this.blockSize=8;this._init();this.buffer=new Array(this.blockSize);this.bufferOff=0;this.padding=options.padding!==false;}module.exports=Cipher;Cipher.prototype._init=function _init(){// Might be overrided
1415
1415
  };Cipher.prototype.update=function update(data){if(data.length===0)return[];if(this.type==='decrypt')return this._updateDecrypt(data);else return this._updateEncrypt(data);};Cipher.prototype._buffer=function _buffer(data,off){// Append data to buffer
1416
1416
  var min=Math.min(this.buffer.length-this.bufferOff,data.length-off);for(var i=0;i<min;i++)this.buffer[this.bufferOff+i]=data[off+i];this.bufferOff+=min;// Shift next
1417
1417
  return min;};Cipher.prototype._flushBuffer=function _flushBuffer(out,off){this._update(this.buffer,0,out,off);this.bufferOff=0;return this.blockSize;};Cipher.prototype._updateEncrypt=function _updateEncrypt(data){var inputOff=0;var outputOff=0;var count=(this.bufferOff+data.length)/this.blockSize|0;var out=new Array(count*this.blockSize);if(this.bufferOff!==0){inputOff+=this._buffer(data,inputOff);if(this.bufferOff===this.buffer.length)outputOff+=this._flushBuffer(out,outputOff);}// Write blocks
1418
1418
  var max=data.length-(data.length-inputOff)%this.blockSize;for(;inputOff<max;inputOff+=this.blockSize){this._update(data,inputOff,out,outputOff);outputOff+=this.blockSize;}// Queue rest
1419
1419
  for(;inputOff<data.length;inputOff++,this.bufferOff++)this.buffer[this.bufferOff]=data[inputOff];return out;};Cipher.prototype._updateDecrypt=function _updateDecrypt(data){var inputOff=0;var outputOff=0;var count=Math.ceil((this.bufferOff+data.length)/this.blockSize)-1;var out=new Array(count*this.blockSize);// TODO(indutny): optimize it, this is far from optimal
1420
1420
  for(;count>0;count--){inputOff+=this._buffer(data,inputOff);outputOff+=this._flushBuffer(out,outputOff);}// Buffer rest of the input
1421
- inputOff+=this._buffer(data,inputOff);return out;};Cipher.prototype.final=function final(buffer){var first;if(buffer)first=this.update(buffer);var last;if(this.type==='encrypt')last=this._finalEncrypt();else last=this._finalDecrypt();if(first)return first.concat(last);else return last;};Cipher.prototype._pad=function _pad(buffer,off){if(off===0)return false;while(off<buffer.length)buffer[off++]=0;return true;};Cipher.prototype._finalEncrypt=function _finalEncrypt(){if(!this._pad(this.buffer,this.bufferOff))return[];var out=new Array(this.blockSize);this._update(this.buffer,0,out,0);return out;};Cipher.prototype._unpad=function _unpad(buffer){return buffer;};Cipher.prototype._finalDecrypt=function _finalDecrypt(){assert.equal(this.bufferOff,this.blockSize,'Not enough data to decrypt');var out=new Array(this.blockSize);this._flushBuffer(out,0);return this._unpad(out);};},{"minimalistic-assert":239}],106:[function(require,module,exports){'use strict';var assert=require('minimalistic-assert');var inherits=require('inherits');var utils=require('./utils');var Cipher=require('./cipher');function DESState(){this.tmp=new Array(2);this.keys=null;}function DES(options){Cipher.call(this,options);var state=new DESState();this._desState=state;this.deriveKeys(state,options.key);}inherits(DES,Cipher);module.exports=DES;DES.create=function create(options){return new DES(options);};var shiftTable=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];DES.prototype.deriveKeys=function deriveKeys(state,key){state.keys=new Array(16*2);assert.equal(key.length,this.blockSize,'Invalid key length');var kL=utils.readUInt32BE(key,0);var kR=utils.readUInt32BE(key,4);utils.pc1(kL,kR,state.tmp,0);kL=state.tmp[0];kR=state.tmp[1];for(var i=0;i<state.keys.length;i+=2){var shift=shiftTable[i>>>1];kL=utils.r28shl(kL,shift);kR=utils.r28shl(kR,shift);utils.pc2(kL,kR,state.keys,i);}};DES.prototype._update=function _update(inp,inOff,out,outOff){var state=this._desState;var l=utils.readUInt32BE(inp,inOff);var r=utils.readUInt32BE(inp,inOff+4);// Initial Permutation
1421
+ inputOff+=this._buffer(data,inputOff);return out;};Cipher.prototype.final=function final(buffer){var first;if(buffer)first=this.update(buffer);var last;if(this.type==='encrypt')last=this._finalEncrypt();else last=this._finalDecrypt();if(first)return first.concat(last);else return last;};Cipher.prototype._pad=function _pad(buffer,off){if(off===0)return false;while(off<buffer.length)buffer[off++]=0;return true;};Cipher.prototype._finalEncrypt=function _finalEncrypt(){if(!this._pad(this.buffer,this.bufferOff))return[];var out=new Array(this.blockSize);this._update(this.buffer,0,out,0);return out;};Cipher.prototype._unpad=function _unpad(buffer){return buffer;};Cipher.prototype._finalDecrypt=function _finalDecrypt(){assert.equal(this.bufferOff,this.blockSize,'Not enough data to decrypt');var out=new Array(this.blockSize);this._flushBuffer(out,0);return this._unpad(out);};},{"minimalistic-assert":241}],106:[function(require,module,exports){'use strict';var assert=require('minimalistic-assert');var inherits=require('inherits');var utils=require('./utils');var Cipher=require('./cipher');function DESState(){this.tmp=new Array(2);this.keys=null;}function DES(options){Cipher.call(this,options);var state=new DESState();this._desState=state;this.deriveKeys(state,options.key);}inherits(DES,Cipher);module.exports=DES;DES.create=function create(options){return new DES(options);};var shiftTable=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];DES.prototype.deriveKeys=function deriveKeys(state,key){state.keys=new Array(16*2);assert.equal(key.length,this.blockSize,'Invalid key length');var kL=utils.readUInt32BE(key,0);var kR=utils.readUInt32BE(key,4);utils.pc1(kL,kR,state.tmp,0);kL=state.tmp[0];kR=state.tmp[1];for(var i=0;i<state.keys.length;i+=2){var shift=shiftTable[i>>>1];kL=utils.r28shl(kL,shift);kR=utils.r28shl(kR,shift);utils.pc2(kL,kR,state.keys,i);}};DES.prototype._update=function _update(inp,inOff,out,outOff){var state=this._desState;var l=utils.readUInt32BE(inp,inOff);var r=utils.readUInt32BE(inp,inOff+4);// Initial Permutation
1422
1422
  utils.ip(l,r,state.tmp,0);l=state.tmp[0];r=state.tmp[1];if(this.type==='encrypt')this._encrypt(state,l,r,state.tmp,0);else this._decrypt(state,l,r,state.tmp,0);l=state.tmp[0];r=state.tmp[1];utils.writeUInt32BE(out,l,outOff);utils.writeUInt32BE(out,r,outOff+4);};DES.prototype._pad=function _pad(buffer,off){if(this.padding===false){return false;}var value=buffer.length-off;for(var i=off;i<buffer.length;i++)buffer[i]=value;return true;};DES.prototype._unpad=function _unpad(buffer){if(this.padding===false){return buffer;}var pad=buffer[buffer.length-1];for(var i=buffer.length-pad;i<buffer.length;i++)assert.equal(buffer[i],pad);return buffer.slice(0,buffer.length-pad);};DES.prototype._encrypt=function _encrypt(state,lStart,rStart,out,off){var l=lStart;var r=rStart;// Apply f() x16 times
1423
1423
  for(var i=0;i<state.keys.length;i+=2){var keyL=state.keys[i];var keyR=state.keys[i+1];// f(r, k)
1424
1424
  utils.expand(r,state.tmp,0);keyL^=state.tmp[0];keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR);var f=utils.permute(s);var t=r;r=(l^f)>>>0;l=t;}// Reverse Initial Permutation
1425
1425
  utils.rip(r,l,out,off);};DES.prototype._decrypt=function _decrypt(state,lStart,rStart,out,off){var l=rStart;var r=lStart;// Apply f() x16 times
1426
1426
  for(var i=state.keys.length-2;i>=0;i-=2){var keyL=state.keys[i];var keyR=state.keys[i+1];// f(r, k)
1427
1427
  utils.expand(l,state.tmp,0);keyL^=state.tmp[0];keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR);var f=utils.permute(s);var t=l;l=(r^f)>>>0;r=t;}// Reverse Initial Permutation
1428
- utils.rip(l,r,out,off);};},{"./cipher":105,"./utils":108,"inherits":189,"minimalistic-assert":239}],107:[function(require,module,exports){'use strict';var assert=require('minimalistic-assert');var inherits=require('inherits');var Cipher=require('./cipher');var DES=require('./des');function EDEState(type,key){assert.equal(key.length,24,'Invalid key length');var k1=key.slice(0,8);var k2=key.slice(8,16);var k3=key.slice(16,24);if(type==='encrypt'){this.ciphers=[DES.create({type:'encrypt',key:k1}),DES.create({type:'decrypt',key:k2}),DES.create({type:'encrypt',key:k3})];}else{this.ciphers=[DES.create({type:'decrypt',key:k3}),DES.create({type:'encrypt',key:k2}),DES.create({type:'decrypt',key:k1})];}}function EDE(options){Cipher.call(this,options);var state=new EDEState(this.type,this.options.key);this._edeState=state;}inherits(EDE,Cipher);module.exports=EDE;EDE.create=function create(options){return new EDE(options);};EDE.prototype._update=function _update(inp,inOff,out,outOff){var state=this._edeState;state.ciphers[0]._update(inp,inOff,out,outOff);state.ciphers[1]._update(out,outOff,out,outOff);state.ciphers[2]._update(out,outOff,out,outOff);};EDE.prototype._pad=DES.prototype._pad;EDE.prototype._unpad=DES.prototype._unpad;},{"./cipher":105,"./des":106,"inherits":189,"minimalistic-assert":239}],108:[function(require,module,exports){'use strict';exports.readUInt32BE=function readUInt32BE(bytes,off){var res=bytes[0+off]<<24|bytes[1+off]<<16|bytes[2+off]<<8|bytes[3+off];return res>>>0;};exports.writeUInt32BE=function writeUInt32BE(bytes,value,off){bytes[0+off]=value>>>24;bytes[1+off]=value>>>16&0xff;bytes[2+off]=value>>>8&0xff;bytes[3+off]=value&0xff;};exports.ip=function ip(inL,inR,out,off){var outL=0;var outR=0;for(var i=6;i>=0;i-=2){for(var j=0;j<=24;j+=8){outL<<=1;outL|=inR>>>j+i&1;}for(var j=0;j<=24;j+=8){outL<<=1;outL|=inL>>>j+i&1;}}for(var i=6;i>=0;i-=2){for(var j=1;j<=25;j+=8){outR<<=1;outR|=inR>>>j+i&1;}for(var j=1;j<=25;j+=8){outR<<=1;outR|=inL>>>j+i&1;}}out[off+0]=outL>>>0;out[off+1]=outR>>>0;};exports.rip=function rip(inL,inR,out,off){var outL=0;var outR=0;for(var i=0;i<4;i++){for(var j=24;j>=0;j-=8){outL<<=1;outL|=inR>>>j+i&1;outL<<=1;outL|=inL>>>j+i&1;}}for(var i=4;i<8;i++){for(var j=24;j>=0;j-=8){outR<<=1;outR|=inR>>>j+i&1;outR<<=1;outR|=inL>>>j+i&1;}}out[off+0]=outL>>>0;out[off+1]=outR>>>0;};exports.pc1=function pc1(inL,inR,out,off){var outL=0;var outR=0;// 7, 15, 23, 31, 39, 47, 55, 63
1428
+ utils.rip(l,r,out,off);};},{"./cipher":105,"./utils":108,"inherits":190,"minimalistic-assert":241}],107:[function(require,module,exports){'use strict';var assert=require('minimalistic-assert');var inherits=require('inherits');var Cipher=require('./cipher');var DES=require('./des');function EDEState(type,key){assert.equal(key.length,24,'Invalid key length');var k1=key.slice(0,8);var k2=key.slice(8,16);var k3=key.slice(16,24);if(type==='encrypt'){this.ciphers=[DES.create({type:'encrypt',key:k1}),DES.create({type:'decrypt',key:k2}),DES.create({type:'encrypt',key:k3})];}else{this.ciphers=[DES.create({type:'decrypt',key:k3}),DES.create({type:'encrypt',key:k2}),DES.create({type:'decrypt',key:k1})];}}function EDE(options){Cipher.call(this,options);var state=new EDEState(this.type,this.options.key);this._edeState=state;}inherits(EDE,Cipher);module.exports=EDE;EDE.create=function create(options){return new EDE(options);};EDE.prototype._update=function _update(inp,inOff,out,outOff){var state=this._edeState;state.ciphers[0]._update(inp,inOff,out,outOff);state.ciphers[1]._update(out,outOff,out,outOff);state.ciphers[2]._update(out,outOff,out,outOff);};EDE.prototype._pad=DES.prototype._pad;EDE.prototype._unpad=DES.prototype._unpad;},{"./cipher":105,"./des":106,"inherits":190,"minimalistic-assert":241}],108:[function(require,module,exports){'use strict';exports.readUInt32BE=function readUInt32BE(bytes,off){var res=bytes[0+off]<<24|bytes[1+off]<<16|bytes[2+off]<<8|bytes[3+off];return res>>>0;};exports.writeUInt32BE=function writeUInt32BE(bytes,value,off){bytes[0+off]=value>>>24;bytes[1+off]=value>>>16&0xff;bytes[2+off]=value>>>8&0xff;bytes[3+off]=value&0xff;};exports.ip=function ip(inL,inR,out,off){var outL=0;var outR=0;for(var i=6;i>=0;i-=2){for(var j=0;j<=24;j+=8){outL<<=1;outL|=inR>>>j+i&1;}for(var j=0;j<=24;j+=8){outL<<=1;outL|=inL>>>j+i&1;}}for(var i=6;i>=0;i-=2){for(var j=1;j<=25;j+=8){outR<<=1;outR|=inR>>>j+i&1;}for(var j=1;j<=25;j+=8){outR<<=1;outR|=inL>>>j+i&1;}}out[off+0]=outL>>>0;out[off+1]=outR>>>0;};exports.rip=function rip(inL,inR,out,off){var outL=0;var outR=0;for(var i=0;i<4;i++){for(var j=24;j>=0;j-=8){outL<<=1;outL|=inR>>>j+i&1;outL<<=1;outL|=inL>>>j+i&1;}}for(var i=4;i<8;i++){for(var j=24;j>=0;j-=8){outR<<=1;outR|=inR>>>j+i&1;outR<<=1;outR|=inL>>>j+i&1;}}out[off+0]=outL>>>0;out[off+1]=outR>>>0;};exports.pc1=function pc1(inL,inR,out,off){var outL=0;var outR=0;// 7, 15, 23, 31, 39, 47, 55, 63
1429
1429
  // 6, 14, 22, 30, 39, 47, 55, 63
1430
1430
  // 5, 13, 21, 29, 39, 47, 55, 63
1431
1431
  // 4, 12, 20, 28
@@ -1443,11 +1443,11 @@ error+=8;}else{//we wouldn't be able to test the generator
1443
1443
  error+=4;}primeCache[hex]=error;return error;}if(!millerRabin.test(prime.shrn(1))){//not a safe prime
1444
1444
  error+=2;}var rem;switch(gen){case'02':if(prime.mod(TWENTYFOUR).cmp(ELEVEN)){// unsuidable generator
1445
1445
  error+=8;}break;case'05':rem=prime.mod(TEN);if(rem.cmp(THREE)&&rem.cmp(SEVEN)){// prime mod 10 needs to equal 3 or 7
1446
- error+=8;}break;default:error+=4;}primeCache[hex]=error;return error;}function DH(prime,generator,malleable){this.setGenerator(generator);this.__prime=new BN(prime);this._prime=BN.mont(this.__prime);this._primeLen=prime.length;this._pub=undefined;this._priv=undefined;this._primeCode=undefined;if(malleable){this.setPublicKey=setPublicKey;this.setPrivateKey=setPrivateKey;}else{this._primeCode=8;}}Object.defineProperty(DH.prototype,'verifyError',{enumerable:true,get:function(){if(typeof this._primeCode!=='number'){this._primeCode=checkPrime(this.__prime,this.__gen);}return this._primeCode;}});DH.prototype.generateKeys=function(){if(!this._priv){this._priv=new BN(randomBytes(this._primeLen));}this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed();return this.getPublicKey();};DH.prototype.computeSecret=function(other){other=new BN(other);other=other.toRed(this._prime);var secret=other.redPow(this._priv).fromRed();var out=new Buffer(secret.toArray());var prime=this.getPrime();if(out.length<prime.length){var front=new Buffer(prime.length-out.length);front.fill(0);out=Buffer.concat([front,out]);}return out;};DH.prototype.getPublicKey=function getPublicKey(enc){return formatReturnValue(this._pub,enc);};DH.prototype.getPrivateKey=function getPrivateKey(enc){return formatReturnValue(this._priv,enc);};DH.prototype.getPrime=function(enc){return formatReturnValue(this.__prime,enc);};DH.prototype.getGenerator=function(enc){return formatReturnValue(this._gen,enc);};DH.prototype.setGenerator=function(gen,enc){enc=enc||'utf8';if(!Buffer.isBuffer(gen)){gen=new Buffer(gen,enc);}this.__gen=gen;this._gen=new BN(gen);return this;};function formatReturnValue(bn,enc){var buf=new Buffer(bn.toArray());if(!enc){return buf;}else{return buf.toString(enc);}}}).call(this);}).call(this,require("buffer").Buffer);},{"./generatePrime":111,"bn.js":113,"buffer":83,"miller-rabin":237,"randombytes":273}],111:[function(require,module,exports){var randomBytes=require('randombytes');module.exports=findPrime;findPrime.simpleSieve=simpleSieve;findPrime.fermatTest=fermatTest;var BN=require('bn.js');var TWENTYFOUR=new BN(24);var MillerRabin=require('miller-rabin');var millerRabin=new MillerRabin();var ONE=new BN(1);var TWO=new BN(2);var FIVE=new BN(5);var SIXTEEN=new BN(16);var EIGHT=new BN(8);var TEN=new BN(10);var THREE=new BN(3);var SEVEN=new BN(7);var ELEVEN=new BN(11);var FOUR=new BN(4);var TWELVE=new BN(12);var primes=null;function _getPrimes(){if(primes!==null)return primes;var limit=0x100000;var res=[];res[0]=2;for(var i=1,k=3;k<limit;k+=2){var sqrt=Math.ceil(Math.sqrt(k));for(var j=0;j<i&&res[j]<=sqrt;j++)if(k%res[j]===0)break;if(i!==j&&res[j]<=sqrt)continue;res[i++]=k;}primes=res;return res;}function simpleSieve(p){var primes=_getPrimes();for(var i=0;i<primes.length;i++)if(p.modn(primes[i])===0){if(p.cmpn(primes[i])===0){return true;}else{return false;}}return true;}function fermatTest(p){var red=BN.mont(p);return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1)===0;}function findPrime(bits,gen){if(bits<16){// this is what openssl does
1447
- if(gen===2||gen===5){return new BN([0x8c,0x7b]);}else{return new BN([0x8c,0x27]);}}gen=new BN(gen);var num,n2;while(true){num=new BN(randomBytes(Math.ceil(bits/8)));while(num.bitLength()>bits){num.ishrn(1);}if(num.isEven()){num.iadd(ONE);}if(!num.testn(1)){num.iadd(TWO);}if(!gen.cmp(TWO)){while(num.mod(TWENTYFOUR).cmp(ELEVEN)){num.iadd(FOUR);}}else if(!gen.cmp(FIVE)){while(num.mod(TEN).cmp(THREE)){num.iadd(FOUR);}}n2=num.shrn(1);if(simpleSieve(n2)&&simpleSieve(num)&&fermatTest(n2)&&fermatTest(num)&&millerRabin.test(n2)&&millerRabin.test(num)){return num;}}}},{"bn.js":113,"miller-rabin":237,"randombytes":273}],112:[function(require,module,exports){module.exports={"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}};},{}],113:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments);},{"buffer":38,"dup":16}],114:[function(require,module,exports){'use strict';var callBind=require('call-bind-apply-helpers');var gOPD=require('gopd');var hasProtoAccessor;try{// eslint-disable-next-line no-extra-parens, no-proto
1446
+ error+=8;}break;default:error+=4;}primeCache[hex]=error;return error;}function DH(prime,generator,malleable){this.setGenerator(generator);this.__prime=new BN(prime);this._prime=BN.mont(this.__prime);this._primeLen=prime.length;this._pub=undefined;this._priv=undefined;this._primeCode=undefined;if(malleable){this.setPublicKey=setPublicKey;this.setPrivateKey=setPrivateKey;}else{this._primeCode=8;}}Object.defineProperty(DH.prototype,'verifyError',{enumerable:true,get:function(){if(typeof this._primeCode!=='number'){this._primeCode=checkPrime(this.__prime,this.__gen);}return this._primeCode;}});DH.prototype.generateKeys=function(){if(!this._priv){this._priv=new BN(randomBytes(this._primeLen));}this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed();return this.getPublicKey();};DH.prototype.computeSecret=function(other){other=new BN(other);other=other.toRed(this._prime);var secret=other.redPow(this._priv).fromRed();var out=new Buffer(secret.toArray());var prime=this.getPrime();if(out.length<prime.length){var front=new Buffer(prime.length-out.length);front.fill(0);out=Buffer.concat([front,out]);}return out;};DH.prototype.getPublicKey=function getPublicKey(enc){return formatReturnValue(this._pub,enc);};DH.prototype.getPrivateKey=function getPrivateKey(enc){return formatReturnValue(this._priv,enc);};DH.prototype.getPrime=function(enc){return formatReturnValue(this.__prime,enc);};DH.prototype.getGenerator=function(enc){return formatReturnValue(this._gen,enc);};DH.prototype.setGenerator=function(gen,enc){enc=enc||'utf8';if(!Buffer.isBuffer(gen)){gen=new Buffer(gen,enc);}this.__gen=gen;this._gen=new BN(gen);return this;};function formatReturnValue(bn,enc){var buf=new Buffer(bn.toArray());if(!enc){return buf;}else{return buf.toString(enc);}}}).call(this);}).call(this,require("buffer").Buffer);},{"./generatePrime":111,"bn.js":113,"buffer":83,"miller-rabin":239,"randombytes":275}],111:[function(require,module,exports){var randomBytes=require('randombytes');module.exports=findPrime;findPrime.simpleSieve=simpleSieve;findPrime.fermatTest=fermatTest;var BN=require('bn.js');var TWENTYFOUR=new BN(24);var MillerRabin=require('miller-rabin');var millerRabin=new MillerRabin();var ONE=new BN(1);var TWO=new BN(2);var FIVE=new BN(5);var SIXTEEN=new BN(16);var EIGHT=new BN(8);var TEN=new BN(10);var THREE=new BN(3);var SEVEN=new BN(7);var ELEVEN=new BN(11);var FOUR=new BN(4);var TWELVE=new BN(12);var primes=null;function _getPrimes(){if(primes!==null)return primes;var limit=0x100000;var res=[];res[0]=2;for(var i=1,k=3;k<limit;k+=2){var sqrt=Math.ceil(Math.sqrt(k));for(var j=0;j<i&&res[j]<=sqrt;j++)if(k%res[j]===0)break;if(i!==j&&res[j]<=sqrt)continue;res[i++]=k;}primes=res;return res;}function simpleSieve(p){var primes=_getPrimes();for(var i=0;i<primes.length;i++)if(p.modn(primes[i])===0){if(p.cmpn(primes[i])===0){return true;}else{return false;}}return true;}function fermatTest(p){var red=BN.mont(p);return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1)===0;}function findPrime(bits,gen){if(bits<16){// this is what openssl does
1447
+ if(gen===2||gen===5){return new BN([0x8c,0x7b]);}else{return new BN([0x8c,0x27]);}}gen=new BN(gen);var num,n2;while(true){num=new BN(randomBytes(Math.ceil(bits/8)));while(num.bitLength()>bits){num.ishrn(1);}if(num.isEven()){num.iadd(ONE);}if(!num.testn(1)){num.iadd(TWO);}if(!gen.cmp(TWO)){while(num.mod(TWENTYFOUR).cmp(ELEVEN)){num.iadd(FOUR);}}else if(!gen.cmp(FIVE)){while(num.mod(TEN).cmp(THREE)){num.iadd(FOUR);}}n2=num.shrn(1);if(simpleSieve(n2)&&simpleSieve(num)&&fermatTest(n2)&&fermatTest(num)&&millerRabin.test(n2)&&millerRabin.test(num)){return num;}}}},{"bn.js":113,"miller-rabin":239,"randombytes":275}],112:[function(require,module,exports){module.exports={"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}};},{}],113:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments);},{"buffer":38,"dup":16}],114:[function(require,module,exports){'use strict';var callBind=require('call-bind-apply-helpers');var gOPD=require('gopd');var hasProtoAccessor;try{// eslint-disable-next-line no-extra-parens, no-proto
1448
1448
  hasProtoAccessor=/** @type {{ __proto__?: typeof Array.prototype }} */[].__proto__===Array.prototype;}catch(e){if(!e||typeof e!=='object'||!('code'in e)||e.code!=='ERR_PROTO_ACCESS'){throw e;}}// eslint-disable-next-line no-extra-parens
1449
1449
  var desc=!!hasProtoAccessor&&gOPD&&gOPD(Object.prototype,/** @type {keyof typeof Object.prototype} */'__proto__');var $Object=Object;var $getPrototypeOf=$Object.getPrototypeOf;/** @type {import('./get')} */module.exports=desc&&typeof desc.get==='function'?callBind([desc.get]):typeof $getPrototypeOf==='function'?/** @type {import('./get')} */function getDunder(value){// eslint-disable-next-line eqeqeq
1450
- return $getPrototypeOf(value==null?value:$Object(value));}:false;},{"call-bind-apply-helpers":89,"gopd":167}],115:[function(require,module,exports){'use strict';var elliptic=exports;elliptic.version=require('../package.json').version;elliptic.utils=require('./elliptic/utils');elliptic.rand=require('brorand');elliptic.curve=require('./elliptic/curve');elliptic.curves=require('./elliptic/curves');// Protocols
1450
+ return $getPrototypeOf(value==null?value:$Object(value));}:false;},{"call-bind-apply-helpers":89,"gopd":168}],115:[function(require,module,exports){'use strict';var elliptic=exports;elliptic.version=require('../package.json').version;elliptic.utils=require('./elliptic/utils');elliptic.rand=require('brorand');elliptic.curve=require('./elliptic/curve');elliptic.curves=require('./elliptic/curves');// Protocols
1451
1451
  elliptic.ec=require('./elliptic/ec');elliptic.eddsa=require('./elliptic/eddsa');},{"../package.json":131,"./elliptic/curve":118,"./elliptic/curves":121,"./elliptic/ec":122,"./elliptic/eddsa":125,"./elliptic/utils":129,"brorand":37}],116:[function(require,module,exports){'use strict';var BN=require('bn.js');var utils=require('../utils');var getNAF=utils.getNAF;var getJSF=utils.getJSF;var assert=utils.assert;function BaseCurve(type,conf){this.type=type;this.p=new BN(conf.p,16);// Use Montgomery, when there is no fast reduction for the prime
1452
1452
  this.red=conf.prime?BN.red(conf.prime):BN.mont(this.p);// Useful for many curves
1453
1453
  this.zero=new BN(0).toRed(this.red);this.one=new BN(1).toRed(this.red);this.two=new BN(2).toRed(this.red);// Curve configuration, optional
@@ -1544,7 +1544,7 @@ nz=f.redMul(g);}else{// Y3 = A * G * (D - C)
1544
1544
  ny=a.redMul(g).redMul(d.redSub(c));// Z3 = c * F * G
1545
1545
  nz=this.curve._mulC(f).redMul(g);}return this.curve.point(nx,ny,nz);};Point.prototype.add=function add(p){if(this.isInfinity())return p;if(p.isInfinity())return this;if(this.curve.extended)return this._extAdd(p);else return this._projAdd(p);};Point.prototype.mul=function mul(k){if(this._hasDoubles(k))return this.curve._fixedNafMul(this,k);else return this.curve._wnafMul(this,k);};Point.prototype.mulAdd=function mulAdd(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,false);};Point.prototype.jmulAdd=function jmulAdd(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,true);};Point.prototype.normalize=function normalize(){if(this.zOne)return this;// Normalize coordinates
1546
1546
  var zi=this.z.redInvm();this.x=this.x.redMul(zi);this.y=this.y.redMul(zi);if(this.t)this.t=this.t.redMul(zi);this.z=this.curve.one;this.zOne=true;return this;};Point.prototype.neg=function neg(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg());};Point.prototype.getX=function getX(){this.normalize();return this.x.fromRed();};Point.prototype.getY=function getY(){this.normalize();return this.y.fromRed();};Point.prototype.eq=function eq(other){return this===other||this.getX().cmp(other.getX())===0&&this.getY().cmp(other.getY())===0;};Point.prototype.eqXToP=function eqXToP(x){var rx=x.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(rx)===0)return true;var xc=x.clone();var t=this.curve.redN.redMul(this.z);for(;;){xc.iadd(this.curve.n);if(xc.cmp(this.curve.p)>=0)return false;rx.redIAdd(t);if(this.x.cmp(rx)===0)return true;}};// Compatibility with BaseCurve
1547
- Point.prototype.toP=Point.prototype.normalize;Point.prototype.mixedAdd=Point.prototype.add;},{"../utils":129,"./base":116,"bn.js":130,"inherits":189}],118:[function(require,module,exports){'use strict';var curve=exports;curve.base=require('./base');curve.short=require('./short');curve.mont=require('./mont');curve.edwards=require('./edwards');},{"./base":116,"./edwards":117,"./mont":119,"./short":120}],119:[function(require,module,exports){'use strict';var BN=require('bn.js');var inherits=require('inherits');var Base=require('./base');var utils=require('../utils');function MontCurve(conf){Base.call(this,'mont',conf);this.a=new BN(conf.a,16).toRed(this.red);this.b=new BN(conf.b,16).toRed(this.red);this.i4=new BN(4).toRed(this.red).redInvm();this.two=new BN(2).toRed(this.red);this.a24=this.i4.redMul(this.a.redAdd(this.two));}inherits(MontCurve,Base);module.exports=MontCurve;MontCurve.prototype.validate=function validate(point){var x=point.normalize().x;var x2=x.redSqr();var rhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);var y=rhs.redSqrt();return y.redSqr().cmp(rhs)===0;};function Point(curve,x,z){Base.BasePoint.call(this,curve,'projective');if(x===null&&z===null){this.x=this.curve.one;this.z=this.curve.zero;}else{this.x=new BN(x,16);this.z=new BN(z,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);}}inherits(Point,Base.BasePoint);MontCurve.prototype.decodePoint=function decodePoint(bytes,enc){return this.point(utils.toArray(bytes,enc),1);};MontCurve.prototype.point=function point(x,z){return new Point(this,x,z);};MontCurve.prototype.pointFromJSON=function pointFromJSON(obj){return Point.fromJSON(this,obj);};Point.prototype.precompute=function precompute(){// No-op
1547
+ Point.prototype.toP=Point.prototype.normalize;Point.prototype.mixedAdd=Point.prototype.add;},{"../utils":129,"./base":116,"bn.js":130,"inherits":190}],118:[function(require,module,exports){'use strict';var curve=exports;curve.base=require('./base');curve.short=require('./short');curve.mont=require('./mont');curve.edwards=require('./edwards');},{"./base":116,"./edwards":117,"./mont":119,"./short":120}],119:[function(require,module,exports){'use strict';var BN=require('bn.js');var inherits=require('inherits');var Base=require('./base');var utils=require('../utils');function MontCurve(conf){Base.call(this,'mont',conf);this.a=new BN(conf.a,16).toRed(this.red);this.b=new BN(conf.b,16).toRed(this.red);this.i4=new BN(4).toRed(this.red).redInvm();this.two=new BN(2).toRed(this.red);this.a24=this.i4.redMul(this.a.redAdd(this.two));}inherits(MontCurve,Base);module.exports=MontCurve;MontCurve.prototype.validate=function validate(point){var x=point.normalize().x;var x2=x.redSqr();var rhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);var y=rhs.redSqrt();return y.redSqr().cmp(rhs)===0;};function Point(curve,x,z){Base.BasePoint.call(this,curve,'projective');if(x===null&&z===null){this.x=this.curve.one;this.z=this.curve.zero;}else{this.x=new BN(x,16);this.z=new BN(z,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);}}inherits(Point,Base.BasePoint);MontCurve.prototype.decodePoint=function decodePoint(bytes,enc){return this.point(utils.toArray(bytes,enc),1);};MontCurve.prototype.point=function point(x,z){return new Point(this,x,z);};MontCurve.prototype.pointFromJSON=function pointFromJSON(obj){return Point.fromJSON(this,obj);};Point.prototype.precompute=function precompute(){// No-op
1548
1548
  };Point.prototype._encode=function _encode(){return this.getX().toArray('be',this.curve.p.byteLength());};Point.fromJSON=function fromJSON(curve,obj){return new Point(curve,obj[0],obj[1]||curve.one);};Point.prototype.inspect=function inspect(){if(this.isInfinity())return'<EC Point Infinity>';return'<EC Point x: '+this.x.fromRed().toString(16,2)+' z: '+this.z.fromRed().toString(16,2)+'>';};Point.prototype.isInfinity=function isInfinity(){// XXX This code assumes that zero is always zero in red
1549
1549
  return this.z.cmpn(0)===0;};Point.prototype.dbl=function dbl(){// http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3
1550
1550
  // 2M + 2S + 4A
@@ -1573,7 +1573,7 @@ a=a.diffAdd(b,c);// N * Q = 2 * ((N / 2) * Q + Q))
1573
1573
  b=b.dbl();}else{// N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)
1574
1574
  b=a.diffAdd(b,c);// N * Q + Q = 2 * ((N / 2) * Q + Q)
1575
1575
  a=a.dbl();}}return b;};Point.prototype.mulAdd=function mulAdd(){throw new Error('Not supported on Montgomery curve');};Point.prototype.jumlAdd=function jumlAdd(){throw new Error('Not supported on Montgomery curve');};Point.prototype.eq=function eq(other){return this.getX().cmp(other.getX())===0;};Point.prototype.normalize=function normalize(){this.x=this.x.redMul(this.z.redInvm());this.z=this.curve.one;return this;};Point.prototype.getX=function getX(){// Normalize coordinates
1576
- this.normalize();return this.x.fromRed();};},{"../utils":129,"./base":116,"bn.js":130,"inherits":189}],120:[function(require,module,exports){'use strict';var utils=require('../utils');var BN=require('bn.js');var inherits=require('inherits');var Base=require('./base');var assert=utils.assert;function ShortCurve(conf){Base.call(this,'short',conf);this.a=new BN(conf.a,16).toRed(this.red);this.b=new BN(conf.b,16).toRed(this.red);this.tinv=this.two.redInvm();this.zeroA=this.a.fromRed().cmpn(0)===0;this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0;// If the curve is endomorphic, precalculate beta and lambda
1576
+ this.normalize();return this.x.fromRed();};},{"../utils":129,"./base":116,"bn.js":130,"inherits":190}],120:[function(require,module,exports){'use strict';var utils=require('../utils');var BN=require('bn.js');var inherits=require('inherits');var Base=require('./base');var assert=utils.assert;function ShortCurve(conf){Base.call(this,'short',conf);this.a=new BN(conf.a,16).toRed(this.red);this.b=new BN(conf.b,16).toRed(this.red);this.tinv=this.two.redInvm();this.zeroA=this.a.fromRed().cmpn(0)===0;this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0;// If the curve is endomorphic, precalculate beta and lambda
1577
1577
  this.endo=this._getEndomorphism(conf);this._endoWnafT1=new Array(4);this._endoWnafT2=new Array(4);}inherits(ShortCurve,Base);module.exports=ShortCurve;ShortCurve.prototype._getEndomorphism=function _getEndomorphism(conf){// No efficient endomorphism
1578
1578
  if(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)return;// Compute beta and lambda, that lambda * P = (beta * Px; Py)
1579
1579
  var beta;var lambda;if(conf.beta){beta=new BN(conf.beta,16).toRed(this.red);}else{var betas=this._getEndoRoots(this.p);// Choose the smallest beta
@@ -1677,10 +1677,10 @@ var ny=this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));ny=ny.redIAdd
1677
1677
  var nz=this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);return this.curve.jpoint(nx,ny,nz);};JPoint.prototype.mul=function mul(k,kbase){k=new BN(k,kbase);return this.curve._wnafMul(this,k);};JPoint.prototype.eq=function eq(p){if(p.type==='affine')return this.eq(p.toJ());if(this===p)return true;// x1 * z2^2 == x2 * z1^2
1678
1678
  var z2=this.z.redSqr();var pz2=p.z.redSqr();if(this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0)!==0)return false;// y1 * z2^3 == y2 * z1^3
1679
1679
  var z3=z2.redMul(this.z);var pz3=pz2.redMul(p.z);return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0)===0;};JPoint.prototype.eqXToP=function eqXToP(x){var zs=this.z.redSqr();var rx=x.toRed(this.curve.red).redMul(zs);if(this.x.cmp(rx)===0)return true;var xc=x.clone();var t=this.curve.redN.redMul(zs);for(;;){xc.iadd(this.curve.n);if(xc.cmp(this.curve.p)>=0)return false;rx.redIAdd(t);if(this.x.cmp(rx)===0)return true;}};JPoint.prototype.inspect=function inspect(){if(this.isInfinity())return'<EC JPoint Infinity>';return'<EC JPoint x: '+this.x.toString(16,2)+' y: '+this.y.toString(16,2)+' z: '+this.z.toString(16,2)+'>';};JPoint.prototype.isInfinity=function isInfinity(){// XXX This code assumes that zero is always zero in red
1680
- return this.z.cmpn(0)===0;};},{"../utils":129,"./base":116,"bn.js":130,"inherits":189}],121:[function(require,module,exports){'use strict';var curves=exports;var hash=require('hash.js');var curve=require('./curve');var utils=require('./utils');var assert=utils.assert;function PresetCurve(options){if(options.type==='short')this.curve=new curve.short(options);else if(options.type==='edwards')this.curve=new curve.edwards(options);else this.curve=new curve.mont(options);this.g=this.curve.g;this.n=this.curve.n;this.hash=options.hash;assert(this.g.validate(),'Invalid curve');assert(this.g.mul(this.n).isInfinity(),'Invalid curve, G*N != O');}curves.PresetCurve=PresetCurve;function defineCurve(name,options){Object.defineProperty(curves,name,{configurable:true,enumerable:true,get:function(){var curve=new PresetCurve(options);Object.defineProperty(curves,name,{configurable:true,enumerable:true,value:curve});return curve;}});}defineCurve('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:hash.sha256,gRed:false,g:['188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012','07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811']});defineCurve('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:hash.sha256,gRed:false,g:['b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21','bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34']});defineCurve('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:hash.sha256,gRed:false,g:['6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296','4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5']});defineCurve('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:hash.sha384,gRed:false,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']});defineCurve('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:hash.sha512,gRed:false,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']});defineCurve('curve25519',{type:'mont',prime:'p25519',p:'7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',a:'76d06',b:'1',n:'1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',hash:hash.sha256,gRed:false,g:['9']});defineCurve('ed25519',{type:'edwards',prime:'p25519',p:'7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',a:'-1',c:'1',// -121665 * (121666^(-1)) (mod P)
1680
+ return this.z.cmpn(0)===0;};},{"../utils":129,"./base":116,"bn.js":130,"inherits":190}],121:[function(require,module,exports){'use strict';var curves=exports;var hash=require('hash.js');var curve=require('./curve');var utils=require('./utils');var assert=utils.assert;function PresetCurve(options){if(options.type==='short')this.curve=new curve.short(options);else if(options.type==='edwards')this.curve=new curve.edwards(options);else this.curve=new curve.mont(options);this.g=this.curve.g;this.n=this.curve.n;this.hash=options.hash;assert(this.g.validate(),'Invalid curve');assert(this.g.mul(this.n).isInfinity(),'Invalid curve, G*N != O');}curves.PresetCurve=PresetCurve;function defineCurve(name,options){Object.defineProperty(curves,name,{configurable:true,enumerable:true,get:function(){var curve=new PresetCurve(options);Object.defineProperty(curves,name,{configurable:true,enumerable:true,value:curve});return curve;}});}defineCurve('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:hash.sha256,gRed:false,g:['188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012','07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811']});defineCurve('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:hash.sha256,gRed:false,g:['b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21','bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34']});defineCurve('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:hash.sha256,gRed:false,g:['6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296','4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5']});defineCurve('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:hash.sha384,gRed:false,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']});defineCurve('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:hash.sha512,gRed:false,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']});defineCurve('curve25519',{type:'mont',prime:'p25519',p:'7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',a:'76d06',b:'1',n:'1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',hash:hash.sha256,gRed:false,g:['9']});defineCurve('ed25519',{type:'edwards',prime:'p25519',p:'7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',a:'-1',c:'1',// -121665 * (121666^(-1)) (mod P)
1681
1681
  d:'52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',n:'1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',hash:hash.sha256,gRed:false,g:['216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',// 4/5
1682
1682
  '6666666666666666666666666666666666666666666666666666666666666658']});var pre;try{pre=require('./precomputed/secp256k1');}catch(e){pre=undefined;}defineCurve('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:hash.sha256,// Precomputed endomorphism
1683
- beta:'7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',lambda:'5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',basis:[{a:'3086d221a7d46bcde86c90e49284eb15',b:'-e4437ed6010e88286f547fa90abfe4c3'},{a:'114ca50f7a8e2f3f657c1108d9d44cfd8',b:'3086d221a7d46bcde86c90e49284eb15'}],gRed:false,g:['79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798','483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',pre]});},{"./curve":118,"./precomputed/secp256k1":128,"./utils":129,"hash.js":173}],122:[function(require,module,exports){'use strict';var BN=require('bn.js');var HmacDRBG=require('hmac-drbg');var utils=require('../utils');var curves=require('../curves');var rand=require('brorand');var assert=utils.assert;var KeyPair=require('./key');var Signature=require('./signature');function EC(options){if(!(this instanceof EC))return new EC(options);// Shortcut `elliptic.ec(curve-name)`
1683
+ beta:'7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',lambda:'5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',basis:[{a:'3086d221a7d46bcde86c90e49284eb15',b:'-e4437ed6010e88286f547fa90abfe4c3'},{a:'114ca50f7a8e2f3f657c1108d9d44cfd8',b:'3086d221a7d46bcde86c90e49284eb15'}],gRed:false,g:['79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798','483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',pre]});},{"./curve":118,"./precomputed/secp256k1":128,"./utils":129,"hash.js":174}],122:[function(require,module,exports){'use strict';var BN=require('bn.js');var HmacDRBG=require('hmac-drbg');var utils=require('../utils');var curves=require('../curves');var rand=require('brorand');var assert=utils.assert;var KeyPair=require('./key');var Signature=require('./signature');function EC(options){if(!(this instanceof EC))return new EC(options);// Shortcut `elliptic.ec(curve-name)`
1684
1684
  if(typeof options==='string'){assert(Object.prototype.hasOwnProperty.call(curves,options),'Unknown curve '+options);options=curves[options];}// Shortcut for `elliptic.ec(elliptic.curves.curveName)`
1685
1685
  if(options instanceof curves.PresetCurve)options={curve:options};this.curve=options.curve.curve;this.n=this.curve.n;this.nh=this.n.ushrn(1);this.g=this.curve.g;// Point on curve
1686
1686
  this.g=options.curve.g;this.g.precompute(options.curve.n.bitLength()+1);// Hash for function for DRBG
@@ -1708,7 +1708,7 @@ return p.eqXToP(r);};EC.prototype.recoverPubKey=function(msg,signature,j,enc){as
1708
1708
  var isYOdd=j&1;var isSecondKey=j>>1;if(r.cmp(this.curve.p.umod(this.curve.n))>=0&&isSecondKey)throw new Error('Unable to find sencond key candinate');// 1.1. Let x = r + jn.
1709
1709
  if(isSecondKey)r=this.curve.pointFromX(r.add(this.curve.n),isYOdd);else r=this.curve.pointFromX(r,isYOdd);var rInv=signature.r.invm(n);var s1=n.sub(e).mul(rInv).umod(n);var s2=s.mul(rInv).umod(n);// 1.6.1 Compute Q = r^-1 (sR - eG)
1710
1710
  // Q = r^-1 (sR + -eG)
1711
- return this.g.mulAdd(s1,r,s2);};EC.prototype.getKeyRecoveryParam=function(e,signature,Q,enc){signature=new Signature(signature,enc);if(signature.recoveryParam!==null)return signature.recoveryParam;for(var i=0;i<4;i++){var Qprime;try{Qprime=this.recoverPubKey(e,signature,i);}catch(e){continue;}if(Qprime.eq(Q))return i;}throw new Error('Unable to find valid recovery factor');};},{"../curves":121,"../utils":129,"./key":123,"./signature":124,"bn.js":130,"brorand":37,"hmac-drbg":186}],123:[function(require,module,exports){'use strict';var BN=require('bn.js');var utils=require('../utils');var assert=utils.assert;function KeyPair(ec,options){this.ec=ec;this.priv=null;this.pub=null;// KeyPair(ec, { priv: ..., pub: ... })
1711
+ return this.g.mulAdd(s1,r,s2);};EC.prototype.getKeyRecoveryParam=function(e,signature,Q,enc){signature=new Signature(signature,enc);if(signature.recoveryParam!==null)return signature.recoveryParam;for(var i=0;i<4;i++){var Qprime;try{Qprime=this.recoverPubKey(e,signature,i);}catch(e){continue;}if(Qprime.eq(Q))return i;}throw new Error('Unable to find valid recovery factor');};},{"../curves":121,"../utils":129,"./key":123,"./signature":124,"bn.js":130,"brorand":37,"hmac-drbg":187}],123:[function(require,module,exports){'use strict';var BN=require('bn.js');var utils=require('../utils');var assert=utils.assert;function KeyPair(ec,options){this.ec=ec;this.priv=null;this.pub=null;// KeyPair(ec, { priv: ..., pub: ... })
1712
1712
  if(options.priv)this._importPrivate(options.priv,options.privEnc);if(options.pub)this._importPublic(options.pub,options.pubEnc);}module.exports=KeyPair;KeyPair.fromPublic=function fromPublic(ec,pub,enc){if(pub instanceof KeyPair)return pub;return new KeyPair(ec,{pub:pub,pubEnc:enc});};KeyPair.fromPrivate=function fromPrivate(ec,priv,enc){if(priv instanceof KeyPair)return priv;return new KeyPair(ec,{priv:priv,privEnc:enc});};KeyPair.prototype.validate=function validate(){var pub=this.getPublic();if(pub.isInfinity())return{result:false,reason:'Invalid public key'};if(!pub.validate())return{result:false,reason:'Public key is not a point'};if(!pub.mul(this.ec.curve.n).isInfinity())return{result:false,reason:'Public key * N != O'};return{result:true,reason:null};};KeyPair.prototype.getPublic=function getPublic(compact,enc){// compact is optional argument
1713
1713
  if(typeof compact==='string'){enc=compact;compact=null;}if(!this.pub)this.pub=this.ec.g.mul(this.priv);if(!enc)return this.pub;return this.pub.encode(enc,compact);};KeyPair.prototype.getPrivate=function getPrivate(enc){if(enc==='hex')return this.priv.toString(16,2);else return this.priv;};KeyPair.prototype._importPrivate=function _importPrivate(key,enc){this.priv=new BN(key,enc||16);// Ensure that the priv won't be bigger than n, otherwise we may fail
1714
1714
  // in fixed multiplication method
@@ -1739,7 +1739,7 @@ if(s[0]&0x80)s=[0].concat(s);r=rmPadding(r);s=rmPadding(s);while(!s[0]&&!(s[1]&0
1739
1739
  * helper convenience methods, that pass along to utility functions implied
1740
1740
  * parameters.
1741
1741
  *
1742
- */EDDSA.prototype.encodePoint=function encodePoint(point){var enc=point.getY().toArray('le',this.encodingLength);enc[this.encodingLength-1]|=point.getX().isOdd()?0x80:0;return enc;};EDDSA.prototype.decodePoint=function decodePoint(bytes){bytes=utils.parseBytes(bytes);var lastIx=bytes.length-1;var normed=bytes.slice(0,lastIx).concat(bytes[lastIx]&~0x80);var xIsOdd=(bytes[lastIx]&0x80)!==0;var y=utils.intFromLE(normed);return this.curve.pointFromY(y,xIsOdd);};EDDSA.prototype.encodeInt=function encodeInt(num){return num.toArray('le',this.encodingLength);};EDDSA.prototype.decodeInt=function decodeInt(bytes){return utils.intFromLE(bytes);};EDDSA.prototype.isPoint=function isPoint(val){return val instanceof this.pointClass;};},{"../curves":121,"../utils":129,"./key":126,"./signature":127,"hash.js":173}],126:[function(require,module,exports){'use strict';var utils=require('../utils');var assert=utils.assert;var parseBytes=utils.parseBytes;var cachedProperty=utils.cachedProperty;/**
1742
+ */EDDSA.prototype.encodePoint=function encodePoint(point){var enc=point.getY().toArray('le',this.encodingLength);enc[this.encodingLength-1]|=point.getX().isOdd()?0x80:0;return enc;};EDDSA.prototype.decodePoint=function decodePoint(bytes){bytes=utils.parseBytes(bytes);var lastIx=bytes.length-1;var normed=bytes.slice(0,lastIx).concat(bytes[lastIx]&~0x80);var xIsOdd=(bytes[lastIx]&0x80)!==0;var y=utils.intFromLE(normed);return this.curve.pointFromY(y,xIsOdd);};EDDSA.prototype.encodeInt=function encodeInt(num){return num.toArray('le',this.encodingLength);};EDDSA.prototype.decodeInt=function decodeInt(bytes){return utils.intFromLE(bytes);};EDDSA.prototype.isPoint=function isPoint(val){return val instanceof this.pointClass;};},{"../curves":121,"../utils":129,"./key":126,"./signature":127,"hash.js":174}],126:[function(require,module,exports){'use strict';var utils=require('../utils');var assert=utils.assert;var parseBytes=utils.parseBytes;var cachedProperty=utils.cachedProperty;/**
1743
1743
  * @param {EDDSA} eddsa - instance
1744
1744
  * @param {Object} params - public/private key parameters
1745
1745
  *
@@ -1758,7 +1758,7 @@ if(s[0]&0x80)s=[0].concat(s);r=rmPadding(r);s=rmPadding(s);while(!s[0]&&!(s[1]&0
1758
1758
  function getNAF(num,w,bits){var naf=new Array(Math.max(num.bitLength(),bits)+1);var i;for(i=0;i<naf.length;i+=1){naf[i]=0;}var ws=1<<w+1;var k=num.clone();for(i=0;i<naf.length;i++){var z;var mod=k.andln(ws-1);if(k.isOdd()){if(mod>(ws>>1)-1)z=(ws>>1)-mod;else z=mod;k.isubn(z);}else{z=0;}naf[i]=z;k.iushrn(1);}return naf;}utils.getNAF=getNAF;// Represent k1, k2 in a Joint Sparse Form
1759
1759
  function getJSF(k1,k2){var jsf=[[],[]];k1=k1.clone();k2=k2.clone();var d1=0;var d2=0;var m8;while(k1.cmpn(-d1)>0||k2.cmpn(-d2)>0){// First phase
1760
1760
  var m14=k1.andln(3)+d1&3;var m24=k2.andln(3)+d2&3;if(m14===3)m14=-1;if(m24===3)m24=-1;var u1;if((m14&1)===0){u1=0;}else{m8=k1.andln(7)+d1&7;if((m8===3||m8===5)&&m24===2)u1=-m14;else u1=m14;}jsf[0].push(u1);var u2;if((m24&1)===0){u2=0;}else{m8=k2.andln(7)+d2&7;if((m8===3||m8===5)&&m14===2)u2=-m24;else u2=m24;}jsf[1].push(u2);// Second phase
1761
- if(2*d1===u1+1)d1=1-d1;if(2*d2===u2+1)d2=1-d2;k1.iushrn(1);k2.iushrn(1);}return jsf;}utils.getJSF=getJSF;function cachedProperty(obj,name,computer){var key='_'+name;obj.prototype[name]=function cachedProperty(){return this[key]!==undefined?this[key]:this[key]=computer.call(this);};}utils.cachedProperty=cachedProperty;function parseBytes(bytes){return typeof bytes==='string'?utils.toArray(bytes,'hex'):bytes;}utils.parseBytes=parseBytes;function intFromLE(bytes){return new BN(bytes,'hex','le');}utils.intFromLE=intFromLE;},{"bn.js":130,"minimalistic-assert":239,"minimalistic-crypto-utils":240}],130:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments);},{"buffer":38,"dup":16}],131:[function(require,module,exports){module.exports={"name":"elliptic","version":"6.6.1","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny <fedor@indutny.com>","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}};},{}],132:[function(require,module,exports){'use strict';/** @type {import('.')} */var $defineProperty=Object.defineProperty||false;if($defineProperty){try{$defineProperty({},'a',{value:1});}catch(e){// IE 8 has a broken defineProperty
1761
+ if(2*d1===u1+1)d1=1-d1;if(2*d2===u2+1)d2=1-d2;k1.iushrn(1);k2.iushrn(1);}return jsf;}utils.getJSF=getJSF;function cachedProperty(obj,name,computer){var key='_'+name;obj.prototype[name]=function cachedProperty(){return this[key]!==undefined?this[key]:this[key]=computer.call(this);};}utils.cachedProperty=cachedProperty;function parseBytes(bytes){return typeof bytes==='string'?utils.toArray(bytes,'hex'):bytes;}utils.parseBytes=parseBytes;function intFromLE(bytes){return new BN(bytes,'hex','le');}utils.intFromLE=intFromLE;},{"bn.js":130,"minimalistic-assert":241,"minimalistic-crypto-utils":242}],130:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments);},{"buffer":38,"dup":16}],131:[function(require,module,exports){module.exports={"name":"elliptic","version":"6.6.1","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny <fedor@indutny.com>","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}};},{}],132:[function(require,module,exports){'use strict';/** @type {import('.')} */var $defineProperty=Object.defineProperty||false;if($defineProperty){try{$defineProperty({},'a',{value:1});}catch(e){// IE 8 has a broken defineProperty
1762
1762
  $defineProperty=false;}}module.exports=$defineProperty;},{}],133:[function(require,module,exports){'use strict';/** @type {import('./eval')} */module.exports=EvalError;},{}],134:[function(require,module,exports){'use strict';/** @type {import('.')} */module.exports=Error;},{}],135:[function(require,module,exports){'use strict';/** @type {import('./range')} */module.exports=RangeError;},{}],136:[function(require,module,exports){'use strict';/** @type {import('./ref')} */module.exports=ReferenceError;},{}],137:[function(require,module,exports){'use strict';/** @type {import('./syntax')} */module.exports=SyntaxError;},{}],138:[function(require,module,exports){'use strict';/** @type {import('./type')} */module.exports=TypeError;},{}],139:[function(require,module,exports){'use strict';/** @type {import('./uri')} */module.exports=URIError;},{}],140:[function(require,module,exports){'use strict';/** @type {import('.')} */module.exports=Object;},{}],141:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
1763
1763
  //
1764
1764
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -1808,8 +1808,8 @@ for(i=listeners.length-1;i>=0;i--){this.removeListener(type,listeners[i]);}}retu
1808
1808
  // EventEmitters, we do not listen for `error` events here.
1809
1809
  emitter.addEventListener(name,function wrapListener(arg){// IE does not have builtin `{ once: true }` support so we
1810
1810
  // have to do it manually.
1811
- if(flags.once){emitter.removeEventListener(name,wrapListener);}listener(arg);});}else{throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof emitter);}}},{}],142:[function(require,module,exports){var Buffer=require('safe-buffer').Buffer;var MD5=require('md5.js');/* eslint-disable camelcase */function EVP_BytesToKey(password,salt,keyBits,ivLen){if(!Buffer.isBuffer(password))password=Buffer.from(password,'binary');if(salt){if(!Buffer.isBuffer(salt))salt=Buffer.from(salt,'binary');if(salt.length!==8)throw new RangeError('salt should be Buffer with 8 byte length');}var keyLen=keyBits/8;var key=Buffer.alloc(keyLen);var iv=Buffer.alloc(ivLen||0);var tmp=Buffer.alloc(0);while(keyLen>0||ivLen>0){var hash=new MD5();hash.update(tmp);hash.update(password);if(salt)hash.update(salt);tmp=hash.digest();var used=0;if(keyLen>0){var keyStart=key.length-keyLen;used=Math.min(keyLen,tmp.length);tmp.copy(key,keyStart,0,used);keyLen-=used;}if(used<tmp.length&&ivLen>0){var ivStart=iv.length-ivLen;var length=Math.min(ivLen,tmp.length-used);tmp.copy(iv,ivStart,used,used+length);ivLen-=length;}}tmp.fill(0);return{key:key,iv:iv};}module.exports=EVP_BytesToKey;},{"md5.js":209,"safe-buffer":291}],143:[function(require,module,exports){'use strict';var isCallable=require('is-callable');var toStr=Object.prototype.toString;var hasOwnProperty=Object.prototype.hasOwnProperty;/** @type {<This, A extends readonly unknown[]>(arr: A, iterator: (this: This | void, value: A[number], index: number, arr: A) => void, receiver: This | undefined) => void} */var forEachArray=function forEachArray(array,iterator,receiver){for(var i=0,len=array.length;i<len;i++){if(hasOwnProperty.call(array,i)){if(receiver==null){iterator(array[i],i,array);}else{iterator.call(receiver,array[i],i,array);}}}};/** @type {<This, S extends string>(string: S, iterator: (this: This | void, value: S[number], index: number, string: S) => void, receiver: This | undefined) => void} */var forEachString=function forEachString(string,iterator,receiver){for(var i=0,len=string.length;i<len;i++){// no such thing as a sparse string.
1812
- if(receiver==null){iterator(string.charAt(i),i,string);}else{iterator.call(receiver,string.charAt(i),i,string);}}};/** @type {<This, O>(obj: O, iterator: (this: This | void, value: O[keyof O], index: keyof O, obj: O) => void, receiver: This | undefined) => void} */var forEachObject=function forEachObject(object,iterator,receiver){for(var k in object){if(hasOwnProperty.call(object,k)){if(receiver==null){iterator(object[k],k,object);}else{iterator.call(receiver,object[k],k,object);}}}};/** @type {(x: unknown) => x is readonly unknown[]} */function isArray(x){return toStr.call(x)==='[object Array]';}/** @type {import('.')._internal} */module.exports=function forEach(list,iterator,thisArg){if(!isCallable(iterator)){throw new TypeError('iterator must be a function');}var receiver;if(arguments.length>=3){receiver=thisArg;}if(isArray(list)){forEachArray(list,iterator,receiver);}else if(typeof list==='string'){forEachString(list,iterator,receiver);}else{forEachObject(list,iterator,receiver);}};},{"is-callable":191}],144:[function(require,module,exports){/**
1811
+ if(flags.once){emitter.removeEventListener(name,wrapListener);}listener(arg);});}else{throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof emitter);}}},{}],142:[function(require,module,exports){var Buffer=require('safe-buffer').Buffer;var MD5=require('md5.js');/* eslint-disable camelcase */function EVP_BytesToKey(password,salt,keyBits,ivLen){if(!Buffer.isBuffer(password))password=Buffer.from(password,'binary');if(salt){if(!Buffer.isBuffer(salt))salt=Buffer.from(salt,'binary');if(salt.length!==8)throw new RangeError('salt should be Buffer with 8 byte length');}var keyLen=keyBits/8;var key=Buffer.alloc(keyLen);var iv=Buffer.alloc(ivLen||0);var tmp=Buffer.alloc(0);while(keyLen>0||ivLen>0){var hash=new MD5();hash.update(tmp);hash.update(password);if(salt)hash.update(salt);tmp=hash.digest();var used=0;if(keyLen>0){var keyStart=key.length-keyLen;used=Math.min(keyLen,tmp.length);tmp.copy(key,keyStart,0,used);keyLen-=used;}if(used<tmp.length&&ivLen>0){var ivStart=iv.length-ivLen;var length=Math.min(ivLen,tmp.length-used);tmp.copy(iv,ivStart,used,used+length);ivLen-=length;}}tmp.fill(0);return{key:key,iv:iv};}module.exports=EVP_BytesToKey;},{"md5.js":210,"safe-buffer":293}],143:[function(require,module,exports){'use strict';var isCallable=require('is-callable');var toStr=Object.prototype.toString;var hasOwnProperty=Object.prototype.hasOwnProperty;/** @type {<This, A extends readonly unknown[]>(arr: A, iterator: (this: This | void, value: A[number], index: number, arr: A) => void, receiver: This | undefined) => void} */var forEachArray=function forEachArray(array,iterator,receiver){for(var i=0,len=array.length;i<len;i++){if(hasOwnProperty.call(array,i)){if(receiver==null){iterator(array[i],i,array);}else{iterator.call(receiver,array[i],i,array);}}}};/** @type {<This, S extends string>(string: S, iterator: (this: This | void, value: S[number], index: number, string: S) => void, receiver: This | undefined) => void} */var forEachString=function forEachString(string,iterator,receiver){for(var i=0,len=string.length;i<len;i++){// no such thing as a sparse string.
1812
+ if(receiver==null){iterator(string.charAt(i),i,string);}else{iterator.call(receiver,string.charAt(i),i,string);}}};/** @type {<This, O>(obj: O, iterator: (this: This | void, value: O[keyof O], index: keyof O, obj: O) => void, receiver: This | undefined) => void} */var forEachObject=function forEachObject(object,iterator,receiver){for(var k in object){if(hasOwnProperty.call(object,k)){if(receiver==null){iterator(object[k],k,object);}else{iterator.call(receiver,object[k],k,object);}}}};/** @type {(x: unknown) => x is readonly unknown[]} */function isArray(x){return toStr.call(x)==='[object Array]';}/** @type {import('.')._internal} */module.exports=function forEach(list,iterator,thisArg){if(!isCallable(iterator)){throw new TypeError('iterator must be a function');}var receiver;if(arguments.length>=3){receiver=thisArg;}if(isArray(list)){forEachArray(list,iterator,receiver);}else if(typeof list==='string'){forEachString(list,iterator,receiver);}else{forEachObject(list,iterator,receiver);}};},{"is-callable":192}],144:[function(require,module,exports){/**
1813
1813
  * FoxHound Query Generation Library
1814
1814
  * @license MIT
1815
1815
  * @author Steven Velozo <steven@velozo.com>
@@ -2077,7 +2077,7 @@ if(pFrom.indexOf(pTable)!=0){_Fable.log.warn('Tried to add an invalid query join
2077
2077
  *
2078
2078
  * @property logLevel
2079
2079
  * @type {number}
2080
- */Object.defineProperty(tmpNewFoxHoundObject,'logLevel',{get:function(){return _LogLevel;},enumerable:true});return tmpNewFoxHoundObject;}return createNew();};module.exports=FoxHound();},{"./Foxhound-Dialects.js":145,"./Parameters.js":146}],145:[function(require,module,exports){let getDialects=()=>{let tmpDialects={};tmpDialects.English=require('./dialects/English/FoxHound-Dialect-English.js');tmpDialects.SQLite=require('./dialects/SQLite/FoxHound-Dialect-SQLite.js');tmpDialects.ALASQL=require('./dialects/ALASQL/FoxHound-Dialect-ALASQL.js');tmpDialects.MeadowEndpoints=require('./dialects/MeadowEndpoints/FoxHound-Dialect-MeadowEndpoints.js');tmpDialects.MySQL=require('./dialects/MySQL/FoxHound-Dialect-MySQL.js');tmpDialects.MSSQL=require('./dialects/MicrosoftSQL/FoxHound-Dialect-MSSQL.js');tmpDialects.PostgreSQL=require('./dialects/PostgreSQL/FoxHound-Dialect-PostgreSQL.js');tmpDialects.MongoDB=require('./dialects/MongoDB/FoxHound-Dialect-MongoDB.js');tmpDialects.DGraph=require('./dialects/DGraph/FoxHound-Dialect-DGraph.js');tmpDialects.Solr=require('./dialects/Solr/FoxHound-Dialect-Solr.js');tmpDialects.default=tmpDialects.English;return tmpDialects;};module.exports=getDialects();},{"./dialects/ALASQL/FoxHound-Dialect-ALASQL.js":147,"./dialects/DGraph/FoxHound-Dialect-DGraph.js":148,"./dialects/English/FoxHound-Dialect-English.js":149,"./dialects/MeadowEndpoints/FoxHound-Dialect-MeadowEndpoints.js":150,"./dialects/MicrosoftSQL/FoxHound-Dialect-MSSQL.js":151,"./dialects/MongoDB/FoxHound-Dialect-MongoDB.js":152,"./dialects/MySQL/FoxHound-Dialect-MySQL.js":153,"./dialects/PostgreSQL/FoxHound-Dialect-PostgreSQL.js":154,"./dialects/SQLite/FoxHound-Dialect-SQLite.js":155,"./dialects/Solr/FoxHound-Dialect-Solr.js":156}],146:[function(require,module,exports){/**
2080
+ */Object.defineProperty(tmpNewFoxHoundObject,'logLevel',{get:function(){return _LogLevel;},enumerable:true});return tmpNewFoxHoundObject;}return createNew();};module.exports=FoxHound();},{"./Foxhound-Dialects.js":145,"./Parameters.js":146}],145:[function(require,module,exports){let getDialects=()=>{let tmpDialects={};tmpDialects.English=require('./dialects/English/FoxHound-Dialect-English.js');tmpDialects.SQLite=require('./dialects/SQLite/FoxHound-Dialect-SQLite.js');tmpDialects.ALASQL=require('./dialects/ALASQL/FoxHound-Dialect-ALASQL.js');tmpDialects.MeadowEndpoints=require('./dialects/MeadowEndpoints/FoxHound-Dialect-MeadowEndpoints.js');tmpDialects.MySQL=require('./dialects/MySQL/FoxHound-Dialect-MySQL.js');tmpDialects.MSSQL=require('./dialects/MicrosoftSQL/FoxHound-Dialect-MSSQL.js');tmpDialects.PostgreSQL=require('./dialects/PostgreSQL/FoxHound-Dialect-PostgreSQL.js');tmpDialects.Oracle=require('./dialects/Oracle/FoxHound-Dialect-Oracle.js');tmpDialects.MongoDB=require('./dialects/MongoDB/FoxHound-Dialect-MongoDB.js');tmpDialects.DGraph=require('./dialects/DGraph/FoxHound-Dialect-DGraph.js');tmpDialects.Solr=require('./dialects/Solr/FoxHound-Dialect-Solr.js');tmpDialects.default=tmpDialects.English;return tmpDialects;};module.exports=getDialects();},{"./dialects/ALASQL/FoxHound-Dialect-ALASQL.js":147,"./dialects/DGraph/FoxHound-Dialect-DGraph.js":148,"./dialects/English/FoxHound-Dialect-English.js":149,"./dialects/MeadowEndpoints/FoxHound-Dialect-MeadowEndpoints.js":150,"./dialects/MicrosoftSQL/FoxHound-Dialect-MSSQL.js":151,"./dialects/MongoDB/FoxHound-Dialect-MongoDB.js":152,"./dialects/MySQL/FoxHound-Dialect-MySQL.js":153,"./dialects/Oracle/FoxHound-Dialect-Oracle.js":154,"./dialects/PostgreSQL/FoxHound-Dialect-PostgreSQL.js":155,"./dialects/SQLite/FoxHound-Dialect-SQLite.js":156,"./dialects/Solr/FoxHound-Dialect-Solr.js":157}],146:[function(require,module,exports){/**
2081
2081
  * Query Parameters Object
2082
2082
  *
2083
2083
  * @class FoxHoundQueryParameters
@@ -3313,6 +3313,208 @@ console.log('Error with custom Count Query ['+pParameters.queryOverride+']: '+pE
3313
3313
  * @property name
3314
3314
  * @type string
3315
3315
  */Object.defineProperty(tmpDialect,'name',{get:function(){return'MySQL';},enumerable:true});return tmpDialect;};module.exports=FoxHoundDialectMySQL;},{}],154:[function(require,module,exports){/**
3316
+ * FoxHound Oracle Dialect
3317
+ *
3318
+ * @license MIT
3319
+ *
3320
+ * For an Oracle query override:
3321
+ // An underscore template with the following values:
3322
+ // <%= DataElements %> = Field1, Field2, Field3, Field4
3323
+ // <%= Begin %> = 0
3324
+ // <%= Cap %> = 10
3325
+ // <%= Filter %> = WHERE StartDate > :MyStartDate
3326
+ // <%= Sort %> = ORDER BY Field1
3327
+ // The values are empty strings if they aren't set.
3328
+ *
3329
+ * Oracle notes:
3330
+ * - Identifiers are emitted unquoted by default (Oracle folds them to
3331
+ * UPPERCASE). Set pParameters.quoteIdentifiers to wrap them in double
3332
+ * quotes and preserve the original PascalCase (case-sensitive matching).
3333
+ * - Bind parameters use the :name style consumed natively by oracledb.
3334
+ * - Pagination uses the 12c+ OFFSET/FETCH clause by default and a
3335
+ * ROWNUM double-subquery wrapper when pParameters.legacyPagination is set
3336
+ * (for 11g and earlier, which have no OFFSET/FETCH).
3337
+ * - INSERT appends a RETURNING <IDColumn> INTO :RETURNING_ID clause when the
3338
+ * table has an AutoIdentity column (Oracle has no SCOPE_IDENTITY()).
3339
+ * - Generated statements carry no trailing semicolon — oracledb rejects the
3340
+ * terminator on non-PL/SQL statements.
3341
+ *
3342
+ * @author Steven Velozo <steven@velozo.com>
3343
+ * @class FoxHoundDialectOracle
3344
+ */var FoxHoundDialectOracle=function(pFable){// True UTC timestamp regardless of the database server's session time zone.
3345
+ const SQL_NOW="SYS_EXTRACT_UTC(SYSTIMESTAMP)";let _Fable=pFable;// Whether to wrap identifiers in double quotes (preserving case) or emit
3346
+ // them bare (folded to UPPERCASE by Oracle). Set from
3347
+ // pParameters.quoteIdentifiers at the top of each public dialect method;
3348
+ // query building is synchronous so this closure value is safe to reuse.
3349
+ let _QuoteIdentifiers=false;/**
3350
+ * Generate a table name from the scope
3351
+ *
3352
+ * @method: generateTableName
3353
+ * @param: {Object} pParameters SQL Query Parameters
3354
+ * @return: {String} Returns the table name clause
3355
+ */var generateTableName=function(pParameters){// Every Foxhound query has a table name; this lazily creates the
3356
+ // parameterTypes map even for column-less queries (e.g. COUNT(*)).
3357
+ if(!pParameters.query.hasOwnProperty('parameterTypes')){pParameters.query.parameterTypes={};}if(_QuoteIdentifiers){if(pParameters.scope&&pParameters.scope.indexOf('"')>=0){return' '+pParameters.scope;}return' "'+pParameters.scope+'"';}return' '+pParameters.scope;};/**
3358
+ * Record the oracledb bind type for a parameter, keyed by parameter name.
3359
+ *
3360
+ * These are driver-free strings ('NUMBER', 'STRING', 'CLOB', 'DATE') so the
3361
+ * dialect stays browser-safe; the Meadow Oracle provider translates them to
3362
+ * oracledb type descriptors at execution time (it is the only layer that may
3363
+ * require the driver).
3364
+ *
3365
+ * @method: generateOracleParameterTypeEntry
3366
+ * @param: {Object} pParameters SQL Query Parameters
3367
+ * @param: {String} pColumnParameterName The bind parameter name
3368
+ * @param: {Object|String} pColumn A schema column object, or a column name to look up
3369
+ * @return: {Boolean} True if a known type was mapped
3370
+ */var generateOracleParameterTypeEntry=function(pParameters,pColumnParameterName,pColumn){if(!pParameters.query.hasOwnProperty('parameterTypes')){pParameters.query.parameterTypes={};}let tmpColumnParameterTypeString='String';if(typeof pColumn=='object'){tmpColumnParameterTypeString=pColumn.Type;}else if(typeof pColumn=='string'){var tmpSchema=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];for(let i=0;i<tmpSchema.length;i++){if(tmpSchema[i].Column==pColumn){tmpColumnParameterTypeString=tmpSchema[i].Type;break;}}}else{_Fable.log.warn(`Meadow Oracle query attempted to add a parameter type but no valid column schema entry object or column name was passed; parameter name ${pColumnParameterName}.`);}if(tmpColumnParameterTypeString==null||tmpColumnParameterTypeString==undefined){return false;}switch(tmpColumnParameterTypeString){case'AutoIdentity':case'CreateIDUser':case'UpdateIDUser':case'DeleteIDUser':case'ForeignKey':case'Numeric':case'Integer':case'Deleted':case'Boolean':case'Decimal':pParameters.query.parameterTypes[pColumnParameterName]='NUMBER';break;case'String':case'AutoGUID':pParameters.query.parameterTypes[pColumnParameterName]='STRING';break;case'Text':case'JSON':case'JSONProxy':pParameters.query.parameterTypes[pColumnParameterName]='CLOB';break;case'CreateDate':case'UpdateDate':case'DeleteDate':case'DateTime':pParameters.query.parameterTypes[pColumnParameterName]='DATE';break;default:pParameters.query.parameterTypes[pColumnParameterName]='STRING';return false;}return true;};/**
3371
+ * Generate a field list from the array of dataElements
3372
+ *
3373
+ * Each entry in the dataElements is a simple string
3374
+ *
3375
+ * @method: generateFieldList
3376
+ * @param: {Object} pParameters SQL Query Parameters
3377
+ * @param {Boolean} pIsForCountClause (optional) If true, generate fields for use within a count clause.
3378
+ * @return: {String} Returns the field list clause, or empty string if explicit fields are requested but cannot be fulfilled
3379
+ * due to missing schema.
3380
+ */var generateFieldList=function(pParameters,pIsForCountClause){var tmpDataElements=pParameters.dataElements;if(!Array.isArray(tmpDataElements)||tmpDataElements.length<1){const tmpTableName=generateTableName(pParameters);if(!pIsForCountClause){return tmpTableName+'.*';}// we need to list all of the table fields explicitly; get them from the schema
3381
+ const tmpSchema=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];if(tmpSchema.length<1){// this means we have no schema; returning an empty string here signals the calling code to handle this case
3382
+ return'';}const idColumn=tmpSchema.find(entry=>entry.Type==='AutoIdentity');if(!idColumn){// this means there is no autoincrementing unique ID column; treat as above
3383
+ return'';}return` ${generateSafeFieldName(idColumn.Column)}`;}var tmpFieldList=' ';for(var i=0;i<tmpDataElements.length;i++){if(i>0){tmpFieldList+=', ';}if(Array.isArray(tmpDataElements[i])){tmpFieldList+=generateSafeFieldName(tmpDataElements[i][0]);if(tmpDataElements[i].length>1&&tmpDataElements[i][1]){tmpFieldList+=" AS "+generateSafeFieldName(tmpDataElements[i][1]);}}else{tmpFieldList+=generateSafeFieldName(tmpDataElements[i]);}}return tmpFieldList;};/**
3384
+ * Generate a field list for the outer SELECT of the legacy pagination
3385
+ * wrapper. The outer FROM is a ROWNUM subquery, so the default
3386
+ * "Table.*" qualifier can't resolve there — we need either an explicit
3387
+ * column list from the schema or a bare "*".
3388
+ *
3389
+ * If the caller set explicit dataElements, reuse them (they reference bare
3390
+ * column names, which work fine against the subquery). Otherwise emit an
3391
+ * explicit list from the schema to keep "_RowNum" from leaking. As a last
3392
+ * resort, fall back to "*".
3393
+ *
3394
+ * @param: {Object} pParameters SQL Query Parameters
3395
+ * @return: {String} Field list (prefixed with a single leading space)
3396
+ */var generateOuterFieldListForLegacyPagination=function(pParameters){var tmpDataElements=pParameters.dataElements;if(Array.isArray(tmpDataElements)&&tmpDataElements.length>0){return generateFieldList(pParameters);}var tmpSchema=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];if(tmpSchema.length>0){var tmpList=' ';for(var i=0;i<tmpSchema.length;i++){if(i>0)tmpList+=', ';tmpList+=generateSafeFieldName(tmpSchema[i].Column);}return tmpList;}// No schema, no explicit dataElements — "*" is the best we can do.
3397
+ // "_RowNum" will surface on marshalled records; downstream code can
3398
+ // ignore it. Schemas are the norm via Meadow so this is rare.
3399
+ return' *';};const SURROUNDING_QUOTES_AND_WHITESPACE_REGEX=/^[" ]+|[" ]+$/g;const cleanseQuoting=str=>{return str.replace(SURROUNDING_QUOTES_AND_WHITESPACE_REGEX,'');};/**
3400
+ * Ensure a field name is emitted correctly for the current quoting mode.
3401
+ *
3402
+ * Unquoted (default): bare identifiers (Oracle folds to UPPERCASE).
3403
+ * Quoted: wrapped in double quotes, preserving case.
3404
+ */var generateSafeFieldName=function(pFieldName){let pFieldNames=pFieldName.split('.');if(pFieldNames.length>1){const cleansedTable=cleanseQuoting(pFieldNames[0]);const cleansedFieldName=cleanseQuoting(pFieldNames[1]);if(cleansedFieldName==='*'){return _QuoteIdentifiers?'"'+cleansedTable+'".*':cleansedTable+'.*';}return _QuoteIdentifiers?'"'+cleansedTable+'"."'+cleansedFieldName+'"':cleansedTable+'.'+cleansedFieldName;}const cleansedFieldName=cleanseQuoting(pFieldNames[0]);if(cleansedFieldName==='*'){return'*';}return _QuoteIdentifiers?'"'+cleansedFieldName+'"':cleansedFieldName;};var resolveJsonColumnPath=function(pColumnName,pSchema){if(!Array.isArray(pSchema)||pSchema.length<1)return null;var tmpParts=pColumnName.replace(/`/g,'').replace(/"/g,'').split('.');for(var tmpStartIdx=0;tmpStartIdx<Math.min(tmpParts.length-1,2);tmpStartIdx++){var tmpBaseColumn=tmpParts[tmpStartIdx];for(var s=0;s<pSchema.length;s++){if(pSchema[s].Column===tmpBaseColumn&&(pSchema[s].Type==='JSON'||pSchema[s].Type==='JSONProxy')){var tmpActualColumn=pSchema[s].Type==='JSONProxy'?pSchema[s].StorageColumn:tmpBaseColumn;var tmpJsonPath='$.'+tmpParts.slice(tmpStartIdx+1).join('.');return{column:tmpActualColumn,path:tmpJsonPath};}}}return null;};/**
3405
+ * Generate a query from the array of where clauses
3406
+ *
3407
+ * Each clause is an object like:
3408
+ {
3409
+ Column:'Name',
3410
+ Operator:'EQ',
3411
+ Value:'John',
3412
+ Connector:'And',
3413
+ Parameter:'Name'
3414
+ }
3415
+ *
3416
+ * @method: generateWhere
3417
+ * @param: {Object} pParameters SQL Query Parameters
3418
+ * @return: {String} Returns the WHERE clause prefixed with WHERE, or an empty string if unnecessary
3419
+ */var generateWhere=function(pParameters){var tmpFilter=Array.isArray(pParameters.filter)?pParameters.filter:[];if(!pParameters.query.disableDeleteTracking){// Check if there is a Deleted column on the Schema. If so, we add this to the filters automatically (if not already present)
3420
+ var tmpSchema=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];for(var i=0;i<tmpSchema.length;i++){var tmpSchemaEntry=tmpSchema[i];if(tmpSchemaEntry.Type==='Deleted'){var tmpHasDeletedParameter=false;if(tmpFilter.length>0){for(var x=0;x<tmpFilter.length;x++){if(tmpFilter[x].Column===tmpSchemaEntry.Column){tmpHasDeletedParameter=true;break;}}}if(!tmpHasDeletedParameter){tmpFilter.push({Column:tmpSchemaEntry.Column,Operator:'=',Value:0,Connector:'AND',Parameter:'Deleted'});}break;}}}if(tmpFilter.length<1){return'';}var tmpWhere=' WHERE';// This is used to disable the connectors for subsequent queries.
3421
+ // Only the open parenthesis operator uses this, currently.
3422
+ var tmpLastOperatorNoConnector=false;for(var i=0;i<tmpFilter.length;i++){if(tmpFilter[i].Connector!='NONE'&&tmpFilter[i].Operator!=')'&&tmpWhere!=' WHERE'&&tmpLastOperatorNoConnector==false){tmpWhere+=' '+tmpFilter[i].Connector;}tmpLastOperatorNoConnector=false;var tmpColumnParameter;if(tmpFilter[i].Operator==='('){tmpWhere+=' (';tmpLastOperatorNoConnector=true;}else if(tmpFilter[i].Operator===')'){tmpWhere+=' )';}else if(tmpFilter[i].Operator==='IN'||tmpFilter[i].Operator==="NOT IN"){// oracledb will not expand a single bound array into an IN list,
3423
+ // so expand the value list into discrete :name binds here.
3424
+ var tmpInValues=Array.isArray(tmpFilter[i].Value)?tmpFilter[i].Value:String(tmpFilter[i].Value).split(',');var tmpInPlaceholders=[];for(var v=0;v<tmpInValues.length;v++){var tmpInParameter=tmpFilter[i].Parameter+'_w'+i+'_'+v;tmpInPlaceholders.push(':'+tmpInParameter);pParameters.query.parameters[tmpInParameter]=tmpInValues[v];generateOracleParameterTypeEntry(pParameters,tmpInParameter,tmpFilter[i].Parameter);}tmpWhere+=' '+generateSafeFieldName(tmpFilter[i].Column)+' '+tmpFilter[i].Operator+' ('+tmpInPlaceholders.join(', ')+')';}else if(tmpFilter[i].Operator==='IS NULL'){tmpWhere+=' '+generateSafeFieldName(tmpFilter[i].Column)+' '+tmpFilter[i].Operator;}else if(tmpFilter[i].Operator==='IS NOT NULL'){tmpWhere+=' '+generateSafeFieldName(tmpFilter[i].Column)+' '+tmpFilter[i].Operator;}else{tmpColumnParameter=tmpFilter[i].Parameter+'_w'+i;var tmpSchemaForJson=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];var tmpJsonRef=resolveJsonColumnPath(tmpFilter[i].Column,tmpSchemaForJson);if(tmpJsonRef){tmpWhere+=' JSON_VALUE('+generateSafeFieldName(tmpJsonRef.column)+", '"+tmpJsonRef.path+"') "+tmpFilter[i].Operator+' :'+tmpColumnParameter;}else{tmpWhere+=' '+generateSafeFieldName(tmpFilter[i].Column)+' '+tmpFilter[i].Operator+' :'+tmpColumnParameter;}pParameters.query.parameters[tmpColumnParameter]=tmpFilter[i].Value;generateOracleParameterTypeEntry(pParameters,tmpColumnParameter,tmpFilter[i].Parameter);}}return tmpWhere;};/**
3425
+ * Find the table's AutoIdentity primary-key column from the schema, if any.
3426
+ * Used as a deterministic default ORDER BY when the caller didn't set a
3427
+ * sort, and as the RETURNING target for INSERT.
3428
+ *
3429
+ * @param: {Object} pParameters SQL Query Parameters
3430
+ * @return: {String|null} The column name, or null if none found
3431
+ */var findPrimaryKeyColumn=function(pParameters){var tmpSchema=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];for(var i=0;i<tmpSchema.length;i++){if(tmpSchema[i].Type==='AutoIdentity'){return tmpSchema[i].Column;}}return null;};/**
3432
+ * Generate an ORDER BY clause from the sort array
3433
+ *
3434
+ * When no sort is specified but the query has a cap (pagination is active),
3435
+ * inject a default ORDER BY on the primary key so paging is deterministic.
3436
+ * Unlike MSSQL, Oracle permits OFFSET/FETCH and ROWNUM paging without an
3437
+ * ORDER BY, so when no PK can be inferred we simply omit the clause rather
3438
+ * than emitting an invalid "ORDER BY (SELECT 1)".
3439
+ *
3440
+ * @method: generateOrderBy
3441
+ * @param: {Object} pParameters SQL Query Parameters
3442
+ * @return: {String} Returns the order by clause
3443
+ */var generateOrderBy=function(pParameters){var tmpOrderBy=pParameters.sort;if(!Array.isArray(tmpOrderBy)||tmpOrderBy.length<1){if(pParameters.cap){var tmpPK=findPrimaryKeyColumn(pParameters);if(tmpPK){return' ORDER BY '+generateSafeFieldName(tmpPK);}}return'';}var tmpOrderClause=' ORDER BY';for(var i=0;i<tmpOrderBy.length;i++){if(i>0){tmpOrderClause+=',';}tmpOrderClause+=' '+generateSafeFieldName(tmpOrderBy[i].Column);if(tmpOrderBy[i].Direction=='Descending'){tmpOrderClause+=' DESC';}}return tmpOrderClause;};/**
3444
+ * Generate the limit clause using the 12c+ OFFSET/FETCH syntax.
3445
+ *
3446
+ * When pParameters.legacyPagination is set the Read function wraps the
3447
+ * query in a ROWNUM subquery instead (11g and earlier have no OFFSET/FETCH),
3448
+ * so this returns an empty string in that case.
3449
+ *
3450
+ * @method: generateLimit
3451
+ * @param: {Object} pParameters SQL Query Parameters
3452
+ * @return: {String} Returns the table limit clause
3453
+ */var generateLimit=function(pParameters){if(!pParameters.cap){return'';}if(pParameters.legacyPagination){return'';}var tmpLimit=' OFFSET ';if(pParameters.begin!==false){tmpLimit+=pParameters.begin;}else{tmpLimit+='0';}tmpLimit+=` ROWS FETCH NEXT ${pParameters.cap} ROWS ONLY`;return tmpLimit;};/**
3454
+ * Generate the join clause
3455
+ *
3456
+ * @method: generateJoins
3457
+ * @param: {Object} pParameters SQL Query Parameters
3458
+ * @return: {String} Returns the join clause
3459
+ */var generateJoins=function(pParameters){var tmpJoins=pParameters.join;if(!Array.isArray(tmpJoins)||tmpJoins.length<1){return'';}var tmpJoinClause='';for(var i=0;i<tmpJoins.length;i++){var join=tmpJoins[i];if(join.Type&&join.Table&&join.From&&join.To){var tmpJoinTable=_QuoteIdentifiers?'"'+join.Table+'"':join.Table;tmpJoinClause+=` ${join.Type} ${tmpJoinTable} ON ${join.From} = ${join.To}`;}}return tmpJoinClause;};/**
3460
+ * Generate the update SET clause
3461
+ *
3462
+ * @method: generateUpdateSetters
3463
+ * @param: {Object} pParameters SQL Query Parameters
3464
+ * @return: {String} Returns the update set clause
3465
+ */var generateUpdateSetters=function(pParameters){var tmpRecords=pParameters.query.records;if(!Array.isArray(tmpRecords)||tmpRecords.length<1){return false;}var tmpSchema=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];var tmpUpdate='';var tmpCurrentColumn=0;for(var tmpColumn in tmpRecords[0]){var tmpSchemaEntry={Column:tmpColumn,Type:'Default'};for(var i=0;i<tmpSchema.length;i++){if(tmpColumn==tmpSchema[i].Column){tmpSchemaEntry=tmpSchema[i];break;}}if(pParameters.query.disableAutoUserStamp&&tmpSchemaEntry.Type==='UpdateIDUser'){continue;}switch(tmpSchemaEntry.Type){case'AutoIdentity':case'CreateDate':case'CreateIDUser':case'DeleteDate':case'DeleteIDUser':continue;}if(tmpCurrentColumn>0){tmpUpdate+=',';}switch(tmpSchemaEntry.Type){case'UpdateDate':if(pParameters.query.disableAutoDateStamp){var tmpColumnParameter='MANUAL_UpdateDate';tmpUpdate+=' '+generateSafeFieldName(tmpColumn)+' = :MANUAL_UpdateDate';pParameters.query.parameters[tmpColumnParameter]=tmpRecords[0][tmpColumn];generateOracleParameterTypeEntry(pParameters,tmpColumnParameter,tmpSchemaEntry);}else{tmpUpdate+=' '+generateSafeFieldName(tmpColumn)+' = '+SQL_NOW;}break;case'UpdateIDUser':var tmpColumnParameter=tmpColumn+'_'+tmpCurrentColumn;tmpUpdate+=' '+generateSafeFieldName(tmpColumn)+' = :'+tmpColumnParameter;pParameters.query.parameters[tmpColumnParameter]=pParameters.query.IDUser;generateOracleParameterTypeEntry(pParameters,tmpColumnParameter,tmpColumn);break;case'JSON':var tmpJSONUpdateParam=tmpColumn+'_'+tmpCurrentColumn;tmpUpdate+=' '+generateSafeFieldName(tmpColumn)+' = :'+tmpJSONUpdateParam;pParameters.query.parameters[tmpJSONUpdateParam]=typeof tmpRecords[0][tmpColumn]==='string'?tmpRecords[0][tmpColumn]:JSON.stringify(tmpRecords[0][tmpColumn]||{});generateOracleParameterTypeEntry(pParameters,tmpJSONUpdateParam,{Type:'Text'});break;case'JSONProxy':var tmpProxyUpdateParam=tmpSchemaEntry.StorageColumn+'_'+tmpCurrentColumn;tmpUpdate+=' '+generateSafeFieldName(tmpSchemaEntry.StorageColumn)+' = :'+tmpProxyUpdateParam;pParameters.query.parameters[tmpProxyUpdateParam]=typeof tmpRecords[0][tmpColumn]==='string'?tmpRecords[0][tmpColumn]:JSON.stringify(tmpRecords[0][tmpColumn]||{});generateOracleParameterTypeEntry(pParameters,tmpProxyUpdateParam,{Type:'Text'});break;default:var tmpColumnDefaultParameter=tmpColumn+'_'+tmpCurrentColumn;tmpUpdate+=' '+generateSafeFieldName(tmpColumn)+' = :'+tmpColumnDefaultParameter;pParameters.query.parameters[tmpColumnDefaultParameter]=tmpRecords[0][tmpColumn];generateOracleParameterTypeEntry(pParameters,tmpColumnDefaultParameter,tmpSchemaEntry);break;}tmpCurrentColumn++;}if(tmpUpdate===''){return false;}return tmpUpdate;};/**
3466
+ * Generate the update-delete SET clause
3467
+ *
3468
+ * @method: generateUpdateDeleteSetters
3469
+ * @param: {Object} pParameters SQL Query Parameters
3470
+ * @return: {String} Returns the soft-delete set clause
3471
+ */var generateUpdateDeleteSetters=function(pParameters){if(pParameters.query.disableDeleteTracking){return false;}var tmpSchema=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];var tmpCurrentColumn=0;var tmpHasDeletedField=false;var tmpUpdate='';var tmpSchemaEntry={Type:'Default'};for(var i=0;i<tmpSchema.length;i++){tmpSchemaEntry=tmpSchema[i];var tmpUpdateSql=null;switch(tmpSchemaEntry.Type){case'Deleted':tmpUpdateSql=' '+generateSafeFieldName(tmpSchemaEntry.Column)+' = 1';tmpHasDeletedField=true;break;case'DeleteDate':tmpUpdateSql=' '+generateSafeFieldName(tmpSchemaEntry.Column)+' = '+SQL_NOW;break;case'UpdateDate':tmpUpdateSql=' '+generateSafeFieldName(tmpSchemaEntry.Column)+' = '+SQL_NOW;break;case'DeleteIDUser':var tmpColumnParameter=tmpSchemaEntry.Column+'_'+tmpCurrentColumn;tmpUpdateSql=' '+generateSafeFieldName(tmpSchemaEntry.Column)+' = :'+tmpColumnParameter;pParameters.query.parameters[tmpColumnParameter]=pParameters.query.IDUser;generateOracleParameterTypeEntry(pParameters,tmpColumnParameter,tmpSchemaEntry);break;default:continue;}if(tmpCurrentColumn>0){tmpUpdate+=',';}tmpUpdate+=tmpUpdateSql;tmpCurrentColumn++;}if(!tmpHasDeletedField||tmpUpdate===''){return false;}return tmpUpdate;};/**
3472
+ * Generate the update-undelete SET clause
3473
+ *
3474
+ * @method: generateUpdateUndeleteSetters
3475
+ * @param: {Object} pParameters SQL Query Parameters
3476
+ * @return: {String} Returns the soft-undelete set clause
3477
+ */var generateUpdateUndeleteSetters=function(pParameters){var tmpSchema=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];var tmpCurrentColumn=0;var tmpHasDeletedField=false;var tmpUpdate='';var tmpSchemaEntry={Type:'Default'};for(var i=0;i<tmpSchema.length;i++){tmpSchemaEntry=tmpSchema[i];var tmpUpdateSql=null;switch(tmpSchemaEntry.Type){case'Deleted':tmpUpdateSql=' '+generateSafeFieldName(tmpSchemaEntry.Column)+' = 0';tmpHasDeletedField=true;break;case'UpdateDate':tmpUpdateSql=' '+generateSafeFieldName(tmpSchemaEntry.Column)+' = '+SQL_NOW;break;case'UpdateIDUser':var tmpColumnParameter=tmpSchemaEntry.Column+'_'+tmpCurrentColumn;tmpUpdateSql=' '+generateSafeFieldName(tmpSchemaEntry.Column)+' = :'+tmpColumnParameter;pParameters.query.parameters[tmpColumnParameter]=pParameters.query.IDUser;generateOracleParameterTypeEntry(pParameters,tmpColumnParameter,tmpSchemaEntry);break;default:continue;}if(tmpCurrentColumn>0){tmpUpdate+=',';}tmpUpdate+=tmpUpdateSql;tmpCurrentColumn++;}if(!tmpHasDeletedField||tmpUpdate===''){return false;}return tmpUpdate;};/**
3478
+ * Generate the create SET clause values
3479
+ *
3480
+ * @method: generateCreateSetValues
3481
+ * @param: {Object} pParameters SQL Query Parameters
3482
+ * @return: {String} Returns the insert values clause
3483
+ */var generateCreateSetValues=function(pParameters){var tmpRecords=pParameters.query.records;if(!Array.isArray(tmpRecords)||tmpRecords.length<1){return false;}var tmpSchema=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];var tmpCreateSet='';var tmpCurrentColumn=0;for(var tmpColumn in tmpRecords[0]){var tmpSchemaEntry={Column:tmpColumn,Type:'Default'};for(var i=0;i<tmpSchema.length;i++){if(tmpColumn==tmpSchema[i].Column){tmpSchemaEntry=tmpSchema[i];break;}}if(!pParameters.query.disableDeleteTracking){if(tmpSchemaEntry.Type==='DeleteDate'||tmpSchemaEntry.Type==='DeleteIDUser'){continue;}}// AutoIdentity is omitted entirely from the INSERT (the IDENTITY
3484
+ // column or the BEFORE-INSERT sequence trigger supplies it); skip
3485
+ // adding a separator for it unless the consumer is overriding it.
3486
+ if(tmpSchemaEntry.Type==='AutoIdentity'&&!pParameters.query.disableAutoIdentity){continue;}if(tmpCurrentColumn>0&&tmpCreateSet!=''){tmpCreateSet+=',';}var buildDefaultDefinition=function(){var tmpColumnParameter=tmpColumn+'_'+tmpCurrentColumn;tmpCreateSet+=' :'+tmpColumnParameter;pParameters.query.parameters[tmpColumnParameter]=tmpRecords[0][tmpColumn];generateOracleParameterTypeEntry(pParameters,tmpColumnParameter,tmpSchemaEntry);};var tmpColumnParameter;switch(tmpSchemaEntry.Type){case'AutoIdentity':// Only reached when disableAutoIdentity is set (overriding
3487
+ // the generated key with an explicit value).
3488
+ buildDefaultDefinition();break;case'AutoGUID':if(pParameters.query.disableAutoIdentity){buildDefaultDefinition();}else if(tmpRecords[0][tmpColumn]&&tmpRecords[0][tmpColumn].length>=5&&tmpRecords[0][tmpColumn]!=='0x0000000000000000')//stricture default
3489
+ {buildDefaultDefinition();}else{tmpColumnParameter=tmpColumn+'_'+tmpCurrentColumn;tmpCreateSet+=' :'+tmpColumnParameter;pParameters.query.parameters[tmpColumnParameter]=pParameters.query.UUID;generateOracleParameterTypeEntry(pParameters,tmpColumnParameter,tmpSchemaEntry);}break;case'UpdateDate':case'CreateDate':case'DeleteDate':if(pParameters.query.disableAutoDateStamp){buildDefaultDefinition();}else{tmpCreateSet+=' '+SQL_NOW;}break;case'DeleteIDUser':case'UpdateIDUser':case'CreateIDUser':if(pParameters.query.disableAutoUserStamp){buildDefaultDefinition();}else{tmpColumnParameter=tmpColumn+'_'+tmpCurrentColumn;tmpCreateSet+=' :'+tmpColumnParameter;pParameters.query.parameters[tmpColumnParameter]=pParameters.query.IDUser;generateOracleParameterTypeEntry(pParameters,tmpColumnParameter,tmpSchemaEntry);}break;case'JSON':var tmpJSONCreateParam=tmpColumn+'_'+tmpCurrentColumn;tmpCreateSet+=' :'+tmpJSONCreateParam;pParameters.query.parameters[tmpJSONCreateParam]=typeof tmpRecords[0][tmpColumn]==='string'?tmpRecords[0][tmpColumn]:JSON.stringify(tmpRecords[0][tmpColumn]||{});generateOracleParameterTypeEntry(pParameters,tmpJSONCreateParam,{Type:'Text'});break;case'JSONProxy':var tmpProxyCreateParam=tmpColumn+'_'+tmpCurrentColumn;tmpCreateSet+=' :'+tmpProxyCreateParam;pParameters.query.parameters[tmpProxyCreateParam]=typeof tmpRecords[0][tmpColumn]==='string'?tmpRecords[0][tmpColumn]:JSON.stringify(tmpRecords[0][tmpColumn]||{});generateOracleParameterTypeEntry(pParameters,tmpProxyCreateParam,{Type:'Text'});break;default:buildDefaultDefinition();break;}tmpCurrentColumn++;}if(tmpCreateSet===''){return false;}return tmpCreateSet;};/**
3490
+ * Generate the create SET clause column list
3491
+ *
3492
+ * @method: generateCreateSetList
3493
+ * @param: {Object} pParameters SQL Query Parameters
3494
+ * @return: {String} Returns the insert column list
3495
+ */var generateCreateSetList=function(pParameters){var tmpRecords=pParameters.query.records;var tmpSchema=Array.isArray(pParameters.query.schema)?pParameters.query.schema:[];var tmpCreateSet='';for(var tmpColumn in tmpRecords[0]){var tmpSchemaEntry={Column:tmpColumn,Type:'Default'};for(var i=0;i<tmpSchema.length;i++){if(tmpColumn==tmpSchema[i].Column){tmpSchemaEntry=tmpSchema[i];break;}}if(!pParameters.query.disableDeleteTracking){if(tmpSchemaEntry.Type==='DeleteDate'||tmpSchemaEntry.Type==='DeleteIDUser'){continue;}}switch(tmpSchemaEntry.Type){case'AutoIdentity':// Skipped on INSERT (IDENTITY/sequence trigger supplies it)
3496
+ // unless the consumer is overriding the value.
3497
+ if(pParameters.query.disableAutoIdentity){if(tmpCreateSet!=''){tmpCreateSet+=',';}tmpCreateSet+=' '+generateSafeFieldName(tmpColumn);}continue;case'JSONProxy':if(tmpCreateSet!=''){tmpCreateSet+=',';}tmpCreateSet+=' '+generateSafeFieldName(tmpSchemaEntry.StorageColumn);break;default:if(tmpCreateSet!=''){tmpCreateSet+=',';}tmpCreateSet+=' '+generateSafeFieldName(tmpColumn);break;}}return tmpCreateSet;};var Create=function(pParameters){_QuoteIdentifiers=!!pParameters.quoteIdentifiers;var tmpTableName=generateTableName(pParameters);var tmpCreateSetList=generateCreateSetList(pParameters);var tmpCreateSetValues=generateCreateSetValues(pParameters);if(!tmpCreateSetValues){return false;}// Oracle has no SCOPE_IDENTITY(); return the generated key via a
3498
+ // RETURNING ... INTO out-bind that the Meadow Oracle provider reads.
3499
+ var tmpReturning='';if(!pParameters.query.disableAutoIdentity){var tmpIDColumn=findPrimaryKeyColumn(pParameters);if(tmpIDColumn){tmpReturning=' RETURNING '+generateSafeFieldName(tmpIDColumn)+' INTO :RETURNING_ID';}}return'INSERT INTO'+tmpTableName+' ('+tmpCreateSetList+') VALUES ('+tmpCreateSetValues+')'+tmpReturning;};/**
3500
+ * Read one or many records
3501
+ *
3502
+ * @method Read
3503
+ * @param {Object} pParameters SQL Query parameters
3504
+ * @return {String} Returns the generated query.
3505
+ */var Read=function(pParameters){_QuoteIdentifiers=!!pParameters.quoteIdentifiers;var tmpFieldList=generateFieldList(pParameters);var tmpTableName=generateTableName(pParameters);var tmpWhere=generateWhere(pParameters);var tmpJoin=generateJoins(pParameters);var tmpOrderBy=generateOrderBy(pParameters);var tmpLimit=generateLimit(pParameters);const tmpOptDistinct=pParameters.distinct?' DISTINCT':'';if(pParameters.queryOverride){try{var tmpQueryTemplate=_Fable.Utility.template(pParameters.queryOverride);return tmpQueryTemplate({FieldList:tmpFieldList,TableName:tmpTableName,Where:tmpWhere,Join:tmpJoin,OrderBy:tmpOrderBy,Limit:tmpLimit,Distinct:tmpOptDistinct,_Params:pParameters});}catch(pError){console.log('Error with custom Read Query ['+pParameters.queryOverride+']: '+pError);return false;}}// Legacy pagination path — wrap in a ROWNUM double-subquery for 11g
3506
+ // and earlier, which have no OFFSET/FETCH. The innermost query keeps
3507
+ // the ORDER BY; the middle query captures ROWNUM with an upper-bound
3508
+ // predicate (enabling a COUNT STOPKEY short-circuit); the outer query
3509
+ // applies the lower bound. Enabled via pParameters.legacyPagination
3510
+ // (forwarded from the meadow-connection-oracle LegacyPagination config).
3511
+ if(pParameters.legacyPagination&&pParameters.cap){var tmpBegin=pParameters.begin!==false?pParameters.begin:0;var tmpEnd=tmpBegin+pParameters.cap;var tmpOuterFieldList=generateOuterFieldListForLegacyPagination(pParameters);return`SELECT${tmpOptDistinct}${tmpOuterFieldList} FROM (SELECT meadow_inner.*, ROWNUM AS "_RowNum" FROM (SELECT${tmpFieldList} FROM${tmpTableName}${tmpJoin}${tmpWhere}${tmpOrderBy}) meadow_inner WHERE ROWNUM <= ${tmpEnd}) WHERE "_RowNum" > ${tmpBegin}`;}return`SELECT${tmpOptDistinct}${tmpFieldList} FROM${tmpTableName}${tmpJoin}${tmpWhere}${tmpOrderBy}${tmpLimit}`;};var Update=function(pParameters){_QuoteIdentifiers=!!pParameters.quoteIdentifiers;var tmpTableName=generateTableName(pParameters);var tmpUpdateSetters=generateUpdateSetters(pParameters);var tmpWhere=generateWhere(pParameters);if(!tmpUpdateSetters){return false;}return'UPDATE'+tmpTableName+' SET'+tmpUpdateSetters+tmpWhere;};var Delete=function(pParameters){_QuoteIdentifiers=!!pParameters.quoteIdentifiers;var tmpTableName=generateTableName(pParameters);var tmpUpdateDeleteSetters=generateUpdateDeleteSetters(pParameters);var tmpWhere=generateWhere(pParameters);if(tmpUpdateDeleteSetters){return'UPDATE'+tmpTableName+' SET'+tmpUpdateDeleteSetters+tmpWhere;}else{return'DELETE FROM'+tmpTableName+tmpWhere;}};var Undelete=function(pParameters){_QuoteIdentifiers=!!pParameters.quoteIdentifiers;var tmpTableName=generateTableName(pParameters);let tmpDeleteTrackingState=pParameters.query.disableDeleteTracking;pParameters.query.disableDeleteTracking=true;var tmpUpdateUndeleteSetters=generateUpdateUndeleteSetters(pParameters);var tmpWhere=generateWhere(pParameters);pParameters.query.disableDeleteTracking=tmpDeleteTrackingState;if(tmpUpdateUndeleteSetters){return'UPDATE'+tmpTableName+' SET'+tmpUpdateUndeleteSetters+tmpWhere;}else{// No-op — the record can't be undeleted. Oracle requires a FROM.
3512
+ return'SELECT NULL FROM DUAL';}};var Count=function(pParameters){_QuoteIdentifiers=!!pParameters.quoteIdentifiers;var tmpFieldList=pParameters.distinct?generateFieldList(pParameters,true):'*';var tmpTableName=generateTableName(pParameters);var tmpJoin=generateJoins(pParameters);var tmpWhere=generateWhere(pParameters);if(pParameters.distinct&&tmpFieldList.length<1){console.warn('Distinct requested but no field list or schema are available, so not honoring distinct for count query.');}const tmpOptDistinct=pParameters.distinct&&tmpFieldList.length>0?'DISTINCT':'';if(pParameters.queryOverride){try{var tmpQueryTemplate=_Fable.Utility.template(pParameters.queryOverride);return tmpQueryTemplate({FieldList:[],TableName:tmpTableName,Where:tmpWhere,OrderBy:'',Limit:'',Distinct:tmpOptDistinct,_Params:pParameters});}catch(pError){console.log('Error with custom Count Query ['+pParameters.queryOverride+']: '+pError);return false;}}return`SELECT COUNT(${tmpOptDistinct}${tmpFieldList||'*'}) AS RowCount FROM${tmpTableName}${tmpJoin}${tmpWhere}`;};var tmpDialect={Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count};/**
3513
+ * Dialect Name
3514
+ *
3515
+ * @property name
3516
+ * @type string
3517
+ */Object.defineProperty(tmpDialect,'name',{get:function(){return'Oracle';},enumerable:true});return tmpDialect;};module.exports=FoxHoundDialectOracle;},{}],155:[function(require,module,exports){/**
3316
3518
  * FoxHound PostgreSQL Dialect
3317
3519
  *
3318
3520
  * @license MIT
@@ -3429,7 +3631,7 @@ tmpCreateSet+=' DEFAULT';}break;case'AutoGUID':if(pParameters.query.disableAutoI
3429
3631
  *
3430
3632
  * @property name
3431
3633
  * @type string
3432
- */Object.defineProperty(tmpDialect,'name',{get:function(){return'PostgreSQL';},enumerable:true});return tmpDialect;};module.exports=FoxHoundDialectPostgreSQL;},{}],155:[function(require,module,exports){/**
3634
+ */Object.defineProperty(tmpDialect,'name',{get:function(){return'PostgreSQL';},enumerable:true});return tmpDialect;};module.exports=FoxHoundDialectPostgreSQL;},{}],156:[function(require,module,exports){/**
3433
3635
  * FoxHound SQLite Dialect
3434
3636
  *
3435
3637
  * @license MIT
@@ -3640,7 +3842,7 @@ console.log('Error with custom Count Query ['+pParameters.queryOverride+']: '+pE
3640
3842
  *
3641
3843
  * @property name
3642
3844
  * @type string
3643
- */Object.defineProperty(tmpDialect,'name',{get:function(){return'SQLite';},enumerable:true});return tmpDialect;};module.exports=FoxHoundDialectSQLite;},{}],156:[function(require,module,exports){/**
3845
+ */Object.defineProperty(tmpDialect,'name',{get:function(){return'SQLite';},enumerable:true});return tmpDialect;};module.exports=FoxHoundDialectSQLite;},{}],157:[function(require,module,exports){/**
3644
3846
  * FoxHound Solr Dialect
3645
3847
  *
3646
3848
  * Generates Solr query descriptors and Lucene query strings.
@@ -3778,9 +3980,9 @@ var tmpDeleteTrackingState=pParameters.query.disableDeleteTracking;pParameters.q
3778
3980
  *
3779
3981
  * @property name
3780
3982
  * @type string
3781
- */Object.defineProperty(tmpDialect,'name',{get:function(){return'Solr';},enumerable:true});return tmpDialect;};module.exports=FoxHoundDialectSolr;},{}],157:[function(require,module,exports){'use strict';/* eslint no-invalid-this: 1 */var ERROR_MESSAGE='Function.prototype.bind called on incompatible ';var toStr=Object.prototype.toString;var max=Math.max;var funcType='[object Function]';var concatty=function concatty(a,b){var arr=[];for(var i=0;i<a.length;i+=1){arr[i]=a[i];}for(var j=0;j<b.length;j+=1){arr[j+a.length]=b[j];}return arr;};var slicy=function slicy(arrLike,offset){var arr=[];for(var i=offset||0,j=0;i<arrLike.length;i+=1,j+=1){arr[j]=arrLike[i];}return arr;};var joiny=function(arr,joiner){var str='';for(var i=0;i<arr.length;i+=1){str+=arr[i];if(i+1<arr.length){str+=joiner;}}return str;};module.exports=function bind(that){var target=this;if(typeof target!=='function'||toStr.apply(target)!==funcType){throw new TypeError(ERROR_MESSAGE+target);}var args=slicy(arguments,1);var bound;var binder=function(){if(this instanceof bound){var result=target.apply(this,concatty(args,arguments));if(Object(result)===result){return result;}return this;}return target.apply(that,concatty(args,arguments));};var boundLength=max(0,target.length-args.length);var boundArgs=[];for(var i=0;i<boundLength;i++){boundArgs[i]='$'+i;}bound=Function('binder','return function ('+joiny(boundArgs,',')+'){ return binder.apply(this,arguments); }')(binder);if(target.prototype){var Empty=function Empty(){};Empty.prototype=target.prototype;bound.prototype=new Empty();Empty.prototype=null;}return bound;};},{}],158:[function(require,module,exports){'use strict';var implementation=require('./implementation');module.exports=Function.prototype.bind||implementation;},{"./implementation":157}],159:[function(require,module,exports){var util=require('util');var isProperty=require('is-property');var INDENT_START=/[\{\[]/;var INDENT_END=/[\}\]]/;// from https://mathiasbynens.be/notes/reserved-keywords
3782
- var RESERVED=['do','if','in','for','let','new','try','var','case','else','enum','eval','null','this','true','void','with','await','break','catch','class','const','false','super','throw','while','yield','delete','export','import','public','return','static','switch','typeof','default','extends','finally','package','private','continue','debugger','function','arguments','interface','protected','implements','instanceof','NaN','undefined'];var RESERVED_MAP={};for(var i=0;i<RESERVED.length;i++){RESERVED_MAP[RESERVED[i]]=true;}var isVariable=function(name){return isProperty(name)&&!RESERVED_MAP.hasOwnProperty(name);};var formats={s:function(s){return''+s;},d:function(d){return''+Number(d);},o:function(o){return JSON.stringify(o);}};var genfun=function(){var lines=[];var indent=0;var vars={};var push=function(str){var spaces='';while(spaces.length<indent*2)spaces+=' ';lines.push(spaces+str);};var pushLine=function(line){if(INDENT_END.test(line.trim()[0])&&INDENT_START.test(line[line.length-1])){indent--;push(line);indent++;return;}if(INDENT_START.test(line[line.length-1])){push(line);indent++;return;}if(INDENT_END.test(line.trim()[0])){indent--;push(line);return;}push(line);};var line=function(fmt){if(!fmt)return line;if(arguments.length===1&&fmt.indexOf('\n')>-1){var lines=fmt.trim().split('\n');for(var i=0;i<lines.length;i++){pushLine(lines[i].trim());}}else{pushLine(util.format.apply(util,arguments));}return line;};line.scope={};line.formats=formats;line.sym=function(name){if(!name||!isVariable(name))name='tmp';if(!vars[name])vars[name]=0;return name+(vars[name]++||'');};line.property=function(obj,name){if(arguments.length===1){name=obj;obj='';}name=name+'';if(isProperty(name))return obj?obj+'.'+name:name;return obj?obj+'['+JSON.stringify(name)+']':JSON.stringify(name);};line.toString=function(){return lines.join('\n');};line.toFunction=function(scope){if(!scope)scope={};var src='return ('+line.toString()+')';Object.keys(line.scope).forEach(function(key){if(!scope[key])scope[key]=line.scope[key];});var keys=Object.keys(scope).map(function(key){return key;});var vals=keys.map(function(key){return scope[key];});return Function.apply(null,keys.concat(src)).apply(null,vals);};if(arguments.length)line.apply(null,arguments);return line;};genfun.formats=formats;module.exports=genfun;},{"is-property":196,"util":353}],160:[function(require,module,exports){var isProperty=require('is-property');var gen=function(obj,prop){return isProperty(prop)?obj+'.'+prop:obj+'['+JSON.stringify(prop)+']';};gen.valid=isProperty;gen.property=function(prop){return isProperty(prop)?prop:JSON.stringify(prop);};module.exports=gen;},{"is-property":196}],161:[function(require,module,exports){'use strict';/** @type {GeneratorFunctionConstructor | false} */var cached;/** @type {import('./index.js')} */module.exports=function getGeneratorFunction(){if(typeof cached==='undefined'){try{// eslint-disable-next-line no-new-func
3783
- cached=Function('return function* () {}')().constructor;}catch(e){cached=false;}}return cached;};},{}],162:[function(require,module,exports){'use strict';var undefined;var $Object=require('es-object-atoms');var $Error=require('es-errors');var $EvalError=require('es-errors/eval');var $RangeError=require('es-errors/range');var $ReferenceError=require('es-errors/ref');var $SyntaxError=require('es-errors/syntax');var $TypeError=require('es-errors/type');var $URIError=require('es-errors/uri');var abs=require('math-intrinsics/abs');var floor=require('math-intrinsics/floor');var max=require('math-intrinsics/max');var min=require('math-intrinsics/min');var pow=require('math-intrinsics/pow');var round=require('math-intrinsics/round');var sign=require('math-intrinsics/sign');var $Function=Function;// eslint-disable-next-line consistent-return
3983
+ */Object.defineProperty(tmpDialect,'name',{get:function(){return'Solr';},enumerable:true});return tmpDialect;};module.exports=FoxHoundDialectSolr;},{}],158:[function(require,module,exports){'use strict';/* eslint no-invalid-this: 1 */var ERROR_MESSAGE='Function.prototype.bind called on incompatible ';var toStr=Object.prototype.toString;var max=Math.max;var funcType='[object Function]';var concatty=function concatty(a,b){var arr=[];for(var i=0;i<a.length;i+=1){arr[i]=a[i];}for(var j=0;j<b.length;j+=1){arr[j+a.length]=b[j];}return arr;};var slicy=function slicy(arrLike,offset){var arr=[];for(var i=offset||0,j=0;i<arrLike.length;i+=1,j+=1){arr[j]=arrLike[i];}return arr;};var joiny=function(arr,joiner){var str='';for(var i=0;i<arr.length;i+=1){str+=arr[i];if(i+1<arr.length){str+=joiner;}}return str;};module.exports=function bind(that){var target=this;if(typeof target!=='function'||toStr.apply(target)!==funcType){throw new TypeError(ERROR_MESSAGE+target);}var args=slicy(arguments,1);var bound;var binder=function(){if(this instanceof bound){var result=target.apply(this,concatty(args,arguments));if(Object(result)===result){return result;}return this;}return target.apply(that,concatty(args,arguments));};var boundLength=max(0,target.length-args.length);var boundArgs=[];for(var i=0;i<boundLength;i++){boundArgs[i]='$'+i;}bound=Function('binder','return function ('+joiny(boundArgs,',')+'){ return binder.apply(this,arguments); }')(binder);if(target.prototype){var Empty=function Empty(){};Empty.prototype=target.prototype;bound.prototype=new Empty();Empty.prototype=null;}return bound;};},{}],159:[function(require,module,exports){'use strict';var implementation=require('./implementation');module.exports=Function.prototype.bind||implementation;},{"./implementation":158}],160:[function(require,module,exports){var util=require('util');var isProperty=require('is-property');var INDENT_START=/[\{\[]/;var INDENT_END=/[\}\]]/;// from https://mathiasbynens.be/notes/reserved-keywords
3984
+ var RESERVED=['do','if','in','for','let','new','try','var','case','else','enum','eval','null','this','true','void','with','await','break','catch','class','const','false','super','throw','while','yield','delete','export','import','public','return','static','switch','typeof','default','extends','finally','package','private','continue','debugger','function','arguments','interface','protected','implements','instanceof','NaN','undefined'];var RESERVED_MAP={};for(var i=0;i<RESERVED.length;i++){RESERVED_MAP[RESERVED[i]]=true;}var isVariable=function(name){return isProperty(name)&&!RESERVED_MAP.hasOwnProperty(name);};var formats={s:function(s){return''+s;},d:function(d){return''+Number(d);},o:function(o){return JSON.stringify(o);}};var genfun=function(){var lines=[];var indent=0;var vars={};var push=function(str){var spaces='';while(spaces.length<indent*2)spaces+=' ';lines.push(spaces+str);};var pushLine=function(line){if(INDENT_END.test(line.trim()[0])&&INDENT_START.test(line[line.length-1])){indent--;push(line);indent++;return;}if(INDENT_START.test(line[line.length-1])){push(line);indent++;return;}if(INDENT_END.test(line.trim()[0])){indent--;push(line);return;}push(line);};var line=function(fmt){if(!fmt)return line;if(arguments.length===1&&fmt.indexOf('\n')>-1){var lines=fmt.trim().split('\n');for(var i=0;i<lines.length;i++){pushLine(lines[i].trim());}}else{pushLine(util.format.apply(util,arguments));}return line;};line.scope={};line.formats=formats;line.sym=function(name){if(!name||!isVariable(name))name='tmp';if(!vars[name])vars[name]=0;return name+(vars[name]++||'');};line.property=function(obj,name){if(arguments.length===1){name=obj;obj='';}name=name+'';if(isProperty(name))return obj?obj+'.'+name:name;return obj?obj+'['+JSON.stringify(name)+']':JSON.stringify(name);};line.toString=function(){return lines.join('\n');};line.toFunction=function(scope){if(!scope)scope={};var src='return ('+line.toString()+')';Object.keys(line.scope).forEach(function(key){if(!scope[key])scope[key]=line.scope[key];});var keys=Object.keys(scope).map(function(key){return key;});var vals=keys.map(function(key){return scope[key];});return Function.apply(null,keys.concat(src)).apply(null,vals);};if(arguments.length)line.apply(null,arguments);return line;};genfun.formats=formats;module.exports=genfun;},{"is-property":197,"util":355}],161:[function(require,module,exports){var isProperty=require('is-property');var gen=function(obj,prop){return isProperty(prop)?obj+'.'+prop:obj+'['+JSON.stringify(prop)+']';};gen.valid=isProperty;gen.property=function(prop){return isProperty(prop)?prop:JSON.stringify(prop);};module.exports=gen;},{"is-property":197}],162:[function(require,module,exports){'use strict';/** @type {GeneratorFunctionConstructor | false} */var cached;/** @type {import('./index.js')} */module.exports=function getGeneratorFunction(){if(typeof cached==='undefined'){try{// eslint-disable-next-line no-new-func
3985
+ cached=Function('return function* () {}')().constructor;}catch(e){cached=false;}}return cached;};},{}],163:[function(require,module,exports){'use strict';var undefined;var $Object=require('es-object-atoms');var $Error=require('es-errors');var $EvalError=require('es-errors/eval');var $RangeError=require('es-errors/range');var $ReferenceError=require('es-errors/ref');var $SyntaxError=require('es-errors/syntax');var $TypeError=require('es-errors/type');var $URIError=require('es-errors/uri');var abs=require('math-intrinsics/abs');var floor=require('math-intrinsics/floor');var max=require('math-intrinsics/max');var min=require('math-intrinsics/min');var pow=require('math-intrinsics/pow');var round=require('math-intrinsics/round');var sign=require('math-intrinsics/sign');var $Function=Function;// eslint-disable-next-line consistent-return
3784
3986
  var getEvalledConstructor=function(expressionSyntax){try{return $Function('"use strict"; return ('+expressionSyntax+').constructor;')();}catch(e){}};var $gOPD=require('gopd');var $defineProperty=require('es-define-property');var throwTypeError=function(){throw new $TypeError();};var ThrowTypeError=$gOPD?function(){try{// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
3785
3987
  arguments.callee;// IE 8 does not throw here
3786
3988
  return throwTypeError;}catch(calleeThrows){try{// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
@@ -3794,13 +3996,13 @@ var errorProto=getProto(getProto(e));INTRINSICS['%Error.prototype%']=errorProto;
3794
3996
  // uphold the illusion by pretending to see that original data
3795
3997
  // property, i.e., returning the value rather than the getter
3796
3998
  // itself.
3797
- if(isOwn&&'get'in desc&&!('originalValue'in desc.get)){value=desc.get;}else{value=value[part];}}else{isOwn=hasOwn(value,part);value=value[part];}if(isOwn&&!skipFurtherCaching){INTRINSICS[intrinsicRealName]=value;}}}return value;};},{"call-bind-apply-helpers/functionApply":87,"call-bind-apply-helpers/functionCall":88,"es-define-property":132,"es-errors":134,"es-errors/eval":133,"es-errors/range":135,"es-errors/ref":136,"es-errors/syntax":137,"es-errors/type":138,"es-errors/uri":139,"es-object-atoms":140,"function-bind":158,"get-proto":165,"get-proto/Object.getPrototypeOf":163,"get-proto/Reflect.getPrototypeOf":164,"gopd":167,"has-symbols":169,"hasown":185,"math-intrinsics/abs":201,"math-intrinsics/floor":202,"math-intrinsics/max":204,"math-intrinsics/min":205,"math-intrinsics/pow":206,"math-intrinsics/round":207,"math-intrinsics/sign":208}],163:[function(require,module,exports){'use strict';var $Object=require('es-object-atoms');/** @type {import('./Object.getPrototypeOf')} */module.exports=$Object.getPrototypeOf||null;},{"es-object-atoms":140}],164:[function(require,module,exports){'use strict';/** @type {import('./Reflect.getPrototypeOf')} */module.exports=typeof Reflect!=='undefined'&&Reflect.getPrototypeOf||null;},{}],165:[function(require,module,exports){'use strict';var reflectGetProto=require('./Reflect.getPrototypeOf');var originalGetProto=require('./Object.getPrototypeOf');var getDunderProto=require('dunder-proto/get');/** @type {import('.')} */module.exports=reflectGetProto?function getProto(O){// @ts-expect-error TS can't narrow inside a closure, for some reason
3999
+ if(isOwn&&'get'in desc&&!('originalValue'in desc.get)){value=desc.get;}else{value=value[part];}}else{isOwn=hasOwn(value,part);value=value[part];}if(isOwn&&!skipFurtherCaching){INTRINSICS[intrinsicRealName]=value;}}}return value;};},{"call-bind-apply-helpers/functionApply":87,"call-bind-apply-helpers/functionCall":88,"es-define-property":132,"es-errors":134,"es-errors/eval":133,"es-errors/range":135,"es-errors/ref":136,"es-errors/syntax":137,"es-errors/type":138,"es-errors/uri":139,"es-object-atoms":140,"function-bind":159,"get-proto":166,"get-proto/Object.getPrototypeOf":164,"get-proto/Reflect.getPrototypeOf":165,"gopd":168,"has-symbols":170,"hasown":186,"math-intrinsics/abs":202,"math-intrinsics/floor":203,"math-intrinsics/max":205,"math-intrinsics/min":206,"math-intrinsics/pow":207,"math-intrinsics/round":208,"math-intrinsics/sign":209}],164:[function(require,module,exports){'use strict';var $Object=require('es-object-atoms');/** @type {import('./Object.getPrototypeOf')} */module.exports=$Object.getPrototypeOf||null;},{"es-object-atoms":140}],165:[function(require,module,exports){'use strict';/** @type {import('./Reflect.getPrototypeOf')} */module.exports=typeof Reflect!=='undefined'&&Reflect.getPrototypeOf||null;},{}],166:[function(require,module,exports){'use strict';var reflectGetProto=require('./Reflect.getPrototypeOf');var originalGetProto=require('./Object.getPrototypeOf');var getDunderProto=require('dunder-proto/get');/** @type {import('.')} */module.exports=reflectGetProto?function getProto(O){// @ts-expect-error TS can't narrow inside a closure, for some reason
3798
4000
  return reflectGetProto(O);}:originalGetProto?function getProto(O){if(!O||typeof O!=='object'&&typeof O!=='function'){throw new TypeError('getProto: not an object');}// @ts-expect-error TS can't narrow inside a closure, for some reason
3799
4001
  return originalGetProto(O);}:getDunderProto?function getProto(O){// @ts-expect-error TS can't narrow inside a closure, for some reason
3800
- return getDunderProto(O);}:null;},{"./Object.getPrototypeOf":163,"./Reflect.getPrototypeOf":164,"dunder-proto/get":114}],166:[function(require,module,exports){'use strict';/** @type {import('./gOPD')} */module.exports=Object.getOwnPropertyDescriptor;},{}],167:[function(require,module,exports){'use strict';/** @type {import('.')} */var $gOPD=require('./gOPD');if($gOPD){try{$gOPD([],'length');}catch(e){// IE 8 has a broken gOPD
3801
- $gOPD=null;}}module.exports=$gOPD;},{"./gOPD":166}],168:[function(require,module,exports){'use strict';var $defineProperty=require('es-define-property');var hasPropertyDescriptors=function hasPropertyDescriptors(){return!!$defineProperty;};hasPropertyDescriptors.hasArrayLengthDefineBug=function hasArrayLengthDefineBug(){// node v0.6 has a bug where array lengths can be Set but not Defined
4002
+ return getDunderProto(O);}:null;},{"./Object.getPrototypeOf":164,"./Reflect.getPrototypeOf":165,"dunder-proto/get":114}],167:[function(require,module,exports){'use strict';/** @type {import('./gOPD')} */module.exports=Object.getOwnPropertyDescriptor;},{}],168:[function(require,module,exports){'use strict';/** @type {import('.')} */var $gOPD=require('./gOPD');if($gOPD){try{$gOPD([],'length');}catch(e){// IE 8 has a broken gOPD
4003
+ $gOPD=null;}}module.exports=$gOPD;},{"./gOPD":167}],169:[function(require,module,exports){'use strict';var $defineProperty=require('es-define-property');var hasPropertyDescriptors=function hasPropertyDescriptors(){return!!$defineProperty;};hasPropertyDescriptors.hasArrayLengthDefineBug=function hasArrayLengthDefineBug(){// node v0.6 has a bug where array lengths can be Set but not Defined
3802
4004
  if(!$defineProperty){return null;}try{return $defineProperty([],'length',{value:1}).length!==1;}catch(e){// In Firefox 4-22, defining length on an array throws an exception.
3803
- return true;}};module.exports=hasPropertyDescriptors;},{"es-define-property":132}],169:[function(require,module,exports){'use strict';var origSymbol=typeof Symbol!=='undefined'&&Symbol;var hasSymbolSham=require('./shams');/** @type {import('.')} */module.exports=function hasNativeSymbols(){if(typeof origSymbol!=='function'){return false;}if(typeof Symbol!=='function'){return false;}if(typeof origSymbol('foo')!=='symbol'){return false;}if(typeof Symbol('bar')!=='symbol'){return false;}return hasSymbolSham();};},{"./shams":170}],170:[function(require,module,exports){'use strict';/** @type {import('./shams')} *//* eslint complexity: [2, 18], max-statements: [2, 33] */module.exports=function hasSymbols(){if(typeof Symbol!=='function'||typeof Object.getOwnPropertySymbols!=='function'){return false;}if(typeof Symbol.iterator==='symbol'){return true;}/** @type {{ [k in symbol]?: unknown }} */var obj={};var sym=Symbol('test');var symObj=Object(sym);if(typeof sym==='string'){return false;}if(Object.prototype.toString.call(sym)!=='[object Symbol]'){return false;}if(Object.prototype.toString.call(symObj)!=='[object Symbol]'){return false;}// temp disabled per https://github.com/ljharb/object.assign/issues/17
4005
+ return true;}};module.exports=hasPropertyDescriptors;},{"es-define-property":132}],170:[function(require,module,exports){'use strict';var origSymbol=typeof Symbol!=='undefined'&&Symbol;var hasSymbolSham=require('./shams');/** @type {import('.')} */module.exports=function hasNativeSymbols(){if(typeof origSymbol!=='function'){return false;}if(typeof Symbol!=='function'){return false;}if(typeof origSymbol('foo')!=='symbol'){return false;}if(typeof Symbol('bar')!=='symbol'){return false;}return hasSymbolSham();};},{"./shams":171}],171:[function(require,module,exports){'use strict';/** @type {import('./shams')} *//* eslint complexity: [2, 18], max-statements: [2, 33] */module.exports=function hasSymbols(){if(typeof Symbol!=='function'||typeof Object.getOwnPropertySymbols!=='function'){return false;}if(typeof Symbol.iterator==='symbol'){return true;}/** @type {{ [k in symbol]?: unknown }} */var obj={};var sym=Symbol('test');var symObj=Object(sym);if(typeof sym==='string'){return false;}if(Object.prototype.toString.call(sym)!=='[object Symbol]'){return false;}if(Object.prototype.toString.call(symObj)!=='[object Symbol]'){return false;}// temp disabled per https://github.com/ljharb/object.assign/issues/17
3804
4006
  // if (sym instanceof Symbol) { return false; }
3805
4007
  // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
3806
4008
  // if (!(symObj instanceof Symbol)) { return false; }
@@ -3808,7 +4010,7 @@ return true;}};module.exports=hasPropertyDescriptors;},{"es-define-property":132
3808
4010
  // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
3809
4011
  var symVal=42;obj[sym]=symVal;for(var _ in obj){return false;}// eslint-disable-line no-restricted-syntax, no-unreachable-loop
3810
4012
  if(typeof Object.keys==='function'&&Object.keys(obj).length!==0){return false;}if(typeof Object.getOwnPropertyNames==='function'&&Object.getOwnPropertyNames(obj).length!==0){return false;}var syms=Object.getOwnPropertySymbols(obj);if(syms.length!==1||syms[0]!==sym){return false;}if(!Object.prototype.propertyIsEnumerable.call(obj,sym)){return false;}if(typeof Object.getOwnPropertyDescriptor==='function'){// eslint-disable-next-line no-extra-parens
3811
- var descriptor=/** @type {PropertyDescriptor} */Object.getOwnPropertyDescriptor(obj,sym);if(descriptor.value!==symVal||descriptor.enumerable!==true){return false;}}return true;};},{}],171:[function(require,module,exports){'use strict';var hasSymbols=require('has-symbols/shams');/** @type {import('.')} */module.exports=function hasToStringTagShams(){return hasSymbols()&&!!Symbol.toStringTag;};},{"has-symbols/shams":170}],172:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var Transform=require('stream').Transform;var inherits=require('inherits');function HashBase(blockSize){Transform.call(this);this._block=Buffer.allocUnsafe(blockSize);this._blockSize=blockSize;this._blockOffset=0;this._length=[0,0,0,0];this._finalized=false;}inherits(HashBase,Transform);HashBase.prototype._transform=function(chunk,encoding,callback){var error=null;try{this.update(chunk,encoding);}catch(err){error=err;}callback(error);};HashBase.prototype._flush=function(callback){var error=null;try{this.push(this.digest());}catch(err){error=err;}callback(error);};var useUint8Array=typeof Uint8Array!=='undefined';var useArrayBuffer=typeof ArrayBuffer!=='undefined'&&typeof Uint8Array!=='undefined'&&ArrayBuffer.isView&&(Buffer.prototype instanceof Uint8Array||Buffer.TYPED_ARRAY_SUPPORT);function toBuffer(data,encoding){// No need to do anything for exact instance
4013
+ var descriptor=/** @type {PropertyDescriptor} */Object.getOwnPropertyDescriptor(obj,sym);if(descriptor.value!==symVal||descriptor.enumerable!==true){return false;}}return true;};},{}],172:[function(require,module,exports){'use strict';var hasSymbols=require('has-symbols/shams');/** @type {import('.')} */module.exports=function hasToStringTagShams(){return hasSymbols()&&!!Symbol.toStringTag;};},{"has-symbols/shams":171}],173:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var Transform=require('stream').Transform;var inherits=require('inherits');function HashBase(blockSize){Transform.call(this);this._block=Buffer.allocUnsafe(blockSize);this._blockSize=blockSize;this._blockOffset=0;this._length=[0,0,0,0];this._finalized=false;}inherits(HashBase,Transform);HashBase.prototype._transform=function(chunk,encoding,callback){var error=null;try{this.update(chunk,encoding);}catch(err){error=err;}callback(error);};HashBase.prototype._flush=function(callback){var error=null;try{this.push(this.digest());}catch(err){error=err;}callback(error);};var useUint8Array=typeof Uint8Array!=='undefined';var useArrayBuffer=typeof ArrayBuffer!=='undefined'&&typeof Uint8Array!=='undefined'&&ArrayBuffer.isView&&(Buffer.prototype instanceof Uint8Array||Buffer.TYPED_ARRAY_SUPPORT);function toBuffer(data,encoding){// No need to do anything for exact instance
3812
4014
  // This is only valid when safe-buffer.Buffer === buffer.Buffer, i.e. when Buffer.from/Buffer.alloc existed
3813
4015
  if(data instanceof Buffer)return data;// Convert strings to Buffer
3814
4016
  if(typeof data==='string')return Buffer.from(data,encoding);/*
@@ -3828,16 +4030,16 @@ if(res.byteLength===data.byteLength)return res;}/*
3828
4030
  // consume data
3829
4031
  var block=this._block;var offset=0;while(this._blockOffset+data.length-offset>=this._blockSize){for(var i=this._blockOffset;i<this._blockSize;)block[i++]=data[offset++];this._update();this._blockOffset=0;}while(offset<data.length)block[this._blockOffset++]=data[offset++];// update length
3830
4032
  for(var j=0,carry=data.length*8;carry>0;++j){this._length[j]+=carry;carry=this._length[j]/0x0100000000|0;if(carry>0)this._length[j]-=0x0100000000*carry;}return this;};HashBase.prototype._update=function(){throw new Error('_update is not implemented');};HashBase.prototype.digest=function(encoding){if(this._finalized)throw new Error('Digest already called');this._finalized=true;var digest=this._digest();if(encoding!==undefined)digest=digest.toString(encoding);// reset state
3831
- this._block.fill(0);this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return digest;};HashBase.prototype._digest=function(){throw new Error('_digest is not implemented');};module.exports=HashBase;},{"inherits":189,"safe-buffer":291,"stream":308}],173:[function(require,module,exports){var hash=exports;hash.utils=require('./hash/utils');hash.common=require('./hash/common');hash.sha=require('./hash/sha');hash.ripemd=require('./hash/ripemd');hash.hmac=require('./hash/hmac');// Proxy hash functions to the main object
3832
- hash.sha1=hash.sha.sha1;hash.sha256=hash.sha.sha256;hash.sha224=hash.sha.sha224;hash.sha384=hash.sha.sha384;hash.sha512=hash.sha.sha512;hash.ripemd160=hash.ripemd.ripemd160;},{"./hash/common":174,"./hash/hmac":175,"./hash/ripemd":176,"./hash/sha":177,"./hash/utils":184}],174:[function(require,module,exports){'use strict';var utils=require('./utils');var assert=require('minimalistic-assert');function BlockHash(){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;}exports.BlockHash=BlockHash;BlockHash.prototype.update=function update(msg,enc){// Convert message to array, pad it, and join into 32bit blocks
4033
+ this._block.fill(0);this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return digest;};HashBase.prototype._digest=function(){throw new Error('_digest is not implemented');};module.exports=HashBase;},{"inherits":190,"safe-buffer":293,"stream":310}],174:[function(require,module,exports){var hash=exports;hash.utils=require('./hash/utils');hash.common=require('./hash/common');hash.sha=require('./hash/sha');hash.ripemd=require('./hash/ripemd');hash.hmac=require('./hash/hmac');// Proxy hash functions to the main object
4034
+ hash.sha1=hash.sha.sha1;hash.sha256=hash.sha.sha256;hash.sha224=hash.sha.sha224;hash.sha384=hash.sha.sha384;hash.sha512=hash.sha.sha512;hash.ripemd160=hash.ripemd.ripemd160;},{"./hash/common":175,"./hash/hmac":176,"./hash/ripemd":177,"./hash/sha":178,"./hash/utils":185}],175:[function(require,module,exports){'use strict';var utils=require('./utils');var assert=require('minimalistic-assert');function BlockHash(){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;}exports.BlockHash=BlockHash;BlockHash.prototype.update=function update(msg,enc){// Convert message to array, pad it, and join into 32bit blocks
3833
4035
  msg=utils.toArray(msg,enc);if(!this.pending)this.pending=msg;else this.pending=this.pending.concat(msg);this.pendingTotal+=msg.length;// Enough data, try updating
3834
4036
  if(this.pending.length>=this._delta8){msg=this.pending;// Process pending data in blocks
3835
4037
  var r=msg.length%this._delta8;this.pending=msg.slice(msg.length-r,msg.length);if(this.pending.length===0)this.pending=null;msg=utils.join32(msg,0,msg.length-r,this.endian);for(var i=0;i<msg.length;i+=this._delta32)this._update(msg,i,i+this._delta32);}return this;};BlockHash.prototype.digest=function digest(enc){this.update(this._pad());assert(this.pending===null);return this._digest(enc);};BlockHash.prototype._pad=function pad(){var len=this.pendingTotal;var bytes=this._delta8;var k=bytes-(len+this.padLength)%bytes;var res=new Array(k+this.padLength);res[0]=0x80;for(var i=1;i<k;i++)res[i]=0;// Append length
3836
- len<<=3;if(this.endian==='big'){for(var t=8;t<this.padLength;t++)res[i++]=0;res[i++]=0;res[i++]=0;res[i++]=0;res[i++]=0;res[i++]=len>>>24&0xff;res[i++]=len>>>16&0xff;res[i++]=len>>>8&0xff;res[i++]=len&0xff;}else{res[i++]=len&0xff;res[i++]=len>>>8&0xff;res[i++]=len>>>16&0xff;res[i++]=len>>>24&0xff;res[i++]=0;res[i++]=0;res[i++]=0;res[i++]=0;for(t=8;t<this.padLength;t++)res[i++]=0;}return res;};},{"./utils":184,"minimalistic-assert":239}],175:[function(require,module,exports){'use strict';var utils=require('./utils');var assert=require('minimalistic-assert');function Hmac(hash,key,enc){if(!(this instanceof Hmac))return new Hmac(hash,key,enc);this.Hash=hash;this.blockSize=hash.blockSize/8;this.outSize=hash.outSize/8;this.inner=null;this.outer=null;this._init(utils.toArray(key,enc));}module.exports=Hmac;Hmac.prototype._init=function init(key){// Shorten key, if needed
4038
+ len<<=3;if(this.endian==='big'){for(var t=8;t<this.padLength;t++)res[i++]=0;res[i++]=0;res[i++]=0;res[i++]=0;res[i++]=0;res[i++]=len>>>24&0xff;res[i++]=len>>>16&0xff;res[i++]=len>>>8&0xff;res[i++]=len&0xff;}else{res[i++]=len&0xff;res[i++]=len>>>8&0xff;res[i++]=len>>>16&0xff;res[i++]=len>>>24&0xff;res[i++]=0;res[i++]=0;res[i++]=0;res[i++]=0;for(t=8;t<this.padLength;t++)res[i++]=0;}return res;};},{"./utils":185,"minimalistic-assert":241}],176:[function(require,module,exports){'use strict';var utils=require('./utils');var assert=require('minimalistic-assert');function Hmac(hash,key,enc){if(!(this instanceof Hmac))return new Hmac(hash,key,enc);this.Hash=hash;this.blockSize=hash.blockSize/8;this.outSize=hash.outSize/8;this.inner=null;this.outer=null;this._init(utils.toArray(key,enc));}module.exports=Hmac;Hmac.prototype._init=function init(key){// Shorten key, if needed
3837
4039
  if(key.length>this.blockSize)key=new this.Hash().update(key).digest();assert(key.length<=this.blockSize);// Add padding to key
3838
4040
  for(var i=key.length;i<this.blockSize;i++)key.push(0);for(i=0;i<key.length;i++)key[i]^=0x36;this.inner=new this.Hash().update(key);// 0x36 ^ 0x5c = 0x6a
3839
- for(i=0;i<key.length;i++)key[i]^=0x6a;this.outer=new this.Hash().update(key);};Hmac.prototype.update=function update(msg,enc){this.inner.update(msg,enc);return this;};Hmac.prototype.digest=function digest(enc){this.outer.update(this.inner.digest());return this.outer.digest(enc);};},{"./utils":184,"minimalistic-assert":239}],176:[function(require,module,exports){'use strict';var utils=require('./utils');var common=require('./common');var rotl32=utils.rotl32;var sum32=utils.sum32;var sum32_3=utils.sum32_3;var sum32_4=utils.sum32_4;var BlockHash=common.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160();BlockHash.call(this);this.h=[0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0];this.endian='little';}utils.inherits(RIPEMD160,BlockHash);exports.ripemd160=RIPEMD160;RIPEMD160.blockSize=512;RIPEMD160.outSize=160;RIPEMD160.hmacStrength=192;RIPEMD160.padLength=64;RIPEMD160.prototype._update=function update(msg,start){var A=this.h[0];var B=this.h[1];var C=this.h[2];var D=this.h[3];var E=this.h[4];var Ah=A;var Bh=B;var Ch=C;var Dh=D;var Eh=E;for(var j=0;j<80;j++){var T=sum32(rotl32(sum32_4(A,f(j,B,C,D),msg[r[j]+start],K(j)),s[j]),E);A=E;E=D;D=rotl32(C,10);C=B;B=T;T=sum32(rotl32(sum32_4(Ah,f(79-j,Bh,Ch,Dh),msg[rh[j]+start],Kh(j)),sh[j]),Eh);Ah=Eh;Eh=Dh;Dh=rotl32(Ch,10);Ch=Bh;Bh=T;}T=sum32_3(this.h[1],C,Dh);this.h[1]=sum32_3(this.h[2],D,Eh);this.h[2]=sum32_3(this.h[3],E,Ah);this.h[3]=sum32_3(this.h[4],A,Bh);this.h[4]=sum32_3(this.h[0],B,Ch);this.h[0]=T;};RIPEMD160.prototype._digest=function digest(enc){if(enc==='hex')return utils.toHex32(this.h,'little');else return utils.split32(this.h,'little');};function f(j,x,y,z){if(j<=15)return x^y^z;else if(j<=31)return x&y|~x&z;else if(j<=47)return(x|~y)^z;else if(j<=63)return x&z|y&~z;else return x^(y|~z);}function K(j){if(j<=15)return 0x00000000;else if(j<=31)return 0x5a827999;else if(j<=47)return 0x6ed9eba1;else if(j<=63)return 0x8f1bbcdc;else return 0xa953fd4e;}function Kh(j){if(j<=15)return 0x50a28be6;else if(j<=31)return 0x5c4dd124;else if(j<=47)return 0x6d703ef3;else if(j<=63)return 0x7a6d76e9;else return 0x00000000;}var r=[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];var rh=[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];var s=[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];var sh=[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":174,"./utils":184}],177:[function(require,module,exports){'use strict';exports.sha1=require('./sha/1');exports.sha224=require('./sha/224');exports.sha256=require('./sha/256');exports.sha384=require('./sha/384');exports.sha512=require('./sha/512');},{"./sha/1":178,"./sha/224":179,"./sha/256":180,"./sha/384":181,"./sha/512":182}],178:[function(require,module,exports){'use strict';var utils=require('../utils');var common=require('../common');var shaCommon=require('./common');var rotl32=utils.rotl32;var sum32=utils.sum32;var sum32_5=utils.sum32_5;var ft_1=shaCommon.ft_1;var BlockHash=common.BlockHash;var sha1_K=[0x5A827999,0x6ED9EBA1,0x8F1BBCDC,0xCA62C1D6];function SHA1(){if(!(this instanceof SHA1))return new SHA1();BlockHash.call(this);this.h=[0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0];this.W=new Array(80);}utils.inherits(SHA1,BlockHash);module.exports=SHA1;SHA1.blockSize=512;SHA1.outSize=160;SHA1.hmacStrength=80;SHA1.padLength=64;SHA1.prototype._update=function _update(msg,start){var W=this.W;for(var i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=rotl32(W[i-3]^W[i-8]^W[i-14]^W[i-16],1);var a=this.h[0];var b=this.h[1];var c=this.h[2];var d=this.h[3];var e=this.h[4];for(i=0;i<W.length;i++){var s=~~(i/20);var t=sum32_5(rotl32(a,5),ft_1(s,b,c,d),e,W[i],sha1_K[s]);e=d;d=c;c=rotl32(b,30);b=a;a=t;}this.h[0]=sum32(this.h[0],a);this.h[1]=sum32(this.h[1],b);this.h[2]=sum32(this.h[2],c);this.h[3]=sum32(this.h[3],d);this.h[4]=sum32(this.h[4],e);};SHA1.prototype._digest=function digest(enc){if(enc==='hex')return utils.toHex32(this.h,'big');else return utils.split32(this.h,'big');};},{"../common":174,"../utils":184,"./common":183}],179:[function(require,module,exports){'use strict';var utils=require('../utils');var SHA256=require('./256');function SHA224(){if(!(this instanceof SHA224))return new SHA224();SHA256.call(this);this.h=[0xc1059ed8,0x367cd507,0x3070dd17,0xf70e5939,0xffc00b31,0x68581511,0x64f98fa7,0xbefa4fa4];}utils.inherits(SHA224,SHA256);module.exports=SHA224;SHA224.blockSize=512;SHA224.outSize=224;SHA224.hmacStrength=192;SHA224.padLength=64;SHA224.prototype._digest=function digest(enc){// Just truncate output
3840
- if(enc==='hex')return utils.toHex32(this.h.slice(0,7),'big');else return utils.split32(this.h.slice(0,7),'big');};},{"../utils":184,"./256":180}],180:[function(require,module,exports){'use strict';var utils=require('../utils');var common=require('../common');var shaCommon=require('./common');var assert=require('minimalistic-assert');var sum32=utils.sum32;var sum32_4=utils.sum32_4;var sum32_5=utils.sum32_5;var ch32=shaCommon.ch32;var maj32=shaCommon.maj32;var s0_256=shaCommon.s0_256;var s1_256=shaCommon.s1_256;var g0_256=shaCommon.g0_256;var g1_256=shaCommon.g1_256;var BlockHash=common.BlockHash;var sha256_K=[0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2];function SHA256(){if(!(this instanceof SHA256))return new SHA256();BlockHash.call(this);this.h=[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19];this.k=sha256_K;this.W=new Array(64);}utils.inherits(SHA256,BlockHash);module.exports=SHA256;SHA256.blockSize=512;SHA256.outSize=256;SHA256.hmacStrength=192;SHA256.padLength=64;SHA256.prototype._update=function _update(msg,start){var W=this.W;for(var i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=sum32_4(g1_256(W[i-2]),W[i-7],g0_256(W[i-15]),W[i-16]);var a=this.h[0];var b=this.h[1];var c=this.h[2];var d=this.h[3];var e=this.h[4];var f=this.h[5];var g=this.h[6];var h=this.h[7];assert(this.k.length===W.length);for(i=0;i<W.length;i++){var T1=sum32_5(h,s1_256(e),ch32(e,f,g),this.k[i],W[i]);var T2=sum32(s0_256(a),maj32(a,b,c));h=g;g=f;f=e;e=sum32(d,T1);d=c;c=b;b=a;a=sum32(T1,T2);}this.h[0]=sum32(this.h[0],a);this.h[1]=sum32(this.h[1],b);this.h[2]=sum32(this.h[2],c);this.h[3]=sum32(this.h[3],d);this.h[4]=sum32(this.h[4],e);this.h[5]=sum32(this.h[5],f);this.h[6]=sum32(this.h[6],g);this.h[7]=sum32(this.h[7],h);};SHA256.prototype._digest=function digest(enc){if(enc==='hex')return utils.toHex32(this.h,'big');else return utils.split32(this.h,'big');};},{"../common":174,"../utils":184,"./common":183,"minimalistic-assert":239}],181:[function(require,module,exports){'use strict';var utils=require('../utils');var SHA512=require('./512');function SHA384(){if(!(this instanceof SHA384))return new SHA384();SHA512.call(this);this.h=[0xcbbb9d5d,0xc1059ed8,0x629a292a,0x367cd507,0x9159015a,0x3070dd17,0x152fecd8,0xf70e5939,0x67332667,0xffc00b31,0x8eb44a87,0x68581511,0xdb0c2e0d,0x64f98fa7,0x47b5481d,0xbefa4fa4];}utils.inherits(SHA384,SHA512);module.exports=SHA384;SHA384.blockSize=1024;SHA384.outSize=384;SHA384.hmacStrength=192;SHA384.padLength=128;SHA384.prototype._digest=function digest(enc){if(enc==='hex')return utils.toHex32(this.h.slice(0,12),'big');else return utils.split32(this.h.slice(0,12),'big');};},{"../utils":184,"./512":182}],182:[function(require,module,exports){'use strict';var utils=require('../utils');var common=require('../common');var assert=require('minimalistic-assert');var rotr64_hi=utils.rotr64_hi;var rotr64_lo=utils.rotr64_lo;var shr64_hi=utils.shr64_hi;var shr64_lo=utils.shr64_lo;var sum64=utils.sum64;var sum64_hi=utils.sum64_hi;var sum64_lo=utils.sum64_lo;var sum64_4_hi=utils.sum64_4_hi;var sum64_4_lo=utils.sum64_4_lo;var sum64_5_hi=utils.sum64_5_hi;var sum64_5_lo=utils.sum64_5_lo;var BlockHash=common.BlockHash;var sha512_K=[0x428a2f98,0xd728ae22,0x71374491,0x23ef65cd,0xb5c0fbcf,0xec4d3b2f,0xe9b5dba5,0x8189dbbc,0x3956c25b,0xf348b538,0x59f111f1,0xb605d019,0x923f82a4,0xaf194f9b,0xab1c5ed5,0xda6d8118,0xd807aa98,0xa3030242,0x12835b01,0x45706fbe,0x243185be,0x4ee4b28c,0x550c7dc3,0xd5ffb4e2,0x72be5d74,0xf27b896f,0x80deb1fe,0x3b1696b1,0x9bdc06a7,0x25c71235,0xc19bf174,0xcf692694,0xe49b69c1,0x9ef14ad2,0xefbe4786,0x384f25e3,0x0fc19dc6,0x8b8cd5b5,0x240ca1cc,0x77ac9c65,0x2de92c6f,0x592b0275,0x4a7484aa,0x6ea6e483,0x5cb0a9dc,0xbd41fbd4,0x76f988da,0x831153b5,0x983e5152,0xee66dfab,0xa831c66d,0x2db43210,0xb00327c8,0x98fb213f,0xbf597fc7,0xbeef0ee4,0xc6e00bf3,0x3da88fc2,0xd5a79147,0x930aa725,0x06ca6351,0xe003826f,0x14292967,0x0a0e6e70,0x27b70a85,0x46d22ffc,0x2e1b2138,0x5c26c926,0x4d2c6dfc,0x5ac42aed,0x53380d13,0x9d95b3df,0x650a7354,0x8baf63de,0x766a0abb,0x3c77b2a8,0x81c2c92e,0x47edaee6,0x92722c85,0x1482353b,0xa2bfe8a1,0x4cf10364,0xa81a664b,0xbc423001,0xc24b8b70,0xd0f89791,0xc76c51a3,0x0654be30,0xd192e819,0xd6ef5218,0xd6990624,0x5565a910,0xf40e3585,0x5771202a,0x106aa070,0x32bbd1b8,0x19a4c116,0xb8d2d0c8,0x1e376c08,0x5141ab53,0x2748774c,0xdf8eeb99,0x34b0bcb5,0xe19b48a8,0x391c0cb3,0xc5c95a63,0x4ed8aa4a,0xe3418acb,0x5b9cca4f,0x7763e373,0x682e6ff3,0xd6b2b8a3,0x748f82ee,0x5defb2fc,0x78a5636f,0x43172f60,0x84c87814,0xa1f0ab72,0x8cc70208,0x1a6439ec,0x90befffa,0x23631e28,0xa4506ceb,0xde82bde9,0xbef9a3f7,0xb2c67915,0xc67178f2,0xe372532b,0xca273ece,0xea26619c,0xd186b8c7,0x21c0c207,0xeada7dd6,0xcde0eb1e,0xf57d4f7f,0xee6ed178,0x06f067aa,0x72176fba,0x0a637dc5,0xa2c898a6,0x113f9804,0xbef90dae,0x1b710b35,0x131c471b,0x28db77f5,0x23047d84,0x32caab7b,0x40c72493,0x3c9ebe0a,0x15c9bebc,0x431d67c4,0x9c100d4c,0x4cc5d4be,0xcb3e42b6,0x597f299c,0xfc657e2a,0x5fcb6fab,0x3ad6faec,0x6c44198c,0x4a475817];function SHA512(){if(!(this instanceof SHA512))return new SHA512();BlockHash.call(this);this.h=[0x6a09e667,0xf3bcc908,0xbb67ae85,0x84caa73b,0x3c6ef372,0xfe94f82b,0xa54ff53a,0x5f1d36f1,0x510e527f,0xade682d1,0x9b05688c,0x2b3e6c1f,0x1f83d9ab,0xfb41bd6b,0x5be0cd19,0x137e2179];this.k=sha512_K;this.W=new Array(160);}utils.inherits(SHA512,BlockHash);module.exports=SHA512;SHA512.blockSize=1024;SHA512.outSize=512;SHA512.hmacStrength=192;SHA512.padLength=128;SHA512.prototype._prepareBlock=function _prepareBlock(msg,start){var W=this.W;// 32 x 32bit words
4041
+ for(i=0;i<key.length;i++)key[i]^=0x6a;this.outer=new this.Hash().update(key);};Hmac.prototype.update=function update(msg,enc){this.inner.update(msg,enc);return this;};Hmac.prototype.digest=function digest(enc){this.outer.update(this.inner.digest());return this.outer.digest(enc);};},{"./utils":185,"minimalistic-assert":241}],177:[function(require,module,exports){'use strict';var utils=require('./utils');var common=require('./common');var rotl32=utils.rotl32;var sum32=utils.sum32;var sum32_3=utils.sum32_3;var sum32_4=utils.sum32_4;var BlockHash=common.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160();BlockHash.call(this);this.h=[0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0];this.endian='little';}utils.inherits(RIPEMD160,BlockHash);exports.ripemd160=RIPEMD160;RIPEMD160.blockSize=512;RIPEMD160.outSize=160;RIPEMD160.hmacStrength=192;RIPEMD160.padLength=64;RIPEMD160.prototype._update=function update(msg,start){var A=this.h[0];var B=this.h[1];var C=this.h[2];var D=this.h[3];var E=this.h[4];var Ah=A;var Bh=B;var Ch=C;var Dh=D;var Eh=E;for(var j=0;j<80;j++){var T=sum32(rotl32(sum32_4(A,f(j,B,C,D),msg[r[j]+start],K(j)),s[j]),E);A=E;E=D;D=rotl32(C,10);C=B;B=T;T=sum32(rotl32(sum32_4(Ah,f(79-j,Bh,Ch,Dh),msg[rh[j]+start],Kh(j)),sh[j]),Eh);Ah=Eh;Eh=Dh;Dh=rotl32(Ch,10);Ch=Bh;Bh=T;}T=sum32_3(this.h[1],C,Dh);this.h[1]=sum32_3(this.h[2],D,Eh);this.h[2]=sum32_3(this.h[3],E,Ah);this.h[3]=sum32_3(this.h[4],A,Bh);this.h[4]=sum32_3(this.h[0],B,Ch);this.h[0]=T;};RIPEMD160.prototype._digest=function digest(enc){if(enc==='hex')return utils.toHex32(this.h,'little');else return utils.split32(this.h,'little');};function f(j,x,y,z){if(j<=15)return x^y^z;else if(j<=31)return x&y|~x&z;else if(j<=47)return(x|~y)^z;else if(j<=63)return x&z|y&~z;else return x^(y|~z);}function K(j){if(j<=15)return 0x00000000;else if(j<=31)return 0x5a827999;else if(j<=47)return 0x6ed9eba1;else if(j<=63)return 0x8f1bbcdc;else return 0xa953fd4e;}function Kh(j){if(j<=15)return 0x50a28be6;else if(j<=31)return 0x5c4dd124;else if(j<=47)return 0x6d703ef3;else if(j<=63)return 0x7a6d76e9;else return 0x00000000;}var r=[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];var rh=[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];var s=[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];var sh=[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":175,"./utils":185}],178:[function(require,module,exports){'use strict';exports.sha1=require('./sha/1');exports.sha224=require('./sha/224');exports.sha256=require('./sha/256');exports.sha384=require('./sha/384');exports.sha512=require('./sha/512');},{"./sha/1":179,"./sha/224":180,"./sha/256":181,"./sha/384":182,"./sha/512":183}],179:[function(require,module,exports){'use strict';var utils=require('../utils');var common=require('../common');var shaCommon=require('./common');var rotl32=utils.rotl32;var sum32=utils.sum32;var sum32_5=utils.sum32_5;var ft_1=shaCommon.ft_1;var BlockHash=common.BlockHash;var sha1_K=[0x5A827999,0x6ED9EBA1,0x8F1BBCDC,0xCA62C1D6];function SHA1(){if(!(this instanceof SHA1))return new SHA1();BlockHash.call(this);this.h=[0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0];this.W=new Array(80);}utils.inherits(SHA1,BlockHash);module.exports=SHA1;SHA1.blockSize=512;SHA1.outSize=160;SHA1.hmacStrength=80;SHA1.padLength=64;SHA1.prototype._update=function _update(msg,start){var W=this.W;for(var i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=rotl32(W[i-3]^W[i-8]^W[i-14]^W[i-16],1);var a=this.h[0];var b=this.h[1];var c=this.h[2];var d=this.h[3];var e=this.h[4];for(i=0;i<W.length;i++){var s=~~(i/20);var t=sum32_5(rotl32(a,5),ft_1(s,b,c,d),e,W[i],sha1_K[s]);e=d;d=c;c=rotl32(b,30);b=a;a=t;}this.h[0]=sum32(this.h[0],a);this.h[1]=sum32(this.h[1],b);this.h[2]=sum32(this.h[2],c);this.h[3]=sum32(this.h[3],d);this.h[4]=sum32(this.h[4],e);};SHA1.prototype._digest=function digest(enc){if(enc==='hex')return utils.toHex32(this.h,'big');else return utils.split32(this.h,'big');};},{"../common":175,"../utils":185,"./common":184}],180:[function(require,module,exports){'use strict';var utils=require('../utils');var SHA256=require('./256');function SHA224(){if(!(this instanceof SHA224))return new SHA224();SHA256.call(this);this.h=[0xc1059ed8,0x367cd507,0x3070dd17,0xf70e5939,0xffc00b31,0x68581511,0x64f98fa7,0xbefa4fa4];}utils.inherits(SHA224,SHA256);module.exports=SHA224;SHA224.blockSize=512;SHA224.outSize=224;SHA224.hmacStrength=192;SHA224.padLength=64;SHA224.prototype._digest=function digest(enc){// Just truncate output
4042
+ if(enc==='hex')return utils.toHex32(this.h.slice(0,7),'big');else return utils.split32(this.h.slice(0,7),'big');};},{"../utils":185,"./256":181}],181:[function(require,module,exports){'use strict';var utils=require('../utils');var common=require('../common');var shaCommon=require('./common');var assert=require('minimalistic-assert');var sum32=utils.sum32;var sum32_4=utils.sum32_4;var sum32_5=utils.sum32_5;var ch32=shaCommon.ch32;var maj32=shaCommon.maj32;var s0_256=shaCommon.s0_256;var s1_256=shaCommon.s1_256;var g0_256=shaCommon.g0_256;var g1_256=shaCommon.g1_256;var BlockHash=common.BlockHash;var sha256_K=[0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2];function SHA256(){if(!(this instanceof SHA256))return new SHA256();BlockHash.call(this);this.h=[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19];this.k=sha256_K;this.W=new Array(64);}utils.inherits(SHA256,BlockHash);module.exports=SHA256;SHA256.blockSize=512;SHA256.outSize=256;SHA256.hmacStrength=192;SHA256.padLength=64;SHA256.prototype._update=function _update(msg,start){var W=this.W;for(var i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=sum32_4(g1_256(W[i-2]),W[i-7],g0_256(W[i-15]),W[i-16]);var a=this.h[0];var b=this.h[1];var c=this.h[2];var d=this.h[3];var e=this.h[4];var f=this.h[5];var g=this.h[6];var h=this.h[7];assert(this.k.length===W.length);for(i=0;i<W.length;i++){var T1=sum32_5(h,s1_256(e),ch32(e,f,g),this.k[i],W[i]);var T2=sum32(s0_256(a),maj32(a,b,c));h=g;g=f;f=e;e=sum32(d,T1);d=c;c=b;b=a;a=sum32(T1,T2);}this.h[0]=sum32(this.h[0],a);this.h[1]=sum32(this.h[1],b);this.h[2]=sum32(this.h[2],c);this.h[3]=sum32(this.h[3],d);this.h[4]=sum32(this.h[4],e);this.h[5]=sum32(this.h[5],f);this.h[6]=sum32(this.h[6],g);this.h[7]=sum32(this.h[7],h);};SHA256.prototype._digest=function digest(enc){if(enc==='hex')return utils.toHex32(this.h,'big');else return utils.split32(this.h,'big');};},{"../common":175,"../utils":185,"./common":184,"minimalistic-assert":241}],182:[function(require,module,exports){'use strict';var utils=require('../utils');var SHA512=require('./512');function SHA384(){if(!(this instanceof SHA384))return new SHA384();SHA512.call(this);this.h=[0xcbbb9d5d,0xc1059ed8,0x629a292a,0x367cd507,0x9159015a,0x3070dd17,0x152fecd8,0xf70e5939,0x67332667,0xffc00b31,0x8eb44a87,0x68581511,0xdb0c2e0d,0x64f98fa7,0x47b5481d,0xbefa4fa4];}utils.inherits(SHA384,SHA512);module.exports=SHA384;SHA384.blockSize=1024;SHA384.outSize=384;SHA384.hmacStrength=192;SHA384.padLength=128;SHA384.prototype._digest=function digest(enc){if(enc==='hex')return utils.toHex32(this.h.slice(0,12),'big');else return utils.split32(this.h.slice(0,12),'big');};},{"../utils":185,"./512":183}],183:[function(require,module,exports){'use strict';var utils=require('../utils');var common=require('../common');var assert=require('minimalistic-assert');var rotr64_hi=utils.rotr64_hi;var rotr64_lo=utils.rotr64_lo;var shr64_hi=utils.shr64_hi;var shr64_lo=utils.shr64_lo;var sum64=utils.sum64;var sum64_hi=utils.sum64_hi;var sum64_lo=utils.sum64_lo;var sum64_4_hi=utils.sum64_4_hi;var sum64_4_lo=utils.sum64_4_lo;var sum64_5_hi=utils.sum64_5_hi;var sum64_5_lo=utils.sum64_5_lo;var BlockHash=common.BlockHash;var sha512_K=[0x428a2f98,0xd728ae22,0x71374491,0x23ef65cd,0xb5c0fbcf,0xec4d3b2f,0xe9b5dba5,0x8189dbbc,0x3956c25b,0xf348b538,0x59f111f1,0xb605d019,0x923f82a4,0xaf194f9b,0xab1c5ed5,0xda6d8118,0xd807aa98,0xa3030242,0x12835b01,0x45706fbe,0x243185be,0x4ee4b28c,0x550c7dc3,0xd5ffb4e2,0x72be5d74,0xf27b896f,0x80deb1fe,0x3b1696b1,0x9bdc06a7,0x25c71235,0xc19bf174,0xcf692694,0xe49b69c1,0x9ef14ad2,0xefbe4786,0x384f25e3,0x0fc19dc6,0x8b8cd5b5,0x240ca1cc,0x77ac9c65,0x2de92c6f,0x592b0275,0x4a7484aa,0x6ea6e483,0x5cb0a9dc,0xbd41fbd4,0x76f988da,0x831153b5,0x983e5152,0xee66dfab,0xa831c66d,0x2db43210,0xb00327c8,0x98fb213f,0xbf597fc7,0xbeef0ee4,0xc6e00bf3,0x3da88fc2,0xd5a79147,0x930aa725,0x06ca6351,0xe003826f,0x14292967,0x0a0e6e70,0x27b70a85,0x46d22ffc,0x2e1b2138,0x5c26c926,0x4d2c6dfc,0x5ac42aed,0x53380d13,0x9d95b3df,0x650a7354,0x8baf63de,0x766a0abb,0x3c77b2a8,0x81c2c92e,0x47edaee6,0x92722c85,0x1482353b,0xa2bfe8a1,0x4cf10364,0xa81a664b,0xbc423001,0xc24b8b70,0xd0f89791,0xc76c51a3,0x0654be30,0xd192e819,0xd6ef5218,0xd6990624,0x5565a910,0xf40e3585,0x5771202a,0x106aa070,0x32bbd1b8,0x19a4c116,0xb8d2d0c8,0x1e376c08,0x5141ab53,0x2748774c,0xdf8eeb99,0x34b0bcb5,0xe19b48a8,0x391c0cb3,0xc5c95a63,0x4ed8aa4a,0xe3418acb,0x5b9cca4f,0x7763e373,0x682e6ff3,0xd6b2b8a3,0x748f82ee,0x5defb2fc,0x78a5636f,0x43172f60,0x84c87814,0xa1f0ab72,0x8cc70208,0x1a6439ec,0x90befffa,0x23631e28,0xa4506ceb,0xde82bde9,0xbef9a3f7,0xb2c67915,0xc67178f2,0xe372532b,0xca273ece,0xea26619c,0xd186b8c7,0x21c0c207,0xeada7dd6,0xcde0eb1e,0xf57d4f7f,0xee6ed178,0x06f067aa,0x72176fba,0x0a637dc5,0xa2c898a6,0x113f9804,0xbef90dae,0x1b710b35,0x131c471b,0x28db77f5,0x23047d84,0x32caab7b,0x40c72493,0x3c9ebe0a,0x15c9bebc,0x431d67c4,0x9c100d4c,0x4cc5d4be,0xcb3e42b6,0x597f299c,0xfc657e2a,0x5fcb6fab,0x3ad6faec,0x6c44198c,0x4a475817];function SHA512(){if(!(this instanceof SHA512))return new SHA512();BlockHash.call(this);this.h=[0x6a09e667,0xf3bcc908,0xbb67ae85,0x84caa73b,0x3c6ef372,0xfe94f82b,0xa54ff53a,0x5f1d36f1,0x510e527f,0xade682d1,0x9b05688c,0x2b3e6c1f,0x1f83d9ab,0xfb41bd6b,0x5be0cd19,0x137e2179];this.k=sha512_K;this.W=new Array(160);}utils.inherits(SHA512,BlockHash);module.exports=SHA512;SHA512.blockSize=1024;SHA512.outSize=512;SHA512.hmacStrength=192;SHA512.padLength=128;SHA512.prototype._prepareBlock=function _prepareBlock(msg,start){var W=this.W;// 32 x 32bit words
3841
4043
  for(var i=0;i<32;i++)W[i]=msg[start+i];for(;i<W.length;i+=2){var c0_hi=g1_512_hi(W[i-4],W[i-3]);// i - 2
3842
4044
  var c0_lo=g1_512_lo(W[i-4],W[i-3]);var c1_hi=W[i-14];// i - 7
3843
4045
  var c1_lo=W[i-13];var c2_hi=g0_512_hi(W[i-30],W[i-29]);// i - 15
@@ -3850,19 +4052,19 @@ var r=c0_lo^c1_lo^c2_lo;if(r<0)r+=0x100000000;return r;}function s1_512_hi(xh,xl
3850
4052
  var r=c0_hi^c1_hi^c2_hi;if(r<0)r+=0x100000000;return r;}function s1_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,14);var c1_lo=rotr64_lo(xh,xl,18);var c2_lo=rotr64_lo(xl,xh,9);// 41
3851
4053
  var r=c0_lo^c1_lo^c2_lo;if(r<0)r+=0x100000000;return r;}function g0_512_hi(xh,xl){var c0_hi=rotr64_hi(xh,xl,1);var c1_hi=rotr64_hi(xh,xl,8);var c2_hi=shr64_hi(xh,xl,7);var r=c0_hi^c1_hi^c2_hi;if(r<0)r+=0x100000000;return r;}function g0_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,1);var c1_lo=rotr64_lo(xh,xl,8);var c2_lo=shr64_lo(xh,xl,7);var r=c0_lo^c1_lo^c2_lo;if(r<0)r+=0x100000000;return r;}function g1_512_hi(xh,xl){var c0_hi=rotr64_hi(xh,xl,19);var c1_hi=rotr64_hi(xl,xh,29);// 61
3852
4054
  var c2_hi=shr64_hi(xh,xl,6);var r=c0_hi^c1_hi^c2_hi;if(r<0)r+=0x100000000;return r;}function g1_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,19);var c1_lo=rotr64_lo(xl,xh,29);// 61
3853
- var c2_lo=shr64_lo(xh,xl,6);var r=c0_lo^c1_lo^c2_lo;if(r<0)r+=0x100000000;return r;}},{"../common":174,"../utils":184,"minimalistic-assert":239}],183:[function(require,module,exports){'use strict';var utils=require('../utils');var rotr32=utils.rotr32;function ft_1(s,x,y,z){if(s===0)return ch32(x,y,z);if(s===1||s===3)return p32(x,y,z);if(s===2)return maj32(x,y,z);}exports.ft_1=ft_1;function ch32(x,y,z){return x&y^~x&z;}exports.ch32=ch32;function maj32(x,y,z){return x&y^x&z^y&z;}exports.maj32=maj32;function p32(x,y,z){return x^y^z;}exports.p32=p32;function s0_256(x){return rotr32(x,2)^rotr32(x,13)^rotr32(x,22);}exports.s0_256=s0_256;function s1_256(x){return rotr32(x,6)^rotr32(x,11)^rotr32(x,25);}exports.s1_256=s1_256;function g0_256(x){return rotr32(x,7)^rotr32(x,18)^x>>>3;}exports.g0_256=g0_256;function g1_256(x){return rotr32(x,17)^rotr32(x,19)^x>>>10;}exports.g1_256=g1_256;},{"../utils":184}],184:[function(require,module,exports){'use strict';var assert=require('minimalistic-assert');var inherits=require('inherits');exports.inherits=inherits;function isSurrogatePair(msg,i){if((msg.charCodeAt(i)&0xFC00)!==0xD800){return false;}if(i<0||i+1>=msg.length){return false;}return(msg.charCodeAt(i+1)&0xFC00)===0xDC00;}function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg==='string'){if(!enc){// Inspired by stringToUtf8ByteArray() in closure-library by Google
4055
+ var c2_lo=shr64_lo(xh,xl,6);var r=c0_lo^c1_lo^c2_lo;if(r<0)r+=0x100000000;return r;}},{"../common":175,"../utils":185,"minimalistic-assert":241}],184:[function(require,module,exports){'use strict';var utils=require('../utils');var rotr32=utils.rotr32;function ft_1(s,x,y,z){if(s===0)return ch32(x,y,z);if(s===1||s===3)return p32(x,y,z);if(s===2)return maj32(x,y,z);}exports.ft_1=ft_1;function ch32(x,y,z){return x&y^~x&z;}exports.ch32=ch32;function maj32(x,y,z){return x&y^x&z^y&z;}exports.maj32=maj32;function p32(x,y,z){return x^y^z;}exports.p32=p32;function s0_256(x){return rotr32(x,2)^rotr32(x,13)^rotr32(x,22);}exports.s0_256=s0_256;function s1_256(x){return rotr32(x,6)^rotr32(x,11)^rotr32(x,25);}exports.s1_256=s1_256;function g0_256(x){return rotr32(x,7)^rotr32(x,18)^x>>>3;}exports.g0_256=g0_256;function g1_256(x){return rotr32(x,17)^rotr32(x,19)^x>>>10;}exports.g1_256=g1_256;},{"../utils":185}],185:[function(require,module,exports){'use strict';var assert=require('minimalistic-assert');var inherits=require('inherits');exports.inherits=inherits;function isSurrogatePair(msg,i){if((msg.charCodeAt(i)&0xFC00)!==0xD800){return false;}if(i<0||i+1>=msg.length){return false;}return(msg.charCodeAt(i+1)&0xFC00)===0xDC00;}function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg==='string'){if(!enc){// Inspired by stringToUtf8ByteArray() in closure-library by Google
3854
4056
  // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143
3855
4057
  // Apache License 2.0
3856
4058
  // https://github.com/google/closure-library/blob/master/LICENSE
3857
- var p=0;for(var i=0;i<msg.length;i++){var c=msg.charCodeAt(i);if(c<128){res[p++]=c;}else if(c<2048){res[p++]=c>>6|192;res[p++]=c&63|128;}else if(isSurrogatePair(msg,i)){c=0x10000+((c&0x03FF)<<10)+(msg.charCodeAt(++i)&0x03FF);res[p++]=c>>18|240;res[p++]=c>>12&63|128;res[p++]=c>>6&63|128;res[p++]=c&63|128;}else{res[p++]=c>>12|224;res[p++]=c>>6&63|128;res[p++]=c&63|128;}}}else if(enc==='hex'){msg=msg.replace(/[^a-z0-9]+/ig,'');if(msg.length%2!==0)msg='0'+msg;for(i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16));}}else{for(i=0;i<msg.length;i++)res[i]=msg[i]|0;}return res;}exports.toArray=toArray;function toHex(msg){var res='';for(var i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res;}exports.toHex=toHex;function htonl(w){var res=w>>>24|w>>>8&0xff00|w<<8&0xff0000|(w&0xff)<<24;return res>>>0;}exports.htonl=htonl;function toHex32(msg,endian){var res='';for(var i=0;i<msg.length;i++){var w=msg[i];if(endian==='little')w=htonl(w);res+=zero8(w.toString(16));}return res;}exports.toHex32=toHex32;function zero2(word){if(word.length===1)return'0'+word;else return word;}exports.zero2=zero2;function zero8(word){if(word.length===7)return'0'+word;else if(word.length===6)return'00'+word;else if(word.length===5)return'000'+word;else if(word.length===4)return'0000'+word;else if(word.length===3)return'00000'+word;else if(word.length===2)return'000000'+word;else if(word.length===1)return'0000000'+word;else return word;}exports.zero8=zero8;function join32(msg,start,end,endian){var len=end-start;assert(len%4===0);var res=new Array(len/4);for(var i=0,k=start;i<res.length;i++,k+=4){var w;if(endian==='big')w=msg[k]<<24|msg[k+1]<<16|msg[k+2]<<8|msg[k+3];else w=msg[k+3]<<24|msg[k+2]<<16|msg[k+1]<<8|msg[k];res[i]=w>>>0;}return res;}exports.join32=join32;function split32(msg,endian){var res=new Array(msg.length*4);for(var i=0,k=0;i<msg.length;i++,k+=4){var m=msg[i];if(endian==='big'){res[k]=m>>>24;res[k+1]=m>>>16&0xff;res[k+2]=m>>>8&0xff;res[k+3]=m&0xff;}else{res[k+3]=m>>>24;res[k+2]=m>>>16&0xff;res[k+1]=m>>>8&0xff;res[k]=m&0xff;}}return res;}exports.split32=split32;function rotr32(w,b){return w>>>b|w<<32-b;}exports.rotr32=rotr32;function rotl32(w,b){return w<<b|w>>>32-b;}exports.rotl32=rotl32;function sum32(a,b){return a+b>>>0;}exports.sum32=sum32;function sum32_3(a,b,c){return a+b+c>>>0;}exports.sum32_3=sum32_3;function sum32_4(a,b,c,d){return a+b+c+d>>>0;}exports.sum32_4=sum32_4;function sum32_5(a,b,c,d,e){return a+b+c+d+e>>>0;}exports.sum32_5=sum32_5;function sum64(buf,pos,ah,al){var bh=buf[pos];var bl=buf[pos+1];var lo=al+bl>>>0;var hi=(lo<al?1:0)+ah+bh;buf[pos]=hi>>>0;buf[pos+1]=lo;}exports.sum64=sum64;function sum64_hi(ah,al,bh,bl){var lo=al+bl>>>0;var hi=(lo<al?1:0)+ah+bh;return hi>>>0;}exports.sum64_hi=sum64_hi;function sum64_lo(ah,al,bh,bl){var lo=al+bl;return lo>>>0;}exports.sum64_lo=sum64_lo;function sum64_4_hi(ah,al,bh,bl,ch,cl,dh,dl){var carry=0;var lo=al;lo=lo+bl>>>0;carry+=lo<al?1:0;lo=lo+cl>>>0;carry+=lo<cl?1:0;lo=lo+dl>>>0;carry+=lo<dl?1:0;var hi=ah+bh+ch+dh+carry;return hi>>>0;}exports.sum64_4_hi=sum64_4_hi;function sum64_4_lo(ah,al,bh,bl,ch,cl,dh,dl){var lo=al+bl+cl+dl;return lo>>>0;}exports.sum64_4_lo=sum64_4_lo;function sum64_5_hi(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var carry=0;var lo=al;lo=lo+bl>>>0;carry+=lo<al?1:0;lo=lo+cl>>>0;carry+=lo<cl?1:0;lo=lo+dl>>>0;carry+=lo<dl?1:0;lo=lo+el>>>0;carry+=lo<el?1:0;var hi=ah+bh+ch+dh+eh+carry;return hi>>>0;}exports.sum64_5_hi=sum64_5_hi;function sum64_5_lo(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var lo=al+bl+cl+dl+el;return lo>>>0;}exports.sum64_5_lo=sum64_5_lo;function rotr64_hi(ah,al,num){var r=al<<32-num|ah>>>num;return r>>>0;}exports.rotr64_hi=rotr64_hi;function rotr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0;}exports.rotr64_lo=rotr64_lo;function shr64_hi(ah,al,num){return ah>>>num;}exports.shr64_hi=shr64_hi;function shr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0;}exports.shr64_lo=shr64_lo;},{"inherits":189,"minimalistic-assert":239}],185:[function(require,module,exports){'use strict';var call=Function.prototype.call;var $hasOwn=Object.prototype.hasOwnProperty;var bind=require('function-bind');/** @type {import('.')} */module.exports=bind.call(call,$hasOwn);},{"function-bind":158}],186:[function(require,module,exports){'use strict';var hash=require('hash.js');var utils=require('minimalistic-crypto-utils');var assert=require('minimalistic-assert');function HmacDRBG(options){if(!(this instanceof HmacDRBG))return new HmacDRBG(options);this.hash=options.hash;this.predResist=!!options.predResist;this.outLen=this.hash.outSize;this.minEntropy=options.minEntropy||this.hash.hmacStrength;this._reseed=null;this.reseedInterval=null;this.K=null;this.V=null;var entropy=utils.toArray(options.entropy,options.entropyEnc||'hex');var nonce=utils.toArray(options.nonce,options.nonceEnc||'hex');var pers=utils.toArray(options.pers,options.persEnc||'hex');assert(entropy.length>=this.minEntropy/8,'Not enough entropy. Minimum is: '+this.minEntropy+' bits');this._init(entropy,nonce,pers);}module.exports=HmacDRBG;HmacDRBG.prototype._init=function init(entropy,nonce,pers){var seed=entropy.concat(nonce).concat(pers);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]=0x00;this.V[i]=0x01;}this._update(seed);this._reseed=1;this.reseedInterval=0x1000000000000;// 2^48
4059
+ var p=0;for(var i=0;i<msg.length;i++){var c=msg.charCodeAt(i);if(c<128){res[p++]=c;}else if(c<2048){res[p++]=c>>6|192;res[p++]=c&63|128;}else if(isSurrogatePair(msg,i)){c=0x10000+((c&0x03FF)<<10)+(msg.charCodeAt(++i)&0x03FF);res[p++]=c>>18|240;res[p++]=c>>12&63|128;res[p++]=c>>6&63|128;res[p++]=c&63|128;}else{res[p++]=c>>12|224;res[p++]=c>>6&63|128;res[p++]=c&63|128;}}}else if(enc==='hex'){msg=msg.replace(/[^a-z0-9]+/ig,'');if(msg.length%2!==0)msg='0'+msg;for(i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16));}}else{for(i=0;i<msg.length;i++)res[i]=msg[i]|0;}return res;}exports.toArray=toArray;function toHex(msg){var res='';for(var i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res;}exports.toHex=toHex;function htonl(w){var res=w>>>24|w>>>8&0xff00|w<<8&0xff0000|(w&0xff)<<24;return res>>>0;}exports.htonl=htonl;function toHex32(msg,endian){var res='';for(var i=0;i<msg.length;i++){var w=msg[i];if(endian==='little')w=htonl(w);res+=zero8(w.toString(16));}return res;}exports.toHex32=toHex32;function zero2(word){if(word.length===1)return'0'+word;else return word;}exports.zero2=zero2;function zero8(word){if(word.length===7)return'0'+word;else if(word.length===6)return'00'+word;else if(word.length===5)return'000'+word;else if(word.length===4)return'0000'+word;else if(word.length===3)return'00000'+word;else if(word.length===2)return'000000'+word;else if(word.length===1)return'0000000'+word;else return word;}exports.zero8=zero8;function join32(msg,start,end,endian){var len=end-start;assert(len%4===0);var res=new Array(len/4);for(var i=0,k=start;i<res.length;i++,k+=4){var w;if(endian==='big')w=msg[k]<<24|msg[k+1]<<16|msg[k+2]<<8|msg[k+3];else w=msg[k+3]<<24|msg[k+2]<<16|msg[k+1]<<8|msg[k];res[i]=w>>>0;}return res;}exports.join32=join32;function split32(msg,endian){var res=new Array(msg.length*4);for(var i=0,k=0;i<msg.length;i++,k+=4){var m=msg[i];if(endian==='big'){res[k]=m>>>24;res[k+1]=m>>>16&0xff;res[k+2]=m>>>8&0xff;res[k+3]=m&0xff;}else{res[k+3]=m>>>24;res[k+2]=m>>>16&0xff;res[k+1]=m>>>8&0xff;res[k]=m&0xff;}}return res;}exports.split32=split32;function rotr32(w,b){return w>>>b|w<<32-b;}exports.rotr32=rotr32;function rotl32(w,b){return w<<b|w>>>32-b;}exports.rotl32=rotl32;function sum32(a,b){return a+b>>>0;}exports.sum32=sum32;function sum32_3(a,b,c){return a+b+c>>>0;}exports.sum32_3=sum32_3;function sum32_4(a,b,c,d){return a+b+c+d>>>0;}exports.sum32_4=sum32_4;function sum32_5(a,b,c,d,e){return a+b+c+d+e>>>0;}exports.sum32_5=sum32_5;function sum64(buf,pos,ah,al){var bh=buf[pos];var bl=buf[pos+1];var lo=al+bl>>>0;var hi=(lo<al?1:0)+ah+bh;buf[pos]=hi>>>0;buf[pos+1]=lo;}exports.sum64=sum64;function sum64_hi(ah,al,bh,bl){var lo=al+bl>>>0;var hi=(lo<al?1:0)+ah+bh;return hi>>>0;}exports.sum64_hi=sum64_hi;function sum64_lo(ah,al,bh,bl){var lo=al+bl;return lo>>>0;}exports.sum64_lo=sum64_lo;function sum64_4_hi(ah,al,bh,bl,ch,cl,dh,dl){var carry=0;var lo=al;lo=lo+bl>>>0;carry+=lo<al?1:0;lo=lo+cl>>>0;carry+=lo<cl?1:0;lo=lo+dl>>>0;carry+=lo<dl?1:0;var hi=ah+bh+ch+dh+carry;return hi>>>0;}exports.sum64_4_hi=sum64_4_hi;function sum64_4_lo(ah,al,bh,bl,ch,cl,dh,dl){var lo=al+bl+cl+dl;return lo>>>0;}exports.sum64_4_lo=sum64_4_lo;function sum64_5_hi(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var carry=0;var lo=al;lo=lo+bl>>>0;carry+=lo<al?1:0;lo=lo+cl>>>0;carry+=lo<cl?1:0;lo=lo+dl>>>0;carry+=lo<dl?1:0;lo=lo+el>>>0;carry+=lo<el?1:0;var hi=ah+bh+ch+dh+eh+carry;return hi>>>0;}exports.sum64_5_hi=sum64_5_hi;function sum64_5_lo(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var lo=al+bl+cl+dl+el;return lo>>>0;}exports.sum64_5_lo=sum64_5_lo;function rotr64_hi(ah,al,num){var r=al<<32-num|ah>>>num;return r>>>0;}exports.rotr64_hi=rotr64_hi;function rotr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0;}exports.rotr64_lo=rotr64_lo;function shr64_hi(ah,al,num){return ah>>>num;}exports.shr64_hi=shr64_hi;function shr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0;}exports.shr64_lo=shr64_lo;},{"inherits":190,"minimalistic-assert":241}],186:[function(require,module,exports){'use strict';var call=Function.prototype.call;var $hasOwn=Object.prototype.hasOwnProperty;var bind=require('function-bind');/** @type {import('.')} */module.exports=bind.call(call,$hasOwn);},{"function-bind":159}],187:[function(require,module,exports){'use strict';var hash=require('hash.js');var utils=require('minimalistic-crypto-utils');var assert=require('minimalistic-assert');function HmacDRBG(options){if(!(this instanceof HmacDRBG))return new HmacDRBG(options);this.hash=options.hash;this.predResist=!!options.predResist;this.outLen=this.hash.outSize;this.minEntropy=options.minEntropy||this.hash.hmacStrength;this._reseed=null;this.reseedInterval=null;this.K=null;this.V=null;var entropy=utils.toArray(options.entropy,options.entropyEnc||'hex');var nonce=utils.toArray(options.nonce,options.nonceEnc||'hex');var pers=utils.toArray(options.pers,options.persEnc||'hex');assert(entropy.length>=this.minEntropy/8,'Not enough entropy. Minimum is: '+this.minEntropy+' bits');this._init(entropy,nonce,pers);}module.exports=HmacDRBG;HmacDRBG.prototype._init=function init(entropy,nonce,pers){var seed=entropy.concat(nonce).concat(pers);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]=0x00;this.V[i]=0x01;}this._update(seed);this._reseed=1;this.reseedInterval=0x1000000000000;// 2^48
3858
4060
  };HmacDRBG.prototype._hmac=function hmac(){return new hash.hmac(this.hash,this.K);};HmacDRBG.prototype._update=function update(seed){var kmac=this._hmac().update(this.V).update([0x00]);if(seed)kmac=kmac.update(seed);this.K=kmac.digest();this.V=this._hmac().update(this.V).digest();if(!seed)return;this.K=this._hmac().update(this.V).update([0x01]).update(seed).digest();this.V=this._hmac().update(this.V).digest();};HmacDRBG.prototype.reseed=function reseed(entropy,entropyEnc,add,addEnc){// Optional entropy enc
3859
4061
  if(typeof entropyEnc!=='string'){addEnc=add;add=entropyEnc;entropyEnc=null;}entropy=utils.toArray(entropy,entropyEnc);add=utils.toArray(add,addEnc);assert(entropy.length>=this.minEntropy/8,'Not enough entropy. Minimum is: '+this.minEntropy+' bits');this._update(entropy.concat(add||[]));this._reseed=1;};HmacDRBG.prototype.generate=function generate(len,enc,add,addEnc){if(this._reseed>this.reseedInterval)throw new Error('Reseed is required');// Optional encoding
3860
4062
  if(typeof enc!=='string'){addEnc=add;add=enc;enc=null;}// Optional additional data
3861
- if(add){add=utils.toArray(add,addEnc||'hex');this._update(add);}var temp=[];while(temp.length<len){this.V=this._hmac().update(this.V).digest();temp=temp.concat(this.V);}var res=temp.slice(0,len);this._update(add);this._reseed++;return utils.encode(res,enc);};},{"hash.js":173,"minimalistic-assert":239,"minimalistic-crypto-utils":240}],187:[function(require,module,exports){var http=require('http');var url=require('url');var https=module.exports;for(var key in http){if(http.hasOwnProperty(key))https[key]=http[key];}https.request=function(params,cb){params=validateParams(params);return http.request.call(this,params,cb);};https.get=function(params,cb){params=validateParams(params);return http.get.call(this,params,cb);};function validateParams(params){if(typeof params==='string'){params=url.parse(params);}if(!params.protocol){params.protocol='https:';}if(params.protocol!=='https:'){throw new Error('Protocol "'+params.protocol+'" not supported. Expected "https:"');}return params;}},{"http":323,"url":349}],188:[function(require,module,exports){/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias;}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity;}else{m=m+Math.pow(2,mLen);e=e-eBias;}return(s?-1:1)*m*Math.pow(2,e-mLen);};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax;}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2;}if(e+eBias>=1){value+=rt/c;}else{value+=rt*Math.pow(2,1-eBias);}if(value*c>=2){e++;c/=2;}if(e+eBias>=eMax){m=0;e=eMax;}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias;}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0;}}for(;mLen>=8;buffer[offset+i]=m&0xff,i+=d,m/=256,mLen-=8){}e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&0xff,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128;};},{}],189:[function(require,module,exports){if(typeof Object.create==='function'){// implementation from standard node.js 'util' module
4063
+ if(add){add=utils.toArray(add,addEnc||'hex');this._update(add);}var temp=[];while(temp.length<len){this.V=this._hmac().update(this.V).digest();temp=temp.concat(this.V);}var res=temp.slice(0,len);this._update(add);this._reseed++;return utils.encode(res,enc);};},{"hash.js":174,"minimalistic-assert":241,"minimalistic-crypto-utils":242}],188:[function(require,module,exports){var http=require('http');var url=require('url');var https=module.exports;for(var key in http){if(http.hasOwnProperty(key))https[key]=http[key];}https.request=function(params,cb){params=validateParams(params);return http.request.call(this,params,cb);};https.get=function(params,cb){params=validateParams(params);return http.get.call(this,params,cb);};function validateParams(params){if(typeof params==='string'){params=url.parse(params);}if(!params.protocol){params.protocol='https:';}if(params.protocol!=='https:'){throw new Error('Protocol "'+params.protocol+'" not supported. Expected "https:"');}return params;}},{"http":325,"url":351}],189:[function(require,module,exports){/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias;}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity;}else{m=m+Math.pow(2,mLen);e=e-eBias;}return(s?-1:1)*m*Math.pow(2,e-mLen);};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax;}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2;}if(e+eBias>=1){value+=rt/c;}else{value+=rt*Math.pow(2,1-eBias);}if(value*c>=2){e++;c/=2;}if(e+eBias>=eMax){m=0;e=eMax;}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias;}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0;}}for(;mLen>=8;buffer[offset+i]=m&0xff,i+=d,m/=256,mLen-=8){}e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&0xff,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128;};},{}],190:[function(require,module,exports){if(typeof Object.create==='function'){// implementation from standard node.js 'util' module
3862
4064
  module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}});}};}else{// old school shim for old browsers
3863
- module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor();ctor.prototype.constructor=ctor;}};}},{}],190:[function(require,module,exports){'use strict';var hasToStringTag=require('has-tostringtag/shams')();var callBound=require('call-bound');var $toString=callBound('Object.prototype.toString');/** @type {import('.')} */var isStandardArguments=function isArguments(value){if(hasToStringTag&&value&&typeof value==='object'&&Symbol.toStringTag in value){return false;}return $toString(value)==='[object Arguments]';};/** @type {import('.')} */var isLegacyArguments=function isArguments(value){if(isStandardArguments(value)){return true;}return value!==null&&typeof value==='object'&&'length'in value&&typeof value.length==='number'&&value.length>=0&&$toString(value)!=='[object Array]'&&'callee'in value&&$toString(value.callee)==='[object Function]';};var supportsStandardArguments=function(){return isStandardArguments(arguments);}();// @ts-expect-error TODO make this not error
4065
+ module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor();ctor.prototype.constructor=ctor;}};}},{}],191:[function(require,module,exports){'use strict';var hasToStringTag=require('has-tostringtag/shams')();var callBound=require('call-bound');var $toString=callBound('Object.prototype.toString');/** @type {import('.')} */var isStandardArguments=function isArguments(value){if(hasToStringTag&&value&&typeof value==='object'&&Symbol.toStringTag in value){return false;}return $toString(value)==='[object Arguments]';};/** @type {import('.')} */var isLegacyArguments=function isArguments(value){if(isStandardArguments(value)){return true;}return value!==null&&typeof value==='object'&&'length'in value&&typeof value.length==='number'&&value.length>=0&&$toString(value)!=='[object Array]'&&'callee'in value&&$toString(value.callee)==='[object Function]';};var supportsStandardArguments=function(){return isStandardArguments(arguments);}();// @ts-expect-error TODO make this not error
3864
4066
  isStandardArguments.isLegacyArguments=isLegacyArguments;// for tests
3865
- /** @type {import('.')} */module.exports=supportsStandardArguments?isStandardArguments:isLegacyArguments;},{"call-bound":92,"has-tostringtag/shams":171}],191:[function(require,module,exports){'use strict';var fnToStr=Function.prototype.toString;var reflectApply=typeof Reflect==='object'&&Reflect!==null&&Reflect.apply;var badArrayLike;var isCallableMarker;if(typeof reflectApply==='function'&&typeof Object.defineProperty==='function'){try{badArrayLike=Object.defineProperty({},'length',{get:function(){throw isCallableMarker;}});isCallableMarker={};// eslint-disable-next-line no-throw-literal
4067
+ /** @type {import('.')} */module.exports=supportsStandardArguments?isStandardArguments:isLegacyArguments;},{"call-bound":92,"has-tostringtag/shams":172}],192:[function(require,module,exports){'use strict';var fnToStr=Function.prototype.toString;var reflectApply=typeof Reflect==='object'&&Reflect!==null&&Reflect.apply;var badArrayLike;var isCallableMarker;if(typeof reflectApply==='function'&&typeof Object.defineProperty==='function'){try{badArrayLike=Object.defineProperty({},'length',{get:function(){throw isCallableMarker;}});isCallableMarker={};// eslint-disable-next-line no-throw-literal
3866
4068
  reflectApply(function(){throw 42;},null,badArrayLike);}catch(_){if(_!==isCallableMarker){reflectApply=null;}}}else{reflectApply=null;}var constructorRegex=/^\s*class\b/;var isES6ClassFn=function isES6ClassFunction(value){try{var fnStr=fnToStr.call(value);return constructorRegex.test(fnStr);}catch(e){return false;// not a function
3867
4069
  }};var tryFunctionObject=function tryFunctionToStr(value){try{if(isES6ClassFn(value)){return false;}fnToStr.call(value);return true;}catch(e){return false;}};var toStr=Object.prototype.toString;var objectClass='[object Object]';var fnClass='[object Function]';var genClass='[object GeneratorFunction]';var ddaClass='[object HTMLAllCollection]';// IE 11
3868
4070
  var ddaClass2='[object HTML document.all class]';var ddaClass3='[object HTMLCollection]';// IE 9-10
@@ -3873,17 +4075,17 @@ var all=document.all;if(toStr.call(all)===toStr.call(document.all)){isDDA=functi
3873
4075
  if((isIE68||!value)&&(typeof value==='undefined'||typeof value==='object')){try{var str=toStr.call(value);return(str===ddaClass||str===ddaClass2||str===ddaClass3// opera 12.16
3874
4076
  ||str===objectClass// IE 6-8
3875
4077
  )&&value('')==null;// eslint-disable-line eqeqeq
3876
- }catch(e){/**/}}return false;};}}module.exports=reflectApply?function isCallable(value){if(isDDA(value)){return true;}if(!value){return false;}if(typeof value!=='function'&&typeof value!=='object'){return false;}try{reflectApply(value,null,badArrayLike);}catch(e){if(e!==isCallableMarker){return false;}}return!isES6ClassFn(value)&&tryFunctionObject(value);}:function isCallable(value){if(isDDA(value)){return true;}if(!value){return false;}if(typeof value!=='function'&&typeof value!=='object'){return false;}if(hasToStringTag){return tryFunctionObject(value);}if(isES6ClassFn(value)){return false;}var strClass=toStr.call(value);if(strClass!==fnClass&&strClass!==genClass&&!/^\[object HTML/.test(strClass)){return false;}return tryFunctionObject(value);};},{}],192:[function(require,module,exports){'use strict';var callBound=require('call-bound');var safeRegexTest=require('safe-regex-test');var isFnRegex=safeRegexTest(/^\s*(?:function)?\*/);var hasToStringTag=require('has-tostringtag/shams')();var getProto=require('get-proto');var toStr=callBound('Object.prototype.toString');var fnToStr=callBound('Function.prototype.toString');var getGeneratorFunction=require('generator-function');/** @type {import('.')} */module.exports=function isGeneratorFunction(fn){if(typeof fn!=='function'){return false;}if(isFnRegex(fnToStr(fn))){return true;}if(!hasToStringTag){var str=toStr(fn);return str==='[object GeneratorFunction]';}if(!getProto){return false;}var GeneratorFunction=getGeneratorFunction();return GeneratorFunction&&getProto(fn)===GeneratorFunction.prototype;};},{"call-bound":92,"generator-function":161,"get-proto":165,"has-tostringtag/shams":171,"safe-regex-test":292}],193:[function(require,module,exports){var reIpv4FirstPass=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;var reSubnetString=/\/\d{1,3}(?=%|$)/;var reForwardSlash=/\//;var reZone=/%.*$/;var reBadCharacters=/([^0-9a-f:/%])/i;var reBadAddress=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/i;function validate4(input){if(!reIpv4FirstPass.test(input))return false;var parts=input.split('.');if(parts.length!==4)return false;if(parts[0][0]==='0'&&parts[0].length>1)return false;if(parts[1][0]==='0'&&parts[1].length>1)return false;if(parts[2][0]==='0'&&parts[2].length>1)return false;if(parts[3][0]==='0'&&parts[3].length>1)return false;var n0=Number(parts[0]);var n1=Number(parts[1]);var n2=Number(parts[2]);var n3=Number(parts[3]);return n0>=0&&n0<256&&n1>=0&&n1<256&&n2>=0&&n2<256&&n3>=0&&n3<256;}function validate6(input){var withoutSubnet=input.replace(reSubnetString,'');var hasSubnet=input.length!==withoutSubnet.length;// FIXME: this should probably be an option in the future
3877
- if(hasSubnet)return false;if(!hasSubnet){if(reForwardSlash.test(input))return false;}var withoutZone=withoutSubnet.replace(reZone,'');var lastPartSeparator=withoutZone.lastIndexOf(':');if(lastPartSeparator===-1)return false;var lastPart=withoutZone.substring(lastPartSeparator+1);var hasV4Part=validate4(lastPart);var address=hasV4Part?withoutZone.substring(0,lastPartSeparator+1)+'1234:5678':withoutZone;if(reBadCharacters.test(address))return false;if(reBadAddress.test(address))return false;var halves=address.split('::');if(halves.length>2)return false;if(halves.length===2){var first=halves[0]===''?[]:halves[0].split(':');var last=halves[1]===''?[]:halves[1].split(':');var remainingLength=8-(first.length+last.length);if(remainingLength<=0)return false;}else{if(address.split(':').length!==8)return false;}return true;}function validate(input){return validate4(input)||validate6(input);}module.exports=function validator(options){if(!options)options={};if(options.version===4)return validate4;if(options.version===6)return validate6;if(options.version==null)return validate;throw new Error('Unknown version: '+options.version);};module.exports['__all_regexes__']=[reIpv4FirstPass,reSubnetString,reForwardSlash,reZone,reBadCharacters,reBadAddress];},{}],194:[function(require,module,exports){var createIpValidator=require('is-my-ip-valid');var reEmailWhitespace=/\s/;var reHostnameFirstPass=/^[a-zA-Z0-9.-]+$/;var reHostnamePart=/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/;var rePhoneFirstPass=/^\+[0-9][0-9 ]{5,27}[0-9]$/;var rePhoneDoubleSpace=/ {2}/;var rePhoneGlobalSpace=/ /g;exports['date-time']=/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-[0-9]{2}[tT ]\d{2}:\d{2}:\d{2}(?:\.\d+|)([zZ]|[+-]\d{2}:\d{2})$/;exports['date']=/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-[0-9]{2}$/;exports['time']=/^\d{2}:\d{2}:\d{2}$/;exports['email']=function(input){return input.indexOf('@')!==-1&&!reEmailWhitespace.test(input);};exports['ip-address']=exports['ipv4']=createIpValidator({version:4});exports['ipv6']=createIpValidator({version:6});exports['uri']=/^[a-zA-Z][a-zA-Z0-9+\-.]*:[^\s]*$/;exports['color']=/(#?([0-9A-Fa-f]{3,6})\b)|(aqua)|(black)|(blue)|(fuchsia)|(gray)|(green)|(lime)|(maroon)|(navy)|(olive)|(orange)|(purple)|(red)|(silver)|(teal)|(white)|(yellow)|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\))/;exports['hostname']=function(input){if(!reHostnameFirstPass.test(input))return false;var parts=input.split('.');for(var i=0;i<parts.length;i++){if(!reHostnamePart.test(parts[i]))return false;}return true;};exports['alpha']=/^[a-zA-Z]+$/;exports['alphanumeric']=/^[a-zA-Z0-9]+$/;exports['style']=/.:\s*[^;]/g;exports['phone']=function(input){if(!rePhoneFirstPass.test(input))return false;if(rePhoneDoubleSpace.test(input))return false;var digits=input.substring(1).replace(rePhoneGlobalSpace,'').length;return digits>=7&&digits<=15;};exports['utc-millisec']=/^[0-9]{1,15}\.?[0-9]{0,15}$/;},{"is-my-ip-valid":193}],195:[function(require,module,exports){var genobj=require('generate-object-property');var genfun=require('generate-function');var jsonpointer=require('jsonpointer');var xtend=require('xtend');var formats=require('./formats');var get=function(obj,additionalSchemas,ptr){var visit=function(sub){if(sub&&sub.id===ptr)return sub;if(typeof sub!=='object'||!sub)return null;return Object.keys(sub).reduce(function(res,k){return res||visit(sub[k]);},null);};var res=visit(obj);if(res)return res;ptr=ptr.replace(/^#/,'');ptr=ptr.replace(/\/$/,'');try{return jsonpointer.get(obj,decodeURI(ptr));}catch(err){var end=ptr.indexOf('#');var other;// external reference
4078
+ }catch(e){/**/}}return false;};}}module.exports=reflectApply?function isCallable(value){if(isDDA(value)){return true;}if(!value){return false;}if(typeof value!=='function'&&typeof value!=='object'){return false;}try{reflectApply(value,null,badArrayLike);}catch(e){if(e!==isCallableMarker){return false;}}return!isES6ClassFn(value)&&tryFunctionObject(value);}:function isCallable(value){if(isDDA(value)){return true;}if(!value){return false;}if(typeof value!=='function'&&typeof value!=='object'){return false;}if(hasToStringTag){return tryFunctionObject(value);}if(isES6ClassFn(value)){return false;}var strClass=toStr.call(value);if(strClass!==fnClass&&strClass!==genClass&&!/^\[object HTML/.test(strClass)){return false;}return tryFunctionObject(value);};},{}],193:[function(require,module,exports){'use strict';var callBound=require('call-bound');var safeRegexTest=require('safe-regex-test');var isFnRegex=safeRegexTest(/^\s*(?:function)?\*/);var hasToStringTag=require('has-tostringtag/shams')();var getProto=require('get-proto');var toStr=callBound('Object.prototype.toString');var fnToStr=callBound('Function.prototype.toString');var getGeneratorFunction=require('generator-function');/** @type {import('.')} */module.exports=function isGeneratorFunction(fn){if(typeof fn!=='function'){return false;}if(isFnRegex(fnToStr(fn))){return true;}if(!hasToStringTag){var str=toStr(fn);return str==='[object GeneratorFunction]';}if(!getProto){return false;}var GeneratorFunction=getGeneratorFunction();return GeneratorFunction&&getProto(fn)===GeneratorFunction.prototype;};},{"call-bound":92,"generator-function":162,"get-proto":166,"has-tostringtag/shams":172,"safe-regex-test":294}],194:[function(require,module,exports){var reIpv4FirstPass=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;var reSubnetString=/\/\d{1,3}(?=%|$)/;var reForwardSlash=/\//;var reZone=/%.*$/;var reBadCharacters=/([^0-9a-f:/%])/i;var reBadAddress=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/i;function validate4(input){if(!reIpv4FirstPass.test(input))return false;var parts=input.split('.');if(parts.length!==4)return false;if(parts[0][0]==='0'&&parts[0].length>1)return false;if(parts[1][0]==='0'&&parts[1].length>1)return false;if(parts[2][0]==='0'&&parts[2].length>1)return false;if(parts[3][0]==='0'&&parts[3].length>1)return false;var n0=Number(parts[0]);var n1=Number(parts[1]);var n2=Number(parts[2]);var n3=Number(parts[3]);return n0>=0&&n0<256&&n1>=0&&n1<256&&n2>=0&&n2<256&&n3>=0&&n3<256;}function validate6(input){var withoutSubnet=input.replace(reSubnetString,'');var hasSubnet=input.length!==withoutSubnet.length;// FIXME: this should probably be an option in the future
4079
+ if(hasSubnet)return false;if(!hasSubnet){if(reForwardSlash.test(input))return false;}var withoutZone=withoutSubnet.replace(reZone,'');var lastPartSeparator=withoutZone.lastIndexOf(':');if(lastPartSeparator===-1)return false;var lastPart=withoutZone.substring(lastPartSeparator+1);var hasV4Part=validate4(lastPart);var address=hasV4Part?withoutZone.substring(0,lastPartSeparator+1)+'1234:5678':withoutZone;if(reBadCharacters.test(address))return false;if(reBadAddress.test(address))return false;var halves=address.split('::');if(halves.length>2)return false;if(halves.length===2){var first=halves[0]===''?[]:halves[0].split(':');var last=halves[1]===''?[]:halves[1].split(':');var remainingLength=8-(first.length+last.length);if(remainingLength<=0)return false;}else{if(address.split(':').length!==8)return false;}return true;}function validate(input){return validate4(input)||validate6(input);}module.exports=function validator(options){if(!options)options={};if(options.version===4)return validate4;if(options.version===6)return validate6;if(options.version==null)return validate;throw new Error('Unknown version: '+options.version);};module.exports['__all_regexes__']=[reIpv4FirstPass,reSubnetString,reForwardSlash,reZone,reBadCharacters,reBadAddress];},{}],195:[function(require,module,exports){var createIpValidator=require('is-my-ip-valid');var reEmailWhitespace=/\s/;var reHostnameFirstPass=/^[a-zA-Z0-9.-]+$/;var reHostnamePart=/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/;var rePhoneFirstPass=/^\+[0-9][0-9 ]{5,27}[0-9]$/;var rePhoneDoubleSpace=/ {2}/;var rePhoneGlobalSpace=/ /g;exports['date-time']=/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-[0-9]{2}[tT ]\d{2}:\d{2}:\d{2}(?:\.\d+|)([zZ]|[+-]\d{2}:\d{2})$/;exports['date']=/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-[0-9]{2}$/;exports['time']=/^\d{2}:\d{2}:\d{2}$/;exports['email']=function(input){return input.indexOf('@')!==-1&&!reEmailWhitespace.test(input);};exports['ip-address']=exports['ipv4']=createIpValidator({version:4});exports['ipv6']=createIpValidator({version:6});exports['uri']=/^[a-zA-Z][a-zA-Z0-9+\-.]*:[^\s]*$/;exports['color']=/(#?([0-9A-Fa-f]{3,6})\b)|(aqua)|(black)|(blue)|(fuchsia)|(gray)|(green)|(lime)|(maroon)|(navy)|(olive)|(orange)|(purple)|(red)|(silver)|(teal)|(white)|(yellow)|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\))/;exports['hostname']=function(input){if(!reHostnameFirstPass.test(input))return false;var parts=input.split('.');for(var i=0;i<parts.length;i++){if(!reHostnamePart.test(parts[i]))return false;}return true;};exports['alpha']=/^[a-zA-Z]+$/;exports['alphanumeric']=/^[a-zA-Z0-9]+$/;exports['style']=/.:\s*[^;]/g;exports['phone']=function(input){if(!rePhoneFirstPass.test(input))return false;if(rePhoneDoubleSpace.test(input))return false;var digits=input.substring(1).replace(rePhoneGlobalSpace,'').length;return digits>=7&&digits<=15;};exports['utc-millisec']=/^[0-9]{1,15}\.?[0-9]{0,15}$/;},{"is-my-ip-valid":194}],196:[function(require,module,exports){var genobj=require('generate-object-property');var genfun=require('generate-function');var jsonpointer=require('jsonpointer');var xtend=require('xtend');var formats=require('./formats');var get=function(obj,additionalSchemas,ptr){var visit=function(sub){if(sub&&sub.id===ptr)return sub;if(typeof sub!=='object'||!sub)return null;return Object.keys(sub).reduce(function(res,k){return res||visit(sub[k]);},null);};var res=visit(obj);if(res)return res;ptr=ptr.replace(/^#/,'');ptr=ptr.replace(/\/$/,'');try{return jsonpointer.get(obj,decodeURI(ptr));}catch(err){var end=ptr.indexOf('#');var other;// external reference
3878
4080
  if(end!==0){// fragment doesn't exist.
3879
4081
  if(end===-1){other=additionalSchemas[ptr];}else{var ext=ptr.slice(0,end);other=additionalSchemas[ext];var fragment=ptr.slice(end).replace(/^#/,'');try{return jsonpointer.get(other,fragment);}catch(err){}}}else{other=additionalSchemas[ptr];}return other||null;}};var types={};types.any=function(){return'true';};types.null=function(name){return name+' === null';};types.boolean=function(name){return'typeof '+name+' === "boolean"';};types.array=function(name){return'Array.isArray('+name+')';};types.object=function(name){return'typeof '+name+' === "object" && '+name+' && !Array.isArray('+name+')';};types.number=function(name){return'typeof '+name+' === "number" && isFinite('+name+')';};types.integer=function(name){return'typeof '+name+' === "number" && (Math.floor('+name+') === '+name+' || '+name+' > 9007199254740992 || '+name+' < -9007199254740992)';};types.string=function(name){return'typeof '+name+' === "string"';};var unique=function(array,len){len=Math.min(len===-1?array.length:len,array.length);var list=[];for(var i=0;i<len;i++){list.push(typeof array[i]==='object'?JSON.stringify(array[i]):array[i]);}for(var i=1;i<list.length;i++){if(list.indexOf(list[i])!==i)return false;}return true;};var isMultipleOf=function(name,multipleOf){var res;var factor=(multipleOf|0)!==multipleOf?Math.pow(10,multipleOf.toString().split('.').pop().length):1;if(factor>1){var factorName=(name|0)!==name?Math.pow(10,name.toString().split('.').pop().length):1;if(factorName>factor)res=true;else res=Math.round(factor*name)%(factor*multipleOf);}else res=name%multipleOf;return!res;};var testLimitedRegex=function(r,s,maxLength){if(maxLength>-1&&s.length>maxLength)return true;return r.test(s);};var compile=function(schema,cache,root,reporter,opts){var fmts=opts?xtend(formats,opts.formats):formats;var scope={unique:unique,formats:fmts,isMultipleOf:isMultipleOf,testLimitedRegex:testLimitedRegex};var verbose=opts?!!opts.verbose:false;var greedy=opts&&opts.greedy!==undefined?opts.greedy:false;var syms={};var allocated=[];var gensym=function(name){var res=name+(syms[name]=(syms[name]||0)+1);allocated.push(res);return res;};var formatName=function(field){var s=JSON.stringify(field);try{var pattern=/\[([^\[\]"]+)\]/;while(pattern.test(s))s=s.replace(pattern,replacer);return s;}catch(_){return JSON.stringify(field);}function replacer(match,v){if(allocated.indexOf(v)===-1)throw new Error('Unreplaceable');return'." + '+v+' + "';}};var reversePatterns={};var patterns=function(p){if(reversePatterns[p])return reversePatterns[p];var n=gensym('pattern');scope[n]=new RegExp(p);reversePatterns[p]=n;return n;};var vars=['i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','y','z'];var genloop=function(){var v=vars.shift();vars.push(v+v[0]);allocated.push(v);return v;};var visit=function(name,node,reporter,filter,schemaPath){var properties=node.properties;var type=node.type;var tuple=false;if(Array.isArray(node.items)){// tuple type
3880
4082
  properties={};node.items.forEach(function(item,i){properties[i]=item;});type='array';tuple=true;}var indent=0;var error=function(msg,prop,value){validate('errors++');if(reporter===true){validate('if (validate.errors === null) validate.errors = []');if(verbose){validate('validate.errors.push({field:%s,message:%s,value:%s,type:%s,schemaPath:%s})',formatName(prop||name),JSON.stringify(msg),value||name,JSON.stringify(type),JSON.stringify(schemaPath));}else{validate('validate.errors.push({field:%s,message:%s})',formatName(prop||name),JSON.stringify(msg));}}};if(node.required===true){indent++;validate('if (%s === undefined) {',name);error('is required');validate('} else {');}else{indent++;validate('if (%s !== undefined) {',name);}var valid=[].concat(type).map(function(t){if(t&&!types.hasOwnProperty(t)){throw new Error('Unknown type: '+t);}return types[t||'any'](name);}).join(' || ')||'true';if(valid!=='true'){indent++;validate('if (!(%s)) {',valid);error('is the wrong type');validate('} else {');}if(tuple){if(node.additionalItems===false){validate('if (%s.length > %d) {',name,node.items.length);error('has additional items');validate('}');}else if(node.additionalItems){var i=genloop();validate('for (var %s = %d; %s < %s.length; %s++) {',i,node.items.length,i,name,i);visit(name+'['+i+']',node.additionalItems,reporter,filter,schemaPath.concat('additionalItems'));validate('}');}}if(node.format&&fmts[node.format]){if(type!=='string'&&formats[node.format])validate('if (%s) {',types.string(name));var n=gensym('format');scope[n]=fmts[node.format];if(typeof scope[n]==='function')validate('if (!%s(%s)) {',n,name);else validate('if (!testLimitedRegex(%s, %s, %d)) {',n,name,typeof node.maxLength==='undefined'?-1:node.maxLength);error('must be '+node.format+' format');validate('}');if(type!=='string'&&formats[node.format])validate('}');}if(Array.isArray(node.required)){var n=gensym('missing');validate('var %s = 0',n);var checkRequired=function(req){var prop=genobj(name,req);validate('if (%s === undefined) {',prop);error('is required',prop);validate('%s++',n);validate('}');};validate('if ((%s)) {',type!=='object'?types.object(name):'true');node.required.map(checkRequired);validate('}');if(!greedy){validate('if (%s === 0) {',n);indent++;}}if(node.uniqueItems){if(type!=='array')validate('if (%s) {',types.array(name));validate('if (!(unique(%s, %d))) {',name,node.maxItems||-1);error('must be unique');validate('}');if(type!=='array')validate('}');}if(node.enum){var complex=node.enum.some(function(e){return typeof e==='object';});var compare=complex?function(e){return'JSON.stringify('+name+')'+' !== JSON.stringify('+JSON.stringify(e)+')';}:function(e){return name+' !== '+JSON.stringify(e);};validate('if (%s) {',node.enum.map(compare).join(' && ')||'false');error('must be an enum value');validate('}');}if(node.dependencies){if(type!=='object')validate('if (%s) {',types.object(name));Object.keys(node.dependencies).forEach(function(key){var deps=node.dependencies[key];if(typeof deps==='string')deps=[deps];var exists=function(k){return genobj(name,k)+' !== undefined';};if(Array.isArray(deps)){validate('if (%s !== undefined && !(%s)) {',genobj(name,key),deps.map(exists).join(' && ')||'true');error('dependencies not set');validate('}');}if(typeof deps==='object'){validate('if (%s !== undefined) {',genobj(name,key));visit(name,deps,reporter,filter,schemaPath.concat(['dependencies',key]));validate('}');}});if(type!=='object')validate('}');}if(node.additionalProperties||node.additionalProperties===false){if(type!=='object')validate('if (%s) {',types.object(name));var i=genloop();var keys=gensym('keys');var toCompare=function(p){return keys+'['+i+'] !== '+JSON.stringify(p);};var toTest=function(p){return'!'+patterns(p)+'.test('+keys+'['+i+'])';};var additionalProp=Object.keys(properties||{}).map(toCompare).concat(Object.keys(node.patternProperties||{}).map(toTest)).join(' && ')||'true';validate('var %s = Object.keys(%s)',keys,name)('for (var %s = 0; %s < %s.length; %s++) {',i,i,keys,i)('if (%s) {',additionalProp);if(node.additionalProperties===false){if(filter)validate('delete %s',name+'['+keys+'['+i+']]');error('has additional properties',null,JSON.stringify(name+'.')+' + '+keys+'['+i+']');}else{visit(name+'['+keys+'['+i+']]',node.additionalProperties,reporter,filter,schemaPath.concat(['additionalProperties']));}validate('}')('}');if(type!=='object')validate('}');}if(node.$ref){var sub=get(root,opts&&opts.schemas||{},node.$ref);if(sub){var fn=cache[node.$ref];if(!fn){cache[node.$ref]=function proxy(data){return fn(data);};fn=compile(sub,cache,root,false,opts);}var n=gensym('ref');scope[n]=fn;validate('if (!(%s(%s))) {',n,name);error('referenced schema does not match');validate('}');}}if(node.not){var prev=gensym('prev');validate('var %s = errors',prev);visit(name,node.not,false,filter,schemaPath.concat('not'));validate('if (%s === errors) {',prev);error('negative schema matches');validate('} else {')('errors = %s',prev)('}');}if(node.items&&!tuple){if(type!=='array')validate('if (%s) {',types.array(name));var i=genloop();validate('for (var %s = 0; %s < %s.length; %s++) {',i,i,name,i);visit(name+'['+i+']',node.items,reporter,filter,schemaPath.concat('items'));validate('}');if(type!=='array')validate('}');}if(node.patternProperties){if(type!=='object')validate('if (%s) {',types.object(name));var keys=gensym('keys');var i=genloop();validate('var %s = Object.keys(%s)',keys,name)('for (var %s = 0; %s < %s.length; %s++) {',i,i,keys,i);Object.keys(node.patternProperties).forEach(function(key){var p=patterns(key);validate('if (%s.test(%s)) {',p,keys+'['+i+']');visit(name+'['+keys+'['+i+']]',node.patternProperties[key],reporter,filter,schemaPath.concat(['patternProperties',key]));validate('}');});validate('}');if(type!=='object')validate('}');}if(node.pattern){var p=patterns(node.pattern);if(type!=='string')validate('if (%s) {',types.string(name));validate('if (!(testLimitedRegex(%s, %s, %d))) {',p,name,typeof node.maxLength==='undefined'?-1:node.maxLength);error('pattern mismatch');validate('}');if(type!=='string')validate('}');}if(node.allOf){node.allOf.forEach(function(sch,key){visit(name,sch,reporter,filter,schemaPath.concat(['allOf',key]));});}if(node.anyOf&&node.anyOf.length){var prev=gensym('prev');node.anyOf.forEach(function(sch,i){if(i===0){validate('var %s = errors',prev);}else{validate('if (errors !== %s) {',prev)('errors = %s',prev);}visit(name,sch,false,false,schemaPath);});node.anyOf.forEach(function(sch,i){if(i)validate('}');});validate('if (%s !== errors) {',prev);error('no schemas match');validate('}');}if(node.oneOf&&node.oneOf.length){var prev=gensym('prev');var passes=gensym('passes');validate('var %s = errors',prev)('var %s = 0',passes);node.oneOf.forEach(function(sch,i){visit(name,sch,false,false,schemaPath);validate('if (%s === errors) {',prev)('%s++',passes)('} else {')('errors = %s',prev)('}');});validate('if (%s !== 1) {',passes);error('no (or more than one) schemas match');validate('}');}if(node.multipleOf!==undefined){if(type!=='number'&&type!=='integer')validate('if (%s) {',types.number(name));validate('if (!isMultipleOf(%s, %d)) {',name,node.multipleOf);error('has a remainder');validate('}');if(type!=='number'&&type!=='integer')validate('}');}if(node.maxProperties!==undefined){if(type!=='object')validate('if (%s) {',types.object(name));validate('if (Object.keys(%s).length > %d) {',name,node.maxProperties);error('has more properties than allowed');validate('}');if(type!=='object')validate('}');}if(node.minProperties!==undefined){if(type!=='object')validate('if (%s) {',types.object(name));validate('if (Object.keys(%s).length < %d) {',name,node.minProperties);error('has less properties than allowed');validate('}');if(type!=='object')validate('}');}if(node.maxItems!==undefined){if(type!=='array')validate('if (%s) {',types.array(name));validate('if (%s.length > %d) {',name,node.maxItems);error('has more items than allowed');validate('}');if(type!=='array')validate('}');}if(node.minItems!==undefined){if(type!=='array')validate('if (%s) {',types.array(name));validate('if (%s.length < %d) {',name,node.minItems);error('has less items than allowed');validate('}');if(type!=='array')validate('}');}if(node.maxLength!==undefined){if(type!=='string')validate('if (%s) {',types.string(name));validate('if (%s.length > %d) {',name,node.maxLength);error('has longer length than allowed');validate('}');if(type!=='string')validate('}');}if(node.minLength!==undefined){if(type!=='string')validate('if (%s) {',types.string(name));validate('if (%s.length < %d) {',name,node.minLength);error('has less length than allowed');validate('}');if(type!=='string')validate('}');}if(node.minimum!==undefined){if(type!=='number'&&type!=='integer')validate('if (%s) {',types.number(name));validate('if (%s %s %d) {',name,node.exclusiveMinimum?'<=':'<',node.minimum);error('is less than minimum');validate('}');if(type!=='number'&&type!=='integer')validate('}');}if(node.maximum!==undefined){if(type!=='number'&&type!=='integer')validate('if (%s) {',types.number(name));validate('if (%s %s %d) {',name,node.exclusiveMaximum?'>=':'>',node.maximum);error('is more than maximum');validate('}');if(type!=='number'&&type!=='integer')validate('}');}if(properties){Object.keys(properties).forEach(function(p){if(Array.isArray(type)&&type.indexOf('null')!==-1)validate('if (%s !== null) {',name);visit(genobj(name,p),properties[p],reporter,filter,schemaPath.concat(tuple?p:['properties',p]));if(Array.isArray(type)&&type.indexOf('null')!==-1)validate('}');});}while(indent--)validate('}');};var validate=genfun('function validate(data) {')// Since undefined is not a valid JSON value, we coerce to null and other checks will catch this
3881
- ('if (data === undefined) data = null')('validate.errors = null')('var errors = 0');visit('data',schema,reporter,opts&&opts.filter,[]);validate('return errors === 0')('}');validate=validate.toFunction(scope);validate.errors=null;if(Object.defineProperty){Object.defineProperty(validate,'error',{get:function(){if(!validate.errors)return'';return validate.errors.map(function(err){return err.field+' '+err.message;}).join('\n');}});}validate.toJSON=function(){return schema;};return validate;};module.exports=function(schema,opts){if(typeof schema==='string')schema=JSON.parse(schema);return compile(schema,{},schema,true,opts);};module.exports.filter=function(schema,opts){var validate=module.exports(schema,xtend(opts,{filter:true}));return function(sch){validate(sch);return sch;};};},{"./formats":194,"generate-function":159,"generate-object-property":160,"jsonpointer":200,"xtend":357}],196:[function(require,module,exports){"use strict";function isProperty(str){return /^[$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc][$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc0-9\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19b0-\u19c0\u19c8\u19c9\u19d0-\u19d9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]*$/.test(str);}module.exports=isProperty;},{}],197:[function(require,module,exports){'use strict';var callBound=require('call-bound');var hasToStringTag=require('has-tostringtag/shams')();var hasOwn=require('hasown');var gOPD=require('gopd');/** @type {import('.')} */var fn;if(hasToStringTag){/** @type {(receiver: ThisParameterType<typeof RegExp.prototype.exec>, ...args: Parameters<typeof RegExp.prototype.exec>) => ReturnType<typeof RegExp.prototype.exec>} */var $exec=callBound('RegExp.prototype.exec');/** @type {object} */var isRegexMarker={};var throwRegexMarker=function(){throw isRegexMarker;};/** @type {{ toString(): never, valueOf(): never, [Symbol.toPrimitive]?(): never }} */var badStringifier={toString:throwRegexMarker,valueOf:throwRegexMarker};if(typeof Symbol.toPrimitive==='symbol'){badStringifier[Symbol.toPrimitive]=throwRegexMarker;}/** @type {import('.')} */// @ts-expect-error TS can't figure out that the $exec call always throws
4083
+ ('if (data === undefined) data = null')('validate.errors = null')('var errors = 0');visit('data',schema,reporter,opts&&opts.filter,[]);validate('return errors === 0')('}');validate=validate.toFunction(scope);validate.errors=null;if(Object.defineProperty){Object.defineProperty(validate,'error',{get:function(){if(!validate.errors)return'';return validate.errors.map(function(err){return err.field+' '+err.message;}).join('\n');}});}validate.toJSON=function(){return schema;};return validate;};module.exports=function(schema,opts){if(typeof schema==='string')schema=JSON.parse(schema);return compile(schema,{},schema,true,opts);};module.exports.filter=function(schema,opts){var validate=module.exports(schema,xtend(opts,{filter:true}));return function(sch){validate(sch);return sch;};};},{"./formats":195,"generate-function":160,"generate-object-property":161,"jsonpointer":201,"xtend":359}],197:[function(require,module,exports){"use strict";function isProperty(str){return /^[$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc][$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc0-9\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19b0-\u19c0\u19c8\u19c9\u19d0-\u19d9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]*$/.test(str);}module.exports=isProperty;},{}],198:[function(require,module,exports){'use strict';var callBound=require('call-bound');var hasToStringTag=require('has-tostringtag/shams')();var hasOwn=require('hasown');var gOPD=require('gopd');/** @type {import('.')} */var fn;if(hasToStringTag){/** @type {(receiver: ThisParameterType<typeof RegExp.prototype.exec>, ...args: Parameters<typeof RegExp.prototype.exec>) => ReturnType<typeof RegExp.prototype.exec>} */var $exec=callBound('RegExp.prototype.exec');/** @type {object} */var isRegexMarker={};var throwRegexMarker=function(){throw isRegexMarker;};/** @type {{ toString(): never, valueOf(): never, [Symbol.toPrimitive]?(): never }} */var badStringifier={toString:throwRegexMarker,valueOf:throwRegexMarker};if(typeof Symbol.toPrimitive==='symbol'){badStringifier[Symbol.toPrimitive]=throwRegexMarker;}/** @type {import('.')} */// @ts-expect-error TS can't figure out that the $exec call always throws
3882
4084
  // eslint-disable-next-line consistent-return
3883
4085
  fn=function isRegex(value){if(!value||typeof value!=='object'){return false;}// eslint-disable-next-line no-extra-parens
3884
4086
  var descriptor=/** @type {NonNullable<typeof gOPD>} */gOPD(/** @type {{ lastIndex?: unknown }} */value,'lastIndex');var hasLastIndexDataProperty=descriptor&&hasOwn(descriptor,'value');if(!hasLastIndexDataProperty){return false;}try{// eslint-disable-next-line no-extra-parens
3885
4087
  $exec(value,/** @type {string} *//** @type {unknown} */badStringifier);}catch(e){return e===isRegexMarker;}};}else{/** @type {(receiver: ThisParameterType<typeof Object.prototype.toString>, ...args: Parameters<typeof Object.prototype.toString>) => ReturnType<typeof Object.prototype.toString>} */var $toString=callBound('Object.prototype.toString');/** @const @type {'[object RegExp]'} */var regexClass='[object RegExp]';/** @type {import('.')} */fn=function isRegex(value){// In older browsers, typeof regex incorrectly returns 'function'
3886
- if(!value||typeof value!=='object'&&typeof value!=='function'){return false;}return $toString(value)===regexClass;};}module.exports=fn;},{"call-bound":92,"gopd":167,"has-tostringtag/shams":171,"hasown":185}],198:[function(require,module,exports){'use strict';var whichTypedArray=require('which-typed-array');/** @type {import('.')} */module.exports=function isTypedArray(value){return!!whichTypedArray(value);};},{"which-typed-array":355}],199:[function(require,module,exports){(function(Buffer){(function(){/*global Buffer*/// Named constants with unique integer values
4088
+ if(!value||typeof value!=='object'&&typeof value!=='function'){return false;}return $toString(value)===regexClass;};}module.exports=fn;},{"call-bound":92,"gopd":168,"has-tostringtag/shams":172,"hasown":186}],199:[function(require,module,exports){'use strict';var whichTypedArray=require('which-typed-array');/** @type {import('.')} */module.exports=function isTypedArray(value){return!!whichTypedArray(value);};},{"which-typed-array":357}],200:[function(require,module,exports){(function(Buffer){(function(){/*global Buffer*/// Named constants with unique integer values
3887
4089
  var C={};// Tokens
3888
4090
  var LEFT_BRACE=C.LEFT_BRACE=0x1;var RIGHT_BRACE=C.RIGHT_BRACE=0x2;var LEFT_BRACKET=C.LEFT_BRACKET=0x3;var RIGHT_BRACKET=C.RIGHT_BRACKET=0x4;var COLON=C.COLON=0x5;var COMMA=C.COMMA=0x6;var TRUE=C.TRUE=0x7;var FALSE=C.FALSE=0x8;var NULL=C.NULL=0x9;var STRING=C.STRING=0xa;var NUMBER=C.NUMBER=0xb;// Tokenizer States
3889
4091
  var START=C.START=0x11;var STOP=C.STOP=0x12;var TRUE1=C.TRUE1=0x21;var TRUE2=C.TRUE2=0x22;var TRUE3=C.TRUE3=0x23;var FALSE1=C.FALSE1=0x31;var FALSE2=C.FALSE2=0x32;var FALSE3=C.FALSE3=0x33;var FALSE4=C.FALSE4=0x34;var NULL1=C.NULL1=0x41;var NULL2=C.NULL2=0x42;var NULL3=C.NULL3=0x43;var NUMBER1=C.NUMBER1=0x51;var NUMBER3=C.NUMBER3=0x53;var STRING1=C.STRING1=0x61;var STRING2=C.STRING2=0x62;var STRING3=C.STRING3=0x63;var STRING4=C.STRING4=0x64;var STRING5=C.STRING5=0x65;var STRING6=C.STRING6=0x66;// Parser States
@@ -3950,12 +4152,12 @@ if(buffer[i]===0x75){this.tState=NULL2;}else{return this.charError(buffer,i);}}e
3950
4152
  if(buffer[i]===0x6c){this.tState=NULL3;}else{return this.charError(buffer,i);}}else if(this.tState===NULL3){// l
3951
4153
  if(buffer[i]===0x6c){this.tState=START;this.onToken(NULL,null);this.offset+=3;}else{return this.charError(buffer,i);}}}};proto.onToken=function(token,value){// Override this to get events
3952
4154
  };proto.parseError=function(token,value){this.tState=STOP;this.onError(new Error("Unexpected "+Parser.toknam(token)+(value?"("+JSON.stringify(value)+")":"")+" in state "+Parser.toknam(this.state)));};proto.push=function(){this.stack.push({value:this.value,key:this.key,mode:this.mode});};proto.pop=function(){var value=this.value;var parent=this.stack.pop();this.value=parent.value;this.key=parent.key;this.mode=parent.mode;this.emit(value);if(!this.mode){this.state=VALUE;}};proto.emit=function(value){if(this.mode){this.state=COMMA;}this.onValue(value);};proto.onValue=function(value){// Override me
3953
- };proto.onToken=function(token,value){if(this.state===VALUE){if(token===STRING||token===NUMBER||token===TRUE||token===FALSE||token===NULL){if(this.value){this.value[this.key]=value;}this.emit(value);}else if(token===LEFT_BRACE){this.push();if(this.value){this.value=this.value[this.key]={};}else{this.value={};}this.key=undefined;this.state=KEY;this.mode=OBJECT;}else if(token===LEFT_BRACKET){this.push();if(this.value){this.value=this.value[this.key]=[];}else{this.value=[];}this.key=0;this.mode=ARRAY;this.state=VALUE;}else if(token===RIGHT_BRACE){if(this.mode===OBJECT){this.pop();}else{return this.parseError(token,value);}}else if(token===RIGHT_BRACKET){if(this.mode===ARRAY){this.pop();}else{return this.parseError(token,value);}}else{return this.parseError(token,value);}}else if(this.state===KEY){if(token===STRING){this.key=value;this.state=COLON;}else if(token===RIGHT_BRACE){this.pop();}else{return this.parseError(token,value);}}else if(this.state===COLON){if(token===COLON){this.state=VALUE;}else{return this.parseError(token,value);}}else if(this.state===COMMA){if(token===COMMA){if(this.mode===ARRAY){this.key++;this.state=VALUE;}else if(this.mode===OBJECT){this.state=KEY;}}else if(token===RIGHT_BRACKET&&this.mode===ARRAY||token===RIGHT_BRACE&&this.mode===OBJECT){this.pop();}else{return this.parseError(token,value);}}else{return this.parseError(token,value);}};Parser.C=C;module.exports=Parser;}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":83}],200:[function(require,module,exports){var hasExcape=/~/;var escapeMatcher=/~[01]/g;function escapeReplacer(m){switch(m){case'~1':return'/';case'~0':return'~';}throw new Error('Invalid tilde escape: '+m);}function untilde(str){if(!hasExcape.test(str))return str;return str.replace(escapeMatcher,escapeReplacer);}function setter(obj,pointer,value){var part;var hasNextPart;for(var p=1,len=pointer.length;p<len;){if(pointer[p]==='constructor'||pointer[p]==='prototype'||pointer[p]==='__proto__')return obj;part=untilde(pointer[p++]);hasNextPart=len>p;if(typeof obj[part]==='undefined'){// support setting of /-
4155
+ };proto.onToken=function(token,value){if(this.state===VALUE){if(token===STRING||token===NUMBER||token===TRUE||token===FALSE||token===NULL){if(this.value){this.value[this.key]=value;}this.emit(value);}else if(token===LEFT_BRACE){this.push();if(this.value){this.value=this.value[this.key]={};}else{this.value={};}this.key=undefined;this.state=KEY;this.mode=OBJECT;}else if(token===LEFT_BRACKET){this.push();if(this.value){this.value=this.value[this.key]=[];}else{this.value=[];}this.key=0;this.mode=ARRAY;this.state=VALUE;}else if(token===RIGHT_BRACE){if(this.mode===OBJECT){this.pop();}else{return this.parseError(token,value);}}else if(token===RIGHT_BRACKET){if(this.mode===ARRAY){this.pop();}else{return this.parseError(token,value);}}else{return this.parseError(token,value);}}else if(this.state===KEY){if(token===STRING){this.key=value;this.state=COLON;}else if(token===RIGHT_BRACE){this.pop();}else{return this.parseError(token,value);}}else if(this.state===COLON){if(token===COLON){this.state=VALUE;}else{return this.parseError(token,value);}}else if(this.state===COMMA){if(token===COMMA){if(this.mode===ARRAY){this.key++;this.state=VALUE;}else if(this.mode===OBJECT){this.state=KEY;}}else if(token===RIGHT_BRACKET&&this.mode===ARRAY||token===RIGHT_BRACE&&this.mode===OBJECT){this.pop();}else{return this.parseError(token,value);}}else{return this.parseError(token,value);}};Parser.C=C;module.exports=Parser;}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":83}],201:[function(require,module,exports){var hasExcape=/~/;var escapeMatcher=/~[01]/g;function escapeReplacer(m){switch(m){case'~1':return'/';case'~0':return'~';}throw new Error('Invalid tilde escape: '+m);}function untilde(str){if(!hasExcape.test(str))return str;return str.replace(escapeMatcher,escapeReplacer);}function setter(obj,pointer,value){var part;var hasNextPart;for(var p=1,len=pointer.length;p<len;){if(pointer[p]==='constructor'||pointer[p]==='prototype'||pointer[p]==='__proto__')return obj;part=untilde(pointer[p++]);hasNextPart=len>p;if(typeof obj[part]==='undefined'){// support setting of /-
3954
4156
  if(Array.isArray(obj)&&part==='-'){part=obj.length;}// support nested objects/array when setting values
3955
- if(hasNextPart){if(pointer[p]!==''&&pointer[p]<Infinity||pointer[p]==='-')obj[part]=[];else obj[part]={};}}if(!hasNextPart)break;obj=obj[part];}var oldValue=obj[part];if(value===undefined)delete obj[part];else obj[part]=value;return oldValue;}function compilePointer(pointer){if(typeof pointer==='string'){pointer=pointer.split('/');if(pointer[0]==='')return pointer;throw new Error('Invalid JSON pointer.');}else if(Array.isArray(pointer)){for(const part of pointer){if(typeof part!=='string'&&typeof part!=='number'){throw new Error('Invalid JSON pointer. Must be of type string or number.');}}return pointer;}throw new Error('Invalid JSON pointer.');}function get(obj,pointer){if(typeof obj!=='object')throw new Error('Invalid input object.');pointer=compilePointer(pointer);var len=pointer.length;if(len===1)return obj;for(var p=1;p<len;){obj=obj[untilde(pointer[p++])];if(len===p)return obj;if(typeof obj!=='object'||obj===null)return undefined;}}function set(obj,pointer,value){if(typeof obj!=='object')throw new Error('Invalid input object.');pointer=compilePointer(pointer);if(pointer.length===0)throw new Error('Invalid JSON pointer for set.');return setter(obj,pointer,value);}function compile(pointer){var compiled=compilePointer(pointer);return{get:function(object){return get(object,compiled);},set:function(object,value){return set(object,compiled,value);}};}exports.get=get;exports.set=set;exports.compile=compile;},{}],201:[function(require,module,exports){'use strict';/** @type {import('./abs')} */module.exports=Math.abs;},{}],202:[function(require,module,exports){'use strict';/** @type {import('./floor')} */module.exports=Math.floor;},{}],203:[function(require,module,exports){'use strict';/** @type {import('./isNaN')} */module.exports=Number.isNaN||function isNaN(a){return a!==a;};},{}],204:[function(require,module,exports){'use strict';/** @type {import('./max')} */module.exports=Math.max;},{}],205:[function(require,module,exports){'use strict';/** @type {import('./min')} */module.exports=Math.min;},{}],206:[function(require,module,exports){'use strict';/** @type {import('./pow')} */module.exports=Math.pow;},{}],207:[function(require,module,exports){'use strict';/** @type {import('./round')} */module.exports=Math.round;},{}],208:[function(require,module,exports){'use strict';var $isNaN=require('./isNaN');/** @type {import('./sign')} */module.exports=function sign(number){if($isNaN(number)||number===0){return number;}return number<0?-1:+1;};},{"./isNaN":203}],209:[function(require,module,exports){'use strict';var inherits=require('inherits');var HashBase=require('hash-base');var Buffer=require('safe-buffer').Buffer;var ARRAY16=new Array(16);function MD5(){HashBase.call(this,64);// state
4157
+ if(hasNextPart){if(pointer[p]!==''&&pointer[p]<Infinity||pointer[p]==='-')obj[part]=[];else obj[part]={};}}if(!hasNextPart)break;obj=obj[part];}var oldValue=obj[part];if(value===undefined)delete obj[part];else obj[part]=value;return oldValue;}function compilePointer(pointer){if(typeof pointer==='string'){pointer=pointer.split('/');if(pointer[0]==='')return pointer;throw new Error('Invalid JSON pointer.');}else if(Array.isArray(pointer)){for(const part of pointer){if(typeof part!=='string'&&typeof part!=='number'){throw new Error('Invalid JSON pointer. Must be of type string or number.');}}return pointer;}throw new Error('Invalid JSON pointer.');}function get(obj,pointer){if(typeof obj!=='object')throw new Error('Invalid input object.');pointer=compilePointer(pointer);var len=pointer.length;if(len===1)return obj;for(var p=1;p<len;){obj=obj[untilde(pointer[p++])];if(len===p)return obj;if(typeof obj!=='object'||obj===null)return undefined;}}function set(obj,pointer,value){if(typeof obj!=='object')throw new Error('Invalid input object.');pointer=compilePointer(pointer);if(pointer.length===0)throw new Error('Invalid JSON pointer for set.');return setter(obj,pointer,value);}function compile(pointer){var compiled=compilePointer(pointer);return{get:function(object){return get(object,compiled);},set:function(object,value){return set(object,compiled,value);}};}exports.get=get;exports.set=set;exports.compile=compile;},{}],202:[function(require,module,exports){'use strict';/** @type {import('./abs')} */module.exports=Math.abs;},{}],203:[function(require,module,exports){'use strict';/** @type {import('./floor')} */module.exports=Math.floor;},{}],204:[function(require,module,exports){'use strict';/** @type {import('./isNaN')} */module.exports=Number.isNaN||function isNaN(a){return a!==a;};},{}],205:[function(require,module,exports){'use strict';/** @type {import('./max')} */module.exports=Math.max;},{}],206:[function(require,module,exports){'use strict';/** @type {import('./min')} */module.exports=Math.min;},{}],207:[function(require,module,exports){'use strict';/** @type {import('./pow')} */module.exports=Math.pow;},{}],208:[function(require,module,exports){'use strict';/** @type {import('./round')} */module.exports=Math.round;},{}],209:[function(require,module,exports){'use strict';var $isNaN=require('./isNaN');/** @type {import('./sign')} */module.exports=function sign(number){if($isNaN(number)||number===0){return number;}return number<0?-1:+1;};},{"./isNaN":204}],210:[function(require,module,exports){'use strict';var inherits=require('inherits');var HashBase=require('hash-base');var Buffer=require('safe-buffer').Buffer;var ARRAY16=new Array(16);function MD5(){HashBase.call(this,64);// state
3956
4158
  this._a=0x67452301;this._b=0xefcdab89;this._c=0x98badcfe;this._d=0x10325476;}inherits(MD5,HashBase);MD5.prototype._update=function(){var M=ARRAY16;for(var i=0;i<16;++i)M[i]=this._block.readInt32LE(i*4);var a=this._a;var b=this._b;var c=this._c;var d=this._d;a=fnF(a,b,c,d,M[0],0xd76aa478,7);d=fnF(d,a,b,c,M[1],0xe8c7b756,12);c=fnF(c,d,a,b,M[2],0x242070db,17);b=fnF(b,c,d,a,M[3],0xc1bdceee,22);a=fnF(a,b,c,d,M[4],0xf57c0faf,7);d=fnF(d,a,b,c,M[5],0x4787c62a,12);c=fnF(c,d,a,b,M[6],0xa8304613,17);b=fnF(b,c,d,a,M[7],0xfd469501,22);a=fnF(a,b,c,d,M[8],0x698098d8,7);d=fnF(d,a,b,c,M[9],0x8b44f7af,12);c=fnF(c,d,a,b,M[10],0xffff5bb1,17);b=fnF(b,c,d,a,M[11],0x895cd7be,22);a=fnF(a,b,c,d,M[12],0x6b901122,7);d=fnF(d,a,b,c,M[13],0xfd987193,12);c=fnF(c,d,a,b,M[14],0xa679438e,17);b=fnF(b,c,d,a,M[15],0x49b40821,22);a=fnG(a,b,c,d,M[1],0xf61e2562,5);d=fnG(d,a,b,c,M[6],0xc040b340,9);c=fnG(c,d,a,b,M[11],0x265e5a51,14);b=fnG(b,c,d,a,M[0],0xe9b6c7aa,20);a=fnG(a,b,c,d,M[5],0xd62f105d,5);d=fnG(d,a,b,c,M[10],0x02441453,9);c=fnG(c,d,a,b,M[15],0xd8a1e681,14);b=fnG(b,c,d,a,M[4],0xe7d3fbc8,20);a=fnG(a,b,c,d,M[9],0x21e1cde6,5);d=fnG(d,a,b,c,M[14],0xc33707d6,9);c=fnG(c,d,a,b,M[3],0xf4d50d87,14);b=fnG(b,c,d,a,M[8],0x455a14ed,20);a=fnG(a,b,c,d,M[13],0xa9e3e905,5);d=fnG(d,a,b,c,M[2],0xfcefa3f8,9);c=fnG(c,d,a,b,M[7],0x676f02d9,14);b=fnG(b,c,d,a,M[12],0x8d2a4c8a,20);a=fnH(a,b,c,d,M[5],0xfffa3942,4);d=fnH(d,a,b,c,M[8],0x8771f681,11);c=fnH(c,d,a,b,M[11],0x6d9d6122,16);b=fnH(b,c,d,a,M[14],0xfde5380c,23);a=fnH(a,b,c,d,M[1],0xa4beea44,4);d=fnH(d,a,b,c,M[4],0x4bdecfa9,11);c=fnH(c,d,a,b,M[7],0xf6bb4b60,16);b=fnH(b,c,d,a,M[10],0xbebfbc70,23);a=fnH(a,b,c,d,M[13],0x289b7ec6,4);d=fnH(d,a,b,c,M[0],0xeaa127fa,11);c=fnH(c,d,a,b,M[3],0xd4ef3085,16);b=fnH(b,c,d,a,M[6],0x04881d05,23);a=fnH(a,b,c,d,M[9],0xd9d4d039,4);d=fnH(d,a,b,c,M[12],0xe6db99e5,11);c=fnH(c,d,a,b,M[15],0x1fa27cf8,16);b=fnH(b,c,d,a,M[2],0xc4ac5665,23);a=fnI(a,b,c,d,M[0],0xf4292244,6);d=fnI(d,a,b,c,M[7],0x432aff97,10);c=fnI(c,d,a,b,M[14],0xab9423a7,15);b=fnI(b,c,d,a,M[5],0xfc93a039,21);a=fnI(a,b,c,d,M[12],0x655b59c3,6);d=fnI(d,a,b,c,M[3],0x8f0ccc92,10);c=fnI(c,d,a,b,M[10],0xffeff47d,15);b=fnI(b,c,d,a,M[1],0x85845dd1,21);a=fnI(a,b,c,d,M[8],0x6fa87e4f,6);d=fnI(d,a,b,c,M[15],0xfe2ce6e0,10);c=fnI(c,d,a,b,M[6],0xa3014314,15);b=fnI(b,c,d,a,M[13],0x4e0811a1,21);a=fnI(a,b,c,d,M[4],0xf7537e82,6);d=fnI(d,a,b,c,M[11],0xbd3af235,10);c=fnI(c,d,a,b,M[2],0x2ad7d2bb,15);b=fnI(b,c,d,a,M[9],0xeb86d391,21);this._a=this._a+a|0;this._b=this._b+b|0;this._c=this._c+c|0;this._d=this._d+d|0;};MD5.prototype._digest=function(){// create padding and handle blocks
3957
4159
  this._block[this._blockOffset++]=0x80;if(this._blockOffset>56){this._block.fill(0,this._blockOffset,64);this._update();this._blockOffset=0;}this._block.fill(0,this._blockOffset,56);this._block.writeUInt32LE(this._length[0],56);this._block.writeUInt32LE(this._length[1],60);this._update();// produce result
3958
- var buffer=Buffer.allocUnsafe(16);buffer.writeInt32LE(this._a,0);buffer.writeInt32LE(this._b,4);buffer.writeInt32LE(this._c,8);buffer.writeInt32LE(this._d,12);return buffer;};function rotl(x,n){return x<<n|x>>>32-n;}function fnF(a,b,c,d,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+b|0;}function fnG(a,b,c,d,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+b|0;}function fnH(a,b,c,d,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+b|0;}function fnI(a,b,c,d,m,k,s){return rotl(a+(c^(b|~d))+m+k|0,s)+b|0;}module.exports=MD5;},{"hash-base":172,"inherits":189,"safe-buffer":291}],210:[function(require,module,exports){/**
4160
+ var buffer=Buffer.allocUnsafe(16);buffer.writeInt32LE(this._a,0);buffer.writeInt32LE(this._b,4);buffer.writeInt32LE(this._c,8);buffer.writeInt32LE(this._d,12);return buffer;};function rotl(x,n){return x<<n|x>>>32-n;}function fnF(a,b,c,d,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+b|0;}function fnG(a,b,c,d,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+b|0;}function fnH(a,b,c,d,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+b|0;}function fnI(a,b,c,d,m,k,s){return rotl(a+(c^(b|~d))+m+k|0,s)+b|0;}module.exports=MD5;},{"hash-base":173,"inherits":190,"safe-buffer":293}],211:[function(require,module,exports){/**
3959
4161
  * Meadow Endpoint Utility Function - Parse a Filter String and put it into a Query.
3960
4162
  *
3961
4163
  * @license MIT
@@ -4125,7 +4327,7 @@ tmpFilterStanza.Field=tmpFilterTerms[i];break;case 2:// OPERATOR
4125
4327
  //console.log(i+' Operator: '+tmpFilterTerms[i]);
4126
4328
  tmpFilterStanza.Operator=tmpFilterTerms[i];break;case 3:// VALUE
4127
4329
  //console.log(i+' Value: '+tmpFilterTerms[i]);
4128
- tmpFilterStanza.Value=tmpFilterTerms[i];break;}}addFilterStanzaToQuery(tmpFilterStanza,pQuery);return true;};module.exports=doParseFilter;},{}],211:[function(require,module,exports){module.exports={parse:require('./Meadow-Filter-Parse.js')};},{"./Meadow-Filter-Parse.js":210}],212:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4330
+ tmpFilterStanza.Value=tmpFilterTerms[i];break;}}addFilterStanzaToQuery(tmpFilterStanza,pQuery);return true;};module.exports=doParseFilter;},{}],212:[function(require,module,exports){module.exports={parse:require('./Meadow-Filter-Parse.js')};},{"./Meadow-Filter-Parse.js":211}],213:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4129
4331
  /**
4130
4332
  * @license MIT
4131
4333
  * @author <steven@velozo.com>
@@ -4137,7 +4339,7 @@ tmpFilterStanza.Value=tmpFilterTerms[i];break;}}addFilterStanzaToQuery(tmpFilter
4137
4339
  */var loadFromPackageFile=function(pMeadow,pPackage){// Use the package loader to grab the configuration objects and clone a new Meadow.
4138
4340
  var tmpPackage=false;try{tmpPackage=require(pPackage);}catch(pError){pMeadow.fable.log.error('Error loading Fable package',{Package:pPackage});return false;}// Spool up a new Meadow object
4139
4341
  var tmpNewMeadow=pMeadow.new(pMeadow.fable);// Safely set the parameters
4140
- if(typeof tmpPackage.Scope==='string'){tmpNewMeadow.setScope(tmpPackage.Scope);}if(typeof tmpPackage.Domain==='string'){tmpNewMeadow.setDomain(tmpPackage.Domain);}if(typeof tmpPackage.DefaultIdentifier==='string'){tmpNewMeadow.setDefaultIdentifier(tmpPackage.DefaultIdentifier);}if(Array.isArray(tmpPackage.Schema)){tmpNewMeadow.setSchema(tmpPackage.Schema);}if(typeof tmpPackage.JsonSchema==='object'){tmpNewMeadow.setJsonSchema(tmpPackage.JsonSchema);}if(typeof tmpPackage.DefaultObject==='object'){tmpNewMeadow.setDefault(tmpPackage.DefaultObject);}if(typeof tmpPackage.Authorization==='object'){tmpNewMeadow.setAuthorizer(tmpPackage.Authorization);}return tmpNewMeadow;};module.exports=loadFromPackageFile;},{}],213:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4342
+ if(typeof tmpPackage.Scope==='string'){tmpNewMeadow.setScope(tmpPackage.Scope);}if(typeof tmpPackage.Domain==='string'){tmpNewMeadow.setDomain(tmpPackage.Domain);}if(typeof tmpPackage.DefaultIdentifier==='string'){tmpNewMeadow.setDefaultIdentifier(tmpPackage.DefaultIdentifier);}if(Array.isArray(tmpPackage.Schema)){tmpNewMeadow.setSchema(tmpPackage.Schema);}if(typeof tmpPackage.JsonSchema==='object'){tmpNewMeadow.setJsonSchema(tmpPackage.JsonSchema);}if(typeof tmpPackage.DefaultObject==='object'){tmpNewMeadow.setDefault(tmpPackage.DefaultObject);}if(typeof tmpPackage.Authorization==='object'){tmpNewMeadow.setAuthorizer(tmpPackage.Authorization);}return tmpNewMeadow;};module.exports=loadFromPackageFile;},{}],214:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4141
4343
  /**
4142
4344
  * @license MIT
4143
4345
  * @author <steven@velozo.com>
@@ -4149,7 +4351,7 @@ if(typeof tmpPackage.Scope==='string'){tmpNewMeadow.setScope(tmpPackage.Scope);}
4149
4351
  */var loadFromPackageObject=function(pMeadow,pPackage){// Use the package loader to grab the configuration objects and clone a new Meadow.
4150
4352
  var tmpPackage=typeof pPackage=='object'?pPackage:{};if(!pPackage.hasOwnProperty('Scope')){pMeadow.fable.log.error('Error loading Fable package -- scope not defined.',{Package:pPackage});}// Spool up a new Meadow object
4151
4353
  var tmpNewMeadow=pMeadow.new(pMeadow.fable);// Safely set the parameters
4152
- if(typeof tmpPackage.Scope==='string'){tmpNewMeadow.setScope(tmpPackage.Scope);}if(typeof tmpPackage.Domain==='string'){tmpNewMeadow.setDomain(tmpPackage.Domain);}if(typeof tmpPackage.DefaultIdentifier==='string'){tmpNewMeadow.setDefaultIdentifier(tmpPackage.DefaultIdentifier);}if(Array.isArray(tmpPackage.Schema)){tmpNewMeadow.setSchema(tmpPackage.Schema);}if(typeof tmpPackage.JsonSchema==='object'){tmpNewMeadow.setJsonSchema(tmpPackage.JsonSchema);}if(typeof tmpPackage.DefaultObject==='object'){tmpNewMeadow.setDefault(tmpPackage.DefaultObject);}if(typeof tmpPackage.Authorization==='object'){tmpNewMeadow.setAuthorizer(tmpPackage.Authorization);}return tmpNewMeadow;};module.exports=loadFromPackageObject;},{}],214:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4354
+ if(typeof tmpPackage.Scope==='string'){tmpNewMeadow.setScope(tmpPackage.Scope);}if(typeof tmpPackage.Domain==='string'){tmpNewMeadow.setDomain(tmpPackage.Domain);}if(typeof tmpPackage.DefaultIdentifier==='string'){tmpNewMeadow.setDefaultIdentifier(tmpPackage.DefaultIdentifier);}if(Array.isArray(tmpPackage.Schema)){tmpNewMeadow.setSchema(tmpPackage.Schema);}if(typeof tmpPackage.JsonSchema==='object'){tmpNewMeadow.setJsonSchema(tmpPackage.JsonSchema);}if(typeof tmpPackage.DefaultObject==='object'){tmpNewMeadow.setDefault(tmpPackage.DefaultObject);}if(typeof tmpPackage.Authorization==='object'){tmpNewMeadow.setAuthorizer(tmpPackage.Authorization);}return tmpNewMeadow;};module.exports=loadFromPackageObject;},{}],215:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4153
4355
  /**
4154
4356
  * @license MIT
4155
4357
  * @author <steven@velozo.com>
@@ -4185,7 +4387,7 @@ doSetQuery(pQueryTag,'');tmpCallBack(false);}else{_Meadow.fable.log.trace('Loade
4185
4387
  * Check if a Custom Query exists
4186
4388
  *
4187
4389
  * @method doCheckQuery
4188
- */function doCheckQuery(pQueryTag){return _Queries.hasOwnProperty(pQueryTag);}var tmpNewMeadowRawQuery={loadQuery:doLoadQuery,setQuery:doSetQuery,checkQuery:doCheckQuery,getQuery:doGetQuery,new:createNew};return tmpNewMeadowRawQuery;}return createNew();};module.exports=new MeadowRawQuery();},{"fs":79}],215:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4390
+ */function doCheckQuery(pQueryTag){return _Queries.hasOwnProperty(pQueryTag);}var tmpNewMeadowRawQuery={loadQuery:doLoadQuery,setQuery:doSetQuery,checkQuery:doCheckQuery,getQuery:doGetQuery,new:createNew};return tmpNewMeadowRawQuery;}return createNew();};module.exports=new MeadowRawQuery();},{"fs":79}],216:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4189
4391
  /**
4190
4392
  * @license MIT
4191
4393
  * @author <steven@velozo.com>
@@ -4293,7 +4495,7 @@ if(!tmpValidation.Valid){tmpValidation.Errors=_Validate.errors;}return tmpValida
4293
4495
  *
4294
4496
  * @property defaultObject
4295
4497
  * @type object
4296
- */Object.defineProperty(tmpNewMeadowSchemaObject,'authorizer',{get:function(){return _Authorizers;},enumerable:true});return tmpNewMeadowSchemaObject;}return createNew();};module.exports=new MeadowSchema();},{"is-my-json-valid":195}],216:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4498
+ */Object.defineProperty(tmpNewMeadowSchemaObject,'authorizer',{get:function(){return _Authorizers;},enumerable:true});return tmpNewMeadowSchemaObject;}return createNew();};module.exports=new MeadowSchema();},{"is-my-json-valid":196}],217:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4297
4499
  /**
4298
4500
  * @license MIT
4299
4501
  * @author <steven@velozo.com>
@@ -4342,7 +4544,7 @@ var _DefaultIdentifier='ID'+_Scope;var _DefaultGUIdentifier='GUID'+_Scope;/**
4342
4544
  * @method setProvider
4343
4545
  * @param {String} pProviderName The provider for query generation.
4344
4546
  * @return {Object} Returns the current Meadow for chaining.
4345
- */var _PROVIDERS={'ALASQL':require(`./providers/Meadow-Provider-ALASQL.js`),'MeadowEndpoints':require(`./providers/Meadow-Provider-MeadowEndpoints.js`),'MySQL':require(`./providers/Meadow-Provider-MySQL.js`),'MSSQL':require(`./providers/Meadow-Provider-MSSQL.js`),'SQLite':require(`./providers/Meadow-Provider-SQLite.js`),'PostgreSQL':require(`./providers/Meadow-Provider-PostgreSQL.js`),'MongoDB':require(`./providers/Meadow-Provider-MongoDB.js`),'DGraph':require(`./providers/Meadow-Provider-DGraph.js`),'Solr':require(`./providers/Meadow-Provider-Solr.js`),'RocksDB':require(`./providers/Meadow-Provider-RocksDB.js`),'RetoldDataBeacon':require(`./providers/Meadow-Provider-RetoldDataBeacon.js`),'None':require(`./providers/Meadow-Provider-None.js`)};var setProvider=function(pProviderName){if(typeof pProviderName!=='string'){pProviderName='None';}try{_Provider=_PROVIDERS[pProviderName].new(_Fable);// Give the provider access to the schema object
4547
+ */var _PROVIDERS={'ALASQL':require(`./providers/Meadow-Provider-ALASQL.js`),'MeadowEndpoints':require(`./providers/Meadow-Provider-MeadowEndpoints.js`),'MySQL':require(`./providers/Meadow-Provider-MySQL.js`),'MSSQL':require(`./providers/Meadow-Provider-MSSQL.js`),'SQLite':require(`./providers/Meadow-Provider-SQLite.js`),'PostgreSQL':require(`./providers/Meadow-Provider-PostgreSQL.js`),'Oracle':require(`./providers/Meadow-Provider-Oracle.js`),'MongoDB':require(`./providers/Meadow-Provider-MongoDB.js`),'DGraph':require(`./providers/Meadow-Provider-DGraph.js`),'Solr':require(`./providers/Meadow-Provider-Solr.js`),'RocksDB':require(`./providers/Meadow-Provider-RocksDB.js`),'RetoldDataBeacon':require(`./providers/Meadow-Provider-RetoldDataBeacon.js`),'None':require(`./providers/Meadow-Provider-None.js`)};var setProvider=function(pProviderName){if(typeof pProviderName!=='string'){pProviderName='None';}try{_Provider=_PROVIDERS[pProviderName].new(_Fable);// Give the provider access to the schema object
4346
4548
  updateProviderState();_ProviderName=pProviderName;}catch(pError){_Fable.log.error('Provider not set - require load problem',{InvalidProvider:pProviderName,error:pError});setProvider('None');}return this;};setProvider(_Fable.settings.MeadowProvider);/**
4347
4549
  * Set the schema to be something else
4348
4550
  *
@@ -4466,7 +4668,7 @@ tmpQuery.query.schema=_Schema.schema;return tmpQuery;},enumerable:true});/**
4466
4668
  * @type object
4467
4669
  */Object.defineProperty(tmpNewMeadowObject,'providerName',{get:function(){return _ProviderName;},enumerable:true});// addServices removed in fable 2.x
4468
4670
  if(typeof _Fable.addServices==='function'){_Fable.addServices(tmpNewMeadowObject);}else{// bring over addServices implementation from Fable 1.x for backward compatibility
4469
- Object.defineProperty(tmpNewMeadowObject,'fable',{get:function(){return _Fable;},enumerable:false});Object.defineProperty(tmpNewMeadowObject,'settings',{get:function(){return _Fable.settings;},enumerable:false});Object.defineProperty(tmpNewMeadowObject,'log',{get:function(){return _Fable.log;},enumerable:false});}return tmpNewMeadowObject;}return createNew();};module.exports=new Meadow();},{"./Meadow-PackageFileLoader.js":212,"./Meadow-PackageObjectLoader.js":213,"./Meadow-RawQuery.js":214,"./Meadow-Schema.js":215,"./behaviors/Meadow-Count.js":218,"./behaviors/Meadow-Create.js":219,"./behaviors/Meadow-Delete.js":220,"./behaviors/Meadow-Read.js":221,"./behaviors/Meadow-Reads.js":222,"./behaviors/Meadow-Undelete.js":223,"./behaviors/Meadow-Update.js":224,"./providers/Meadow-Provider-ALASQL.js":225,"./providers/Meadow-Provider-DGraph.js":226,"./providers/Meadow-Provider-MSSQL.js":227,"./providers/Meadow-Provider-MeadowEndpoints.js":228,"./providers/Meadow-Provider-MongoDB.js":229,"./providers/Meadow-Provider-MySQL.js":230,"./providers/Meadow-Provider-None.js":231,"./providers/Meadow-Provider-PostgreSQL.js":232,"./providers/Meadow-Provider-RetoldDataBeacon.js":233,"./providers/Meadow-Provider-RocksDB.js":234,"./providers/Meadow-Provider-SQLite.js":235,"./providers/Meadow-Provider-Solr.js":236,"foxhound":144}],217:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4671
+ Object.defineProperty(tmpNewMeadowObject,'fable',{get:function(){return _Fable;},enumerable:false});Object.defineProperty(tmpNewMeadowObject,'settings',{get:function(){return _Fable.settings;},enumerable:false});Object.defineProperty(tmpNewMeadowObject,'log',{get:function(){return _Fable.log;},enumerable:false});}return tmpNewMeadowObject;}return createNew();};module.exports=new Meadow();},{"./Meadow-PackageFileLoader.js":213,"./Meadow-PackageObjectLoader.js":214,"./Meadow-RawQuery.js":215,"./Meadow-Schema.js":216,"./behaviors/Meadow-Count.js":219,"./behaviors/Meadow-Create.js":220,"./behaviors/Meadow-Delete.js":221,"./behaviors/Meadow-Read.js":222,"./behaviors/Meadow-Reads.js":223,"./behaviors/Meadow-Undelete.js":224,"./behaviors/Meadow-Update.js":225,"./providers/Meadow-Provider-ALASQL.js":226,"./providers/Meadow-Provider-DGraph.js":227,"./providers/Meadow-Provider-MSSQL.js":228,"./providers/Meadow-Provider-MeadowEndpoints.js":229,"./providers/Meadow-Provider-MongoDB.js":230,"./providers/Meadow-Provider-MySQL.js":231,"./providers/Meadow-Provider-None.js":232,"./providers/Meadow-Provider-Oracle.js":233,"./providers/Meadow-Provider-PostgreSQL.js":234,"./providers/Meadow-Provider-RetoldDataBeacon.js":235,"./providers/Meadow-Provider-RocksDB.js":236,"./providers/Meadow-Provider-SQLite.js":237,"./providers/Meadow-Provider-Solr.js":238,"foxhound":144}],218:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4470
4672
  /**
4471
4673
  * @license MIT
4472
4674
  * @author <steven@velozo.com>
@@ -4532,7 +4734,7 @@ tmpUpdateQuery.query.IDUser=pMeadow.userIdentifier;pMeadow.provider.Update(tmpUp
4532
4734
  */var renameSoftDeletedConflicts=function(pMeadow,pNewRecord,fCallback){var tmpConstraints=collectUniqueConstraints(pMeadow.schema);if(tmpConstraints.length<1){return fCallback();}var tmpDeletedColumn=findDeletedColumn(pMeadow.schema);// If there's no Deleted column in the schema, soft-delete tracking
4533
4735
  // isn't a concept here — nothing can be soft-deleted, so nothing to
4534
4736
  // rename. Bail out early.
4535
- if(!tmpDeletedColumn){return fCallback();}var tmpProcessNext=function(pIndex){if(pIndex>=tmpConstraints.length){return fCallback();}processConstraint(pMeadow,pNewRecord,tmpConstraints[pIndex],tmpDeletedColumn,function(pError){if(pError){return fCallback(pError);}return tmpProcessNext(pIndex+1);});};tmpProcessNext(0);};module.exports=renameSoftDeletedConflicts;module.exports.buildRenamedValue=buildRenamedValue;module.exports.collectUniqueConstraints=collectUniqueConstraints;module.exports.findDeletedColumn=findDeletedColumn;module.exports.COLLISION_RENAME_PREFIX=COLLISION_RENAME_PREFIX;module.exports.COLLISION_RENAME_HASH_LENGTH=COLLISION_RENAME_HASH_LENGTH;},{"crypto":101}],218:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4737
+ if(!tmpDeletedColumn){return fCallback();}var tmpProcessNext=function(pIndex){if(pIndex>=tmpConstraints.length){return fCallback();}processConstraint(pMeadow,pNewRecord,tmpConstraints[pIndex],tmpDeletedColumn,function(pError){if(pError){return fCallback(pError);}return tmpProcessNext(pIndex+1);});};tmpProcessNext(0);};module.exports=renameSoftDeletedConflicts;module.exports.buildRenamedValue=buildRenamedValue;module.exports.collectUniqueConstraints=collectUniqueConstraints;module.exports.findDeletedColumn=findDeletedColumn;module.exports.COLLISION_RENAME_PREFIX=COLLISION_RENAME_PREFIX;module.exports.COLLISION_RENAME_HASH_LENGTH=COLLISION_RENAME_HASH_LENGTH;},{"crypto":101}],219:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4536
4738
  /**
4537
4739
  * @license MIT
4538
4740
  * @author <steven@velozo.com>
@@ -4546,7 +4748,7 @@ libAsyncWaterfall([// Step 1: Get the record countfrom the data source
4546
4748
  function(fStageComplete){if(pMeadow.rawQueries.checkQuery('Count')){pQuery.parameters.queryOverride=pMeadow.rawQueries.getQuery('Count');}pMeadow.provider.Count(pQuery,function(){fStageComplete(pQuery.result.error,pQuery);});},// Step 2: Validate the resulting value
4547
4749
  function(pQuery,fStageComplete){// Check if query time exceeded threshold in settings. Log if slow.
4548
4750
  var tmpProfileTime=new Date().getTime()-tmpProfileStart.getTime();if(tmpProfileTime>(pMeadow.fable.settings['QueryThresholdWarnTime']||200)){pMeadow.logSlowQuery(tmpProfileTime,pQuery);}if(typeof pQuery.parameters.result.value!=='number'){// The return value is a number.. something is wrong.
4549
- return fStageComplete('Count did not return valid results.',pQuery,false);}fStageComplete(pQuery.result.error,pQuery,pQuery.result.value);}],function(pError,pQuery,pCount){if(pError){pMeadow.fable.log.warn('Error during the count waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pCount);});return pMeadow;};module.exports=meadowBehaviorCount;},{"async/waterfall":33}],219:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4751
+ return fStageComplete('Count did not return valid results.',pQuery,false);}fStageComplete(pQuery.result.error,pQuery,pQuery.result.value);}],function(pError,pQuery,pCount){if(pError){pMeadow.fable.log.warn('Error during the count waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pCount);});return pMeadow;};module.exports=meadowBehaviorCount;},{"async/waterfall":33}],220:[function(require,module,exports){(function(setImmediate){(function(){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4550
4752
  /**
4551
4753
  * @license MIT
4552
4754
  * @author <steven@velozo.com>
@@ -4570,7 +4772,11 @@ function(fStageComplete){// Reject missing records here — the old Step 0 owned
4570
4772
  // error and downstream steps assume pQuery.query.records[0]
4571
4773
  // exists. Same string and trailing-args shape as before so
4572
4774
  // existing callers' expectations are preserved.
4573
- if(!pQuery.query.records||!pQuery.query.records[0]){return fStageComplete('No record submitted',pQuery,false);}libRenameSoftDeletedConflicts(pMeadow,pQuery.query.records[0],function(pPreflightError){if(pPreflightError){pMeadow.fable.log.warn('Error during the unique-constraint pre-flight',{Error:pPreflightError,Message:pPreflightError&&pPreflightError.message});return fStageComplete(pPreflightError,pQuery,false);}return fStageComplete();});},// Step 1: Create the record in the data source
4775
+ if(!pQuery.query.records||!pQuery.query.records[0]){return fStageComplete('No record submitted',pQuery,false);}libRenameSoftDeletedConflicts(pMeadow,pQuery.query.records[0],function(pPreflightError){if(pPreflightError){pMeadow.fable.log.warn('Error during the unique-constraint pre-flight',{Error:pPreflightError,Message:pPreflightError&&pPreflightError.message});return setImmediate(fStageComplete,pPreflightError,pQuery,false);}// Defer via setImmediate so synchronous providers (node:sqlite,
4776
+ // previously better-sqlite3) cannot stack-accumulate frames
4777
+ // across a long synchronous chain of Creates — every record's
4778
+ // pre-flight returns to the event loop before the INSERT runs.
4779
+ return setImmediate(fStageComplete);});},// Step 1: Create the record in the data source
4574
4780
  function(fStageComplete){if(!pQuery.query.IDUser){// The user ID is not already set, set it magically.
4575
4781
  if(typeof pQuery.userID==='number'&&pQuery.userID%1===0&&pQuery.userID>=0){pQuery.query.IDUser=pQuery.userID;}else{pQuery.query.IDUser=pMeadow.userIdentifier;}}// Merge in the default record with the passed-in record for completeness
4576
4782
  pQuery.query.records[0]=pMeadow.fable.Utility.extend({},pMeadow.schemaFull.defaultObject,pQuery.query.records[0]);// Create override is too complex ... punting for now
@@ -4582,7 +4788,7 @@ if(pQuery.parameters.result.value===false){return fStageComplete('Creation faile
4582
4788
  function(pQuery,pIDRecord,fStageComplete){var tmpQueryRead=pQuery.clone().addFilter(pMeadow.defaultIdentifier,pIDRecord).setDisableDeleteTracking(pQuery.parameters.query.disableDeleteTracking);//if delete tracking is disabled, we need to disable it on this Read operation
4583
4789
  if(pMeadow.rawQueries.checkQuery('Read')){tmpQueryRead.parameters.queryOverride=pMeadow.rawQueries.getQuery('Read');}pMeadow.provider.Read(tmpQueryRead,function(){fStageComplete(tmpQueryRead.result.error,pQuery,tmpQueryRead);});},// Step 4: Marshal the record into a POJO
4584
4790
  function(pQuery,pQueryRead,fStageComplete){// Ensure there is not at least one record returned
4585
- if(pQueryRead.parameters.result.value.length<1){return fStageComplete('No record found after create.',pQuery,pQueryRead,false);}var tmpRecord=pMeadow.marshalRecordFromSourceToObject(pQueryRead.result.value[0]);fStageComplete(pQuery.result.error,pQuery,pQueryRead,tmpRecord);}],function(pError,pQuery,pQueryRead,pRecord){if(pError){pMeadow.fable.log.warn('Error during the create waterfall',{Error:pError,Message:pError.message,Query:pQuery.query,Stack:pError.stack});}fCallBack(pError,pQuery,pQueryRead,pRecord);});return pMeadow;};module.exports=meadowBehaviorCreate;},{"./Meadow-CollisionRename.js":217,"async/waterfall":33}],220:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4791
+ if(pQueryRead.parameters.result.value.length<1){return fStageComplete('No record found after create.',pQuery,pQueryRead,false);}var tmpRecord=pMeadow.marshalRecordFromSourceToObject(pQueryRead.result.value[0]);fStageComplete(pQuery.result.error,pQuery,pQueryRead,tmpRecord);}],function(pError,pQuery,pQueryRead,pRecord){if(pError){pMeadow.fable.log.warn('Error during the create waterfall',{Error:pError,Message:pError.message,Query:pQuery.query,Stack:pError.stack});}fCallBack(pError,pQuery,pQueryRead,pRecord);});return pMeadow;};module.exports=meadowBehaviorCreate;}).call(this);}).call(this,require("timers").setImmediate);},{"./Meadow-CollisionRename.js":218,"async/waterfall":33,"timers":346}],221:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4586
4792
  /**
4587
4793
  * @license MIT
4588
4794
  * @author <steven@velozo.com>
@@ -4593,7 +4799,7 @@ if(pQueryRead.parameters.result.value.length<1){return fStageComplete('No record
4593
4799
  */var meadowBehaviorDelete=function(pMeadow,pQuery,fCallBack){// TODO: Check if this recordset has implicit delete tracking, branch in this module.
4594
4800
  // Delete the record(s) from the source
4595
4801
  libAsyncWaterfall([// Step 1: Delete the record
4596
- function(fStageComplete){if(pMeadow.rawQueries.checkQuery('Delete')){pQuery.parameters.queryOverride=pMeadow.rawQueries.getQuery('Delete');}pMeadow.provider.Delete(pQuery,function(){fStageComplete(pQuery.result.error,pQuery,pQuery.result.value);});}],function(pError,pQuery,pRecord){if(pError){pMeadow.fable.log.warn('Error during the delete waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pRecord);});return pMeadow;};module.exports=meadowBehaviorDelete;},{"async/waterfall":33}],221:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4802
+ function(fStageComplete){if(pMeadow.rawQueries.checkQuery('Delete')){pQuery.parameters.queryOverride=pMeadow.rawQueries.getQuery('Delete');}pMeadow.provider.Delete(pQuery,function(){fStageComplete(pQuery.result.error,pQuery,pQuery.result.value);});}],function(pError,pQuery,pRecord){if(pError){pMeadow.fable.log.warn('Error during the delete waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pRecord);});return pMeadow;};module.exports=meadowBehaviorDelete;},{"async/waterfall":33}],222:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4597
4803
  /**
4598
4804
  * @license MIT
4599
4805
  * @author <steven@velozo.com>
@@ -4606,7 +4812,7 @@ libAsyncWaterfall([// Step 1: Get the record from the data source
4606
4812
  function(fStageComplete){// If there is a Read override query, use it!
4607
4813
  if(pMeadow.rawQueries.checkQuery('Read')){pQuery.parameters.queryOverride=pMeadow.rawQueries.getQuery('Read');}pMeadow.provider.Read(pQuery,function(){fStageComplete(pQuery.result.error,pQuery);});},// Step 2: Marshal the record into a POJO
4608
4814
  function(pQuery,fStageComplete){// Check that a record was returned
4609
- if(pQuery.parameters.result.value.length<1){return fStageComplete(undefined,pQuery,false);}var tmpRecord=pMeadow.marshalRecordFromSourceToObject(pQuery.result.value[0]);fStageComplete(pQuery.result.error,pQuery,tmpRecord);}],(pError,pQuery,pRecord)=>{if(pError){pMeadow.fable.log.warn('Error during the read waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pRecord);});return pMeadow;};module.exports=meadowBehaviorRead;},{"async/waterfall":33}],222:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4815
+ if(pQuery.parameters.result.value.length<1){return fStageComplete(undefined,pQuery,false);}var tmpRecord=pMeadow.marshalRecordFromSourceToObject(pQuery.result.value[0]);fStageComplete(pQuery.result.error,pQuery,tmpRecord);}],(pError,pQuery,pRecord)=>{if(pError){pMeadow.fable.log.warn('Error during the read waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pRecord);});return pMeadow;};module.exports=meadowBehaviorRead;},{"async/waterfall":33}],223:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4610
4816
  /**
4611
4817
  * @license MIT
4612
4818
  * @author <steven@velozo.com>
@@ -4620,7 +4826,7 @@ libAsyncWaterfall([// Step 1: Get the record(s) from the data source
4620
4826
  function(fStageComplete){if(pMeadow.rawQueries.checkQuery('Reads')){pQuery.parameters.queryOverride=pMeadow.rawQueries.getQuery('Reads');}pMeadow.provider.Read(pQuery,function(){fStageComplete(pQuery.result.error,pQuery);});},// Step 2: Marshal all the records into an array of POJOs
4621
4827
  function(pQuery,fStageComplete){// Check if query time exceeded threshold in settings. Log if slow.
4622
4828
  var tmpProfileTime=new Date().getTime()-tmpProfileStart.getTime();if(tmpProfileTime>(pMeadow.fable.settings['QueryThresholdWarnTime']||200)){pMeadow.logSlowQuery(tmpProfileTime,pQuery);}var tmpRecords=[];libAsyncEach(pQuery.parameters.result.value,function(pRow,pQueueCallback){tmpRecords.push(pMeadow.marshalRecordFromSourceToObject(pRow));pQueueCallback();},function(){// After we've pushed every record into the array in order, complete the waterfall
4623
- fStageComplete(pQuery.result.error,pQuery,tmpRecords);});}],function(pError,pQuery,pRecords){if(pError){pMeadow.fable.log.warn('Error during the read multiple waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pRecords);});return pMeadow;};module.exports=meadowBehaviorReads;},{"async/eachSeries":19,"async/waterfall":33}],223:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4829
+ fStageComplete(pQuery.result.error,pQuery,tmpRecords);});}],function(pError,pQuery,pRecords){if(pError){pMeadow.fable.log.warn('Error during the read multiple waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pRecords);});return pMeadow;};module.exports=meadowBehaviorReads;},{"async/eachSeries":19,"async/waterfall":33}],224:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4624
4830
  /**
4625
4831
  * @license MIT
4626
4832
  * @author <steven@velozo.com>
@@ -4631,7 +4837,7 @@ fStageComplete(pQuery.result.error,pQuery,tmpRecords);});}],function(pError,pQue
4631
4837
  */var meadowBehaviorUndelete=function(pMeadow,pQuery,fCallBack){// TODO: Check if this recordset has implicit delete tracking, branch in this module?
4632
4838
  // Undelete the record(s) if they were deleted with a bit
4633
4839
  libAsyncWaterfall([// Step 1: Undelete the record
4634
- function(fStageComplete){if(pMeadow.rawQueries.checkQuery('Undelete')){pQuery.parameters.queryOverride=pMeadow.rawQueries.getQuery('Undelete');}pMeadow.provider.Undelete(pQuery,function(){fStageComplete(pQuery.result.error,pQuery,pQuery.result.value);});}],function(pError,pQuery,pRecord){if(pError){pMeadow.fable.log.warn('Error during the undelete waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pRecord);});return pMeadow;};module.exports=meadowBehaviorUndelete;},{"async/waterfall":33}],224:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4840
+ function(fStageComplete){if(pMeadow.rawQueries.checkQuery('Undelete')){pQuery.parameters.queryOverride=pMeadow.rawQueries.getQuery('Undelete');}pMeadow.provider.Undelete(pQuery,function(){fStageComplete(pQuery.result.error,pQuery,pQuery.result.value);});}],function(pError,pQuery,pRecord){if(pError){pMeadow.fable.log.warn('Error during the undelete waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pRecord);});return pMeadow;};module.exports=meadowBehaviorUndelete;},{"async/waterfall":33}],225:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4635
4841
  /**
4636
4842
  * @license MIT
4637
4843
  * @author <steven@velozo.com>
@@ -4659,14 +4865,14 @@ function(pQuery,fStageComplete){// We can clone the query, since it has the crit
4659
4865
  var tmpQueryRead=pQuery.clone();// Make sure to load the record with the custom query if necessary.
4660
4866
  if(pMeadow.rawQueries.checkQuery('Read')){tmpQueryRead.parameters.queryOverride=pMeadow.rawQueries.getQuery('Read');}pMeadow.provider.Read(tmpQueryRead,function(){fStageComplete(tmpQueryRead.result.error,pQuery,tmpQueryRead);});},// Step 4: Marshal the record into a POJO
4661
4867
  function(pQuery,pQueryRead,fStageComplete){if(pQueryRead.result.value.length===0){//No record found to update
4662
- return fStageComplete('No record found to update!',pQueryRead.result,false);}var tmpRecord=pMeadow.marshalRecordFromSourceToObject(pQueryRead.result.value[0]);fStageComplete(pQuery.result.error,pQuery,pQueryRead,tmpRecord);}],function(pError,pQuery,pQueryRead,pRecord){if(pError){pMeadow.fable.log.warn('Error during Update waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pQueryRead,pRecord);});return pMeadow;};module.exports=meadowBehaviorUpdate;},{"async/waterfall":33}],225:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4868
+ return fStageComplete('No record found to update!',pQueryRead.result,false);}var tmpRecord=pMeadow.marshalRecordFromSourceToObject(pQueryRead.result.value[0]);fStageComplete(pQuery.result.error,pQuery,pQueryRead,tmpRecord);}],function(pError,pQuery,pQueryRead,pRecord){if(pError){pMeadow.fable.log.warn('Error during Update waterfall',{Error:pError,Message:pError.message,Query:pQuery.query});}fCallBack(pError,pQuery,pQueryRead,pRecord);});return pMeadow;};module.exports=meadowBehaviorUpdate;},{"async/waterfall":33}],226:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4663
4869
  /**
4664
4870
  * @license MIT
4665
4871
  * @author <steven@velozo.com>
4666
- */var MeadowProvider=function(){function createNew(pFable){// If a valid Fable object isn't passed in, return a constructor
4872
+ */var libAsyncEachSeries=require('async/eachSeries');var MeadowProvider=function(){function createNew(pFable){// If a valid Fable object isn't passed in, return a constructor
4667
4873
  if(typeof pFable!=='object'){return{new:createNew};}var _Fable=pFable;var _GlobalLogLevel=0;if(_Fable.settings.ArrayStorage){_GlobalLogLevel=_Fable.settings.ArrayStorage.GlobalLogLevel||0;}if(!_Fable.hasOwnProperty('ALASQL')){// This is going to be problematic.
4668
4874
  _Fable.log.fatal('Meadow is trying to perform queries without a valid [Fable.ALASQL] object. See the documentation for how to initialize one.');return false;}var libALASQL=_Fable.ALASQL;var _Scope='Unknown_Meadow_ALASQL_Scope';var _Schema={};var _DefaultIdentifier='ID';var _DefaultGUIDentifier='GUID';var setSchema=(pScope,pSchema,pDefaultIdentifier,pDefaultGUIdentifier)=>{_Scope=pScope;_Schema=pSchema;_DefaultIdentifier=pDefaultIdentifier;_DefaultGUIDentifier=pDefaultGUIdentifier;return this;};// Create a table for this schema on the fly
4669
- // This is ripped off from https://github.com/stevenvelozo/stricture/blob/master/source/Stricture-Generate-MySQL.js
4875
+ // This is ripped off from https://github.com/fable-retold/stricture/blob/master/source/Stricture-Generate-MySQL.js
4670
4876
  var createTableDynamically=()=>{var tmpCreateStatement='';var tmpTable=_Scope;var tmpSchema=_Schema;// Check if the scope in the query matches the passed-in scope
4671
4877
  // Check if the schema does not contain all columns in the query, and add them if it doesn't.
4672
4878
  tmpCreateStatement+="CREATE TABLE IF NOT EXISTS\n "+tmpTable+"\n";if(tmpSchema.length>0){tmpCreateStatement+=" (\n";for(var j=0;j<tmpSchema.length;j++){// If we aren't the first element, append a comma.
@@ -4701,7 +4907,24 @@ var Read=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;check
4701
4907
  * Import: true (boolean -- whether or not to import them using the DAL)
4702
4908
  * Data: [] (optional array of records, one object each)
4703
4909
  * }
4704
- */var constructFromObject=pParameters=>{if(typeof pParameters!=='object'||typeof pParameters.Meadow!=='object')return false;// I know there are better ways to do this, but for now I want to keep it very manual
4910
+ *//**
4911
+ * Construct an ALASQL-backed meadow from a JS object array.
4912
+ *
4913
+ * Signatures:
4914
+ * constructFromObject(pParameters) — bindObject path only;
4915
+ * returns meadow synchronously
4916
+ * constructFromObject(pParameters, fCallback) — Import path (doCreate
4917
+ * per record); meadow + records
4918
+ * delivered via fCallback
4919
+ *
4920
+ * The Import path drives `doCreate` per record, which is no longer
4921
+ * guaranteed to complete in the same tick (Meadow-Create's pre-flight
4922
+ * yields via setImmediate to keep bulk-create chains stack-safe on
4923
+ * synchronous providers). Callers that need the imported records
4924
+ * queryable on return must pass a callback. Without a callback the
4925
+ * Import path is rejected — synchronous fire-and-forget imports were
4926
+ * a latent footgun and are no longer supported.
4927
+ */var constructFromObject=(pParameters,fCallback)=>{if(typeof pParameters!=='object'||typeof pParameters.Meadow!=='object')return false;// I know there are better ways to do this, but for now I want to keep it very manual
4705
4928
  if(!(typeof pParameters.Scope==='string'))pParameters.Scope='DATA';if(!(typeof pParameters.ObjectPrototype==='object'))pParameters.ObjectPrototype={};if(!(typeof pParameters.AuditData==='boolean'))pParameters.AuditData=true;if(!(typeof pParameters.Import==='boolean'))pParameters.Import=true;if(!Array.isArray(pParameters.Data))pParameters.Data=[];// Construct a meadow
4706
4929
  var tmpMeadow=pParameters.Meadow.new(_Fable,pParameters.Scope).setProvider('ALASQL');var tmpSchema=[];var tmpDefaultIdentifier;if(pParameters.AuditData){// Add the audit fields to the schema
4707
4930
  tmpDefaultIdentifier='ID'+pParameters.Scope;tmpSchema.push({Column:tmpDefaultIdentifier,Type:"AutoIdentity"});tmpSchema.push({Column:"GU"+tmpDefaultIdentifier,Type:"AutoGUID"});tmpSchema.push({Column:"CreateDate",Type:"CreateDate"});tmpSchema.push({Column:"CreatingIDUser",Type:"CreateIDUser"});tmpSchema.push({Column:"UpdateDate",Type:"UpdateDate"});tmpSchema.push({Column:"UpdatingIDUser",Type:"UpdateIDUser"});tmpSchema.push({Column:"DeleteDate",Type:"DeleteDate"});tmpSchema.push({Column:"DeletingIDUser",Type:"DeleteIDUser"});tmpSchema.push({Column:"Deleted",Type:"Deleted"});}// Now add the fields from the object in
@@ -4710,9 +4933,11 @@ switch(typeof pParameters.ObjectPrototype[tmpProperty]){case"undefined":case"obj
4710
4933
  break;case"boolean":tmpSchema.push({Column:tmpProperty,Type:"Boolean"});break;// Because we can't tell the difference between floating point and not
4711
4934
  case"number":case"string":tmpSchema.push({Column:tmpProperty,Type:"Text"});break;default:break;}if(tmpAdded&&typeof tmpDefaultIdentifier==='undefined')// Just use the first property of the prototype object as the default identifier
4712
4935
  tmpDefaultIdentifier=tmpProperty;}tmpMeadow.setSchema(tmpSchema);if(typeof tmpDefaultIdentifier==='undefined')tmpMeadow.setDefaultIdentifier(tmpDefaultIdentifier);// Now import the data
4713
- if(pParameters.Import){for(var j=0;j<pParameters.Data.length;j++){tmpMeadow.doCreate(tmpMeadow.query.clone().addRecord(pParameters.Data[j]),function(pError,pQuery,pQueryRead,pRecord){// Maybe log the error?
4714
- _Fable.log.trace('Auto imported record',pRecord);});}}else{// Just assign the object
4715
- tmpMeadow.provider.bindObject(pParameters.Data);}return tmpMeadow;};var tmpNewProvider={setSchema:setSchema,marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,constructFromObject:constructFromObject,bindObject:bindObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:{},providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],226:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4936
+ if(pParameters.Import){if(typeof fCallback!=='function'){_Fable.log.error('Meadow-Provider-ALASQL: constructFromObject called with Import=true but no callback — doCreate is no longer synchronous, callers must await record import.');return false;}libAsyncEachSeries(pParameters.Data,function(pRecord,fNext){tmpMeadow.doCreate(tmpMeadow.query.clone().addRecord(pRecord),function(pError,pQuery,pQueryRead,pCreated){if(pError){_Fable.log.warn('Meadow-Provider-ALASQL: auto-import doCreate failed',{Error:pError,Record:pRecord});}else{_Fable.log.trace('Auto imported record',pCreated);}// Errors are logged but not propagated — the historical
4937
+ // fire-and-forget loop swallowed them, preserve that
4938
+ // shape so partial imports still return a usable meadow.
4939
+ return fNext();});},function(){return fCallback(null,tmpMeadow);});return tmpMeadow;}// Just assign the object
4940
+ tmpMeadow.provider.bindObject(pParameters.Data);if(typeof fCallback==='function'){fCallback(null,tmpMeadow);}return tmpMeadow;};var tmpNewProvider={setSchema:setSchema,marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,constructFromObject:constructFromObject,bindObject:bindObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:{},providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{"async/eachSeries":19}],227:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4716
4941
  /**
4717
4942
  * @license MIT
4718
4943
  * @author <steven@velozo.com>
@@ -4748,7 +4973,7 @@ var tmpUpdateDoc=replaceSentinels(JSON.parse(JSON.stringify(tmpOp.update)));var
4748
4973
  var tmpReadTxn=tmpClient.newTxn({readOnly:true});tmpReadTxn.query(tmpOp.queryForUIDs).then(function(pResponse){var tmpData=pResponse.data||{};var tmpNodes=tmpData[tmpOp.queryName]||[];if(tmpNodes.length===0){tmpResult.error=null;tmpResult.value=0;tmpResult.executed=true;return fCallback();}if(tmpOp.operation==='upsert'){// Soft delete: update matching nodes with delete setters
4749
4974
  var tmpUpdateDoc=replaceSentinels(JSON.parse(JSON.stringify(tmpOp.update)));var tmpMutations=[];for(var i=0;i<tmpNodes.length;i++){var tmpSetDoc=JSON.parse(JSON.stringify(tmpUpdateDoc));tmpSetDoc.uid=tmpNodes[i].uid;tmpMutations.push(tmpSetDoc);}var tmpWriteTxn=tmpClient.newTxn();tmpWriteTxn.mutate({setJson:tmpMutations}).then(function(){return tmpWriteTxn.commit();}).then(function(){tmpResult.error=null;tmpResult.value=tmpNodes.length;tmpResult.executed=true;return fCallback();}).catch(function(pError){try{tmpWriteTxn.discard();}catch(e){}tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}else{// Hard delete: delete the nodes
4750
4975
  var tmpDeleteDocs=[];for(var j=0;j<tmpNodes.length;j++){tmpDeleteDocs.push({uid:tmpNodes[j].uid});}var tmpWriteTxn=tmpClient.newTxn();tmpWriteTxn.mutate({deleteJson:tmpDeleteDocs}).then(function(){return tmpWriteTxn.commit();}).then(function(){tmpResult.error=null;tmpResult.value=tmpNodes.length;tmpResult.executed=true;return fCallback();}).catch(function(pError){try{tmpWriteTxn.discard();}catch(e){}tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});};var Undelete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('DGraph').buildUndeleteQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpClient=getClient();if(!tmpClient){tmpResult.error=new Error('No DGraph connection available.');tmpResult.executed=true;return fCallback();}var tmpOp=pQuery.query.parameters.dgraphOperation;if(!tmpOp||tmpOp.operation==='noop'){tmpResult.error=null;tmpResult.value=0;tmpResult.executed=true;return fCallback();}// Query for matching UIDs
4751
- var tmpReadTxn=tmpClient.newTxn({readOnly:true});tmpReadTxn.query(tmpOp.queryForUIDs).then(function(pResponse){var tmpData=pResponse.data||{};var tmpNodes=tmpData[tmpOp.queryName]||[];if(tmpNodes.length===0){tmpResult.error=null;tmpResult.value=0;tmpResult.executed=true;return fCallback();}var tmpUpdateDoc=replaceSentinels(JSON.parse(JSON.stringify(tmpOp.update)));var tmpMutations=[];for(var i=0;i<tmpNodes.length;i++){var tmpSetDoc=JSON.parse(JSON.stringify(tmpUpdateDoc));tmpSetDoc.uid=tmpNodes[i].uid;tmpMutations.push(tmpSetDoc);}var tmpWriteTxn=tmpClient.newTxn();tmpWriteTxn.mutate({setJson:tmpMutations}).then(function(){return tmpWriteTxn.commit();}).then(function(){tmpResult.error=null;tmpResult.value=tmpNodes.length;tmpResult.executed=true;return fCallback();}).catch(function(pError){try{tmpWriteTxn.discard();}catch(e){}tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});};var Count=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('DGraph').buildCountQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpClient=getClient();if(!tmpClient){tmpResult.error=new Error('No DGraph connection available.');tmpResult.executed=true;return fCallback();}var tmpOp=pQuery.query.parameters.dgraphOperation;var tmpTxn=tmpClient.newTxn({readOnly:true});tmpTxn.query(tmpOp.query).then(function(pResponse){var tmpData=pResponse.data||{};var tmpResults=tmpData[tmpOp.queryName]||[];tmpResult.error=null;if(tmpResults.length>0&&typeof tmpResults[0].total!=='undefined'){tmpResult.value=tmpResults[0].total;}else{tmpResult.value=0;}tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],227:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4976
+ var tmpReadTxn=tmpClient.newTxn({readOnly:true});tmpReadTxn.query(tmpOp.queryForUIDs).then(function(pResponse){var tmpData=pResponse.data||{};var tmpNodes=tmpData[tmpOp.queryName]||[];if(tmpNodes.length===0){tmpResult.error=null;tmpResult.value=0;tmpResult.executed=true;return fCallback();}var tmpUpdateDoc=replaceSentinels(JSON.parse(JSON.stringify(tmpOp.update)));var tmpMutations=[];for(var i=0;i<tmpNodes.length;i++){var tmpSetDoc=JSON.parse(JSON.stringify(tmpUpdateDoc));tmpSetDoc.uid=tmpNodes[i].uid;tmpMutations.push(tmpSetDoc);}var tmpWriteTxn=tmpClient.newTxn();tmpWriteTxn.mutate({setJson:tmpMutations}).then(function(){return tmpWriteTxn.commit();}).then(function(){tmpResult.error=null;tmpResult.value=tmpNodes.length;tmpResult.executed=true;return fCallback();}).catch(function(pError){try{tmpWriteTxn.discard();}catch(e){}tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});};var Count=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('DGraph').buildCountQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpClient=getClient();if(!tmpClient){tmpResult.error=new Error('No DGraph connection available.');tmpResult.executed=true;return fCallback();}var tmpOp=pQuery.query.parameters.dgraphOperation;var tmpTxn=tmpClient.newTxn({readOnly:true});tmpTxn.query(tmpOp.query).then(function(pResponse){var tmpData=pResponse.data||{};var tmpResults=tmpData[tmpOp.queryName]||[];tmpResult.error=null;if(tmpResults.length>0&&typeof tmpResults[0].total!=='undefined'){tmpResult.value=tmpResults[0].total;}else{tmpResult.value=0;}tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],228:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4752
4977
  /**
4753
4978
  * @license MIT
4754
4979
  * @author <steven@velozo.com>
@@ -4789,12 +5014,35 @@ tmpResult.error=pPreparedExecutionError;tmpResult.value=false;try{tmpResult.valu
4789
5014
  tmpPreparedStatement.unprepare(pPreparedStatementUnprepareError=>{if(pPreparedStatementUnprepareError){_Fable.log.error(`UNDELETE Error unpreparing prepared statement: ${pPreparedStatementUnprepareError}`,pPreparedStatementUnprepareError);}//_Fable.log.info(`Prepared statement returned...`, pPreparedResult);
4790
5015
  tmpResult.error=pPreparedExecutionError;tmpResult.value=false;try{tmpResult.value=pPreparedResult.rowsAffected[0];}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during undelete query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});});});};var Count=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('MSSQL').buildCountQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}let tmpPreparedStatement=getPreparedStatementFromQuery(pQuery);tmpPreparedStatement.prepare(pQuery.query.body,pPrepareError=>{if(pPrepareError){_Fable.log.error(`COUNT Error preparing prepared statement: ${pPrepareError}`,pPrepareError);tmpResult.error=pPrepareError;tmpResult.executed=true;return fCallback();}tmpPreparedStatement.execute(pQuery.query.parameters,(pPreparedExecutionError,pPreparedResult)=>{// release the connection after queries are executed
4791
5016
  tmpPreparedStatement.unprepare(pPreparedStatementUnprepareError=>{if(pPreparedStatementUnprepareError){_Fable.log.error(`COUNT Error unpreparing prepared statement: ${pPreparedStatementUnprepareError}`,pPreparedStatementUnprepareError);}//_Fable.log.info(`Prepared statement returned...`, pPreparedResult);
4792
- tmpResult.error=pPreparedExecutionError;tmpResult.value=false;try{tmpResult.value=pPreparedResult.recordset[0].Row_Count;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});});});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],228:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
5017
+ tmpResult.error=pPreparedExecutionError;tmpResult.value=false;try{tmpResult.value=pPreparedResult.recordset[0].Row_Count;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});});});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],229:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4793
5018
  /**
4794
5019
  * @license MIT
4795
5020
  * @author <steven@velozo.com>
4796
5021
  */var libSimpleGet=require('simple-get');var MeadowProvider=function(){function createNew(pFable){// If a valid Fable object isn't passed in, return a constructor
4797
- if(typeof pFable!=='object'){return{new:createNew};}var _Fable=pFable;var _GlobalLogLevel=0;var _Dialect='MeadowEndpoints';var _Headers={};var _Cookies=[];var _EndpointSettings=_Fable.settings.hasOwnProperty('MeadowEndpoints')?JSON.parse(JSON.stringify(_Fable.settings.MeadowEndpoints)):{ServerProtocol:'http',ServerAddress:'127.0.0.1',ServerPort:'8086',ServerEndpointPrefix:'1.0/'};var buildURL=function(pAddress){return`${_EndpointSettings.ServerProtocol}://${_EndpointSettings.ServerAddress}:${_EndpointSettings.ServerPort}/${_EndpointSettings.ServerEndpointPrefix}${pAddress}`;};var buildRequestOptions=function(pQuery){if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.records);}let tmpURL=buildURL(pQuery.query.body);let tmpRequestOptions={url:tmpURL,headers:_Fable.Utility.extend({cookie:''},_Headers)};tmpRequestOptions.headers.cookie=_Cookies.join(';');if(pQuery.logLevel>0||_GlobalLogLevel>0)_Fable.log.debug(`Request options built...`,tmpRequestOptions);return tmpRequestOptions;};// The Meadow marshaller also passes in the Schema as the third parameter, but this is a blunt function ATM.
5022
+ if(typeof pFable!=='object'){return{new:createNew};}var _Fable=pFable;var _GlobalLogLevel=0;var _Dialect='MeadowEndpoints';// Static fallback configuration used when no live connection instance
5023
+ // is bound (standalone DAL usage). Settings are STATIC boot config:
5024
+ // host/port/prefix only, never session state.
5025
+ var _StaticEndpointSettings=_Fable.settings.hasOwnProperty('MeadowEndpoints')?JSON.parse(JSON.stringify(_Fable.settings.MeadowEndpoints)):{ServerProtocol:'http',ServerAddress:'127.0.0.1',ServerPort:'8086',ServerEndpointPrefix:'1.0/'};// Instance-driven configuration (preferred) — the same convention the
5026
+ // SQL providers use (e.g. _Fable.MeadowMySQLProvider): the DAL's fable
5027
+ // carries the live connection instance, which OWNS both the connection
5028
+ // parameters and the session state (headers/cookies). Reading it per
5029
+ // request means post-connect authentication and later cookie rotation
5030
+ // always apply to the requests this provider makes.
5031
+ var getConnectionInstance=function(){return typeof _Fable.MeadowMeadowEndpointsProvider==='object'&&_Fable.MeadowMeadowEndpointsProvider!==null?_Fable.MeadowMeadowEndpointsProvider:null;};var getEndpointSettings=function(){let tmpInstance=getConnectionInstance();if(tmpInstance&&typeof tmpInstance.settings==='object'&&tmpInstance.settings!==null){return tmpInstance.settings;}return _StaticEndpointSettings;};var buildURL=function(pAddress){let tmpEndpointSettings=getEndpointSettings();let tmpURL=`${tmpEndpointSettings.ServerProtocol}://${tmpEndpointSettings.ServerAddress}:${tmpEndpointSettings.ServerPort}/${tmpEndpointSettings.ServerEndpointPrefix}${pAddress}`;// e.g. 'skipDecoration=true' — lets machine-to-machine connections
5032
+ // opt out of per-row presentation decoration the remote applies.
5033
+ if(typeof tmpEndpointSettings.AdditionalQueryString==='string'&&tmpEndpointSettings.AdditionalQueryString.length>0){tmpURL+=tmpURL.indexOf('?')>=0?`&${tmpEndpointSettings.AdditionalQueryString}`:`?${tmpEndpointSettings.AdditionalQueryString}`;}return tmpURL;};var buildRequestOptions=function(pQuery){if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.records);}let tmpURL=buildURL(pQuery.query.body);let tmpInstance=getConnectionInstance();let tmpHeaders=tmpInstance&&typeof tmpInstance.headers==='object'&&tmpInstance.headers!==null?tmpInstance.headers:{};let tmpCookies=tmpInstance&&Array.isArray(tmpInstance.cookies)?tmpInstance.cookies:[];// Explicit timeout: Node 20+ installs a ~5s socket timeout on
5034
+ // http.globalAgent; an explicit request timeout takes that default
5035
+ // out of play (same workaround as fable's RestClient). Configurable
5036
+ // per connection (settings.RequestTimeout) for slow decorated reads.
5037
+ let tmpEndpointSettings=getEndpointSettings();let tmpRequestTimeout=typeof tmpEndpointSettings.RequestTimeout==='number'?tmpEndpointSettings.RequestTimeout:60000;let tmpRequestOptions={url:tmpURL,headers:_Fable.Utility.extend({cookie:''},tmpHeaders),timeout:tmpRequestTimeout};// Per-request session override: when an operation carries a caller
5038
+ // session (a forwarded identity — e.g. a databeacon proxying a
5039
+ // user's request, or a cron run impersonating a RunAs user), present
5040
+ // THAT session upstream instead of the connection's bound machine
5041
+ // session, so the remote enforces row-level auth as the real caller.
5042
+ // The override rides the per-operation query (concurrency-safe — it
5043
+ // never touches the connection's shared cookie state). Absent or a
5044
+ // default placeholder session falls back to the bound cookies.
5045
+ let tmpSessionOverride=pQuery&&pQuery.query&&pQuery.query.parameters?pQuery.query.parameters.MeadowEndpointsSessionOverride:null;if(tmpSessionOverride&&typeof tmpSessionOverride.SessionID==='string'&&tmpSessionOverride.SessionID.length>0&&tmpSessionOverride.SessionID!=='0x0000'){let tmpCookieName=tmpEndpointSettings.Authentication&&tmpEndpointSettings.Authentication.CookieName?tmpEndpointSettings.Authentication.CookieName:tmpEndpointSettings.SessionCookieName||'UserSession';tmpRequestOptions.headers.cookie=`${tmpCookieName}=${tmpSessionOverride.SessionID}`;}else{tmpRequestOptions.headers.cookie=tmpCookies.join(';');}if(pQuery.logLevel>0||_GlobalLogLevel>0)_Fable.log.debug(`Request options built...`,tmpRequestOptions);return tmpRequestOptions;};// The Meadow marshaller also passes in the Schema as the third parameter, but this is a blunt function ATM.
4798
5046
  var marshalRecordFromSourceToObject=function(pObject,pRecord){for(var tmpColumn in pRecord){pObject[tmpColumn]=pRecord[tmpColumn];}};var Create=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect(_Dialect).buildCreateQuery();let tmpRequestOptions=buildRequestOptions(pQuery);// TODO: Should this test for exactly one?
4799
5047
  if(!pQuery.query.records.length>0){tmpResult.error='No records passed for proxying to Meadow-Endpoints.';return fCallback();}tmpRequestOptions.body=pQuery.query.records[0];tmpRequestOptions.json=true;libSimpleGet.post(tmpRequestOptions,(pError,pResponse)=>{tmpResult.error=pError;tmpResult.executed=true;if(pQuery.logLevel>0||_GlobalLogLevel>0)_Fable.log.debug(`--> POST request connected`);if(pError){return fCallback(tmpResult);}let tmpData='';pResponse.on('data',pChunk=>{if(pQuery.logLevel>0||_GlobalLogLevel>0)_Fable.log.debug(`--> POST data chunk size ${pChunk.length}b received`);tmpData+=pChunk;});pResponse.on('end',()=>{if(tmpData){try{tmpResult.value=JSON.parse(tmpData);}catch(pParseError){tmpResult.error=new Error(`Failed to parse Create response as JSON: ${pParseError.message}`);return fCallback();}}// TODO Because this was proxied, read happens at this layer too. Inefficient -- fixable
4800
5048
  const tmpIdentityColumn=`ID${pQuery.parameters.scope}`;if(tmpResult.value&&tmpResult.value.hasOwnProperty(tmpIdentityColumn)){tmpResult.value=tmpResult.value[tmpIdentityColumn];}if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.debug(`==> POST completed data size ${tmpData.length}b received`,tmpResult);}return fCallback();});});};// This is a synchronous read, good for a few records.
@@ -4806,7 +5054,7 @@ if(!pQuery.query.records.length>0){tmpResult.error='No records passed for proxyi
4806
5054
  // an object). The subsequent Read step uses the existing
4807
5055
  // filters to re-read the updated record.
4808
5056
  if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.debug(`==> PUT completed data size ${tmpData.length}b received`,tmpResult);}return fCallback();});});};var Delete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect(_Dialect).buildDeleteQuery();let tmpRequestOptions=buildRequestOptions(pQuery);libSimpleGet.delete(tmpRequestOptions,(pError,pResponse)=>{tmpResult.error=pError;tmpResult.executed=true;if(pQuery.logLevel>0||_GlobalLogLevel>0)_Fable.log.debug(`--> DEL request connected`);if(pError){return fCallback(tmpResult);}let tmpData='';pResponse.on('data',pChunk=>{if(pQuery.logLevel>0||_GlobalLogLevel>0)_Fable.log.debug(`--> DEL data chunk size ${pChunk.length}b received`);tmpData+=pChunk;});pResponse.on('end',()=>{if(tmpData){try{tmpResult.value=JSON.parse(tmpData);}catch(pParseError){tmpResult.error=new Error(`Failed to parse Delete response as JSON: ${pParseError.message}`);return fCallback();}}if(tmpResult.value&&tmpResult.value.hasOwnProperty('Count')){tmpResult.value=tmpResult.value.Count;}if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.debug(`==> DEL completed data size ${tmpData.length}b received`,tmpResult);}fCallback();});});};var Count=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect(_Dialect).buildCountQuery();let tmpRequestOptions=buildRequestOptions(pQuery);libSimpleGet.get(tmpRequestOptions,(pError,pResponse)=>{tmpResult.error=pError;tmpResult.executed=true;if(pQuery.logLevel>0||_GlobalLogLevel>0)_Fable.log.debug(`--> GET request connected`);if(pError){return fCallback(tmpResult);}let tmpData='';pResponse.on('data',pChunk=>{if(pQuery.logLevel>0||_GlobalLogLevel>0)_Fable.log.debug(`--> GET data chunk size ${pChunk.length}b received`);tmpData+=pChunk;});pResponse.on('end',()=>{if(tmpData){try{tmpResult.value=JSON.parse(tmpData);}catch(pParseError){tmpResult.error=new Error(`Failed to parse Count response as JSON: ${pParseError.message}`);return fCallback();}}try{tmpResult.value=tmpResult.value.Count;}catch(pErrorGettingRowcount){// This is an error state...
4809
- tmpResult.value=-1;_Fable.log.warn('Error getting rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.debug(`==> GET completed data size ${tmpData.length}b received`,tmpResult);}fCallback();});});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Count:Count,getProvider:{},providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{"simple-get":307}],229:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
5057
+ tmpResult.value=-1;_Fable.log.warn('Error getting rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.debug(`==> GET completed data size ${tmpData.length}b received`,tmpResult);}fCallback();});});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Count:Count,getProvider:{},providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{"simple-get":309}],230:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4810
5058
  /**
4811
5059
  * @license MIT
4812
5060
  * @author <steven@velozo.com>
@@ -4833,7 +5081,7 @@ var tmpAutoIncrementColumn=false;for(var tmpKey in tmpDocument){if(tmpDocument[t
4833
5081
  getNextSequence(tmpDB,tmpOp.collection,tmpAutoIncrementColumn,function(pSeqError,pSeqValue){if(pSeqError){tmpResult.error=pSeqError;tmpResult.value=false;tmpResult.executed=true;return fCallback();}tmpDocument[tmpAutoIncrementColumn]=pSeqValue;tmpCollection.insertOne(tmpDocument).then(function(pInsertResult){tmpResult.error=null;tmpResult.value=pSeqValue;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});});}else{tmpCollection.insertOne(tmpDocument).then(function(pInsertResult){tmpResult.error=null;tmpResult.value=pInsertResult.insertedId;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}};var Read=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('MongoDB').buildReadQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No MongoDB connection available.');tmpResult.executed=true;return fCallback();}var tmpOp=pQuery.query.parameters.mongoOperation;var tmpCollection=tmpDB.collection(tmpOp.collection);var tmpOptions={};if(tmpOp.projection&&Object.keys(tmpOp.projection).length>0){tmpOptions.projection=tmpOp.projection;}if(tmpOp.sort&&Object.keys(tmpOp.sort).length>0){tmpOptions.sort=tmpOp.sort;}if(tmpOp.skip){tmpOptions.skip=tmpOp.skip;}if(tmpOp.limit){tmpOptions.limit=tmpOp.limit;}tmpCollection.find(tmpOp.filter,tmpOptions).toArray().then(function(pDocs){tmpResult.error=null;tmpResult.value=pDocs;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});};var Update=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('MongoDB').buildUpdateQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No MongoDB connection available.');tmpResult.executed=true;return fCallback();}var tmpOp=pQuery.query.parameters.mongoOperation;if(!tmpOp){tmpResult.error=new Error('No MongoDB operation generated.');tmpResult.executed=true;return fCallback();}var tmpCollection=tmpDB.collection(tmpOp.collection);var tmpUpdate=replaceSentinels(JSON.parse(JSON.stringify(tmpOp.update)));tmpCollection.updateMany(tmpOp.filter,tmpUpdate).then(function(pUpdateResult){tmpResult.error=null;tmpResult.value=pUpdateResult;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});};var Delete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('MongoDB').buildDeleteQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No MongoDB connection available.');tmpResult.executed=true;return fCallback();}var tmpOp=pQuery.query.parameters.mongoOperation;var tmpCollection=tmpDB.collection(tmpOp.collection);if(tmpOp.operation==='updateMany'){// Soft delete
4834
5082
  var tmpUpdate=replaceSentinels(JSON.parse(JSON.stringify(tmpOp.update)));tmpCollection.updateMany(tmpOp.filter,tmpUpdate).then(function(pUpdateResult){tmpResult.error=null;tmpResult.value=pUpdateResult.modifiedCount;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}else{// Hard delete
4835
5083
  tmpCollection.deleteMany(tmpOp.filter).then(function(pDeleteResult){tmpResult.error=null;tmpResult.value=pDeleteResult.deletedCount;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}};var Undelete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('MongoDB').buildUndeleteQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No MongoDB connection available.');tmpResult.executed=true;return fCallback();}var tmpOp=pQuery.query.parameters.mongoOperation;if(!tmpOp||tmpOp.operation==='noop'){tmpResult.error=null;tmpResult.value=0;tmpResult.executed=true;return fCallback();}var tmpCollection=tmpDB.collection(tmpOp.collection);var tmpUpdate=replaceSentinels(JSON.parse(JSON.stringify(tmpOp.update)));tmpCollection.updateMany(tmpOp.filter,tmpUpdate).then(function(pUpdateResult){tmpResult.error=null;tmpResult.value=pUpdateResult.modifiedCount;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});};var Count=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('MongoDB').buildCountQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No MongoDB connection available.');tmpResult.executed=true;return fCallback();}var tmpOp=pQuery.query.parameters.mongoOperation;var tmpCollection=tmpDB.collection(tmpOp.collection);if(tmpOp.distinct&&tmpOp.distinctFields&&tmpOp.distinctFields.length>0){// Use aggregation pipeline for distinct count
4836
- var tmpGroupId={};for(var i=0;i<tmpOp.distinctFields.length;i++){tmpGroupId[tmpOp.distinctFields[i]]='$'+tmpOp.distinctFields[i];}var tmpPipeline=[{$match:tmpOp.filter},{$group:{_id:tmpGroupId}},{$count:'RowCount'}];tmpCollection.aggregate(tmpPipeline).toArray().then(function(pResults){tmpResult.error=null;tmpResult.value=pResults.length>0?pResults[0].RowCount:0;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}else{tmpCollection.countDocuments(tmpOp.filter).then(function(pCount){tmpResult.error=null;tmpResult.value=pCount;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],230:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
5084
+ var tmpGroupId={};for(var i=0;i<tmpOp.distinctFields.length;i++){tmpGroupId[tmpOp.distinctFields[i]]='$'+tmpOp.distinctFields[i];}var tmpPipeline=[{$match:tmpOp.filter},{$group:{_id:tmpGroupId}},{$count:'RowCount'}];tmpCollection.aggregate(tmpPipeline).toArray().then(function(pResults){tmpResult.error=null;tmpResult.value=pResults.length>0?pResults[0].RowCount:0;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}else{tmpCollection.countDocuments(tmpOp.filter).then(function(pCount){tmpResult.error=null;tmpResult.value=pCount;tmpResult.executed=true;return fCallback();}).catch(function(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;return fCallback();});}};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],231:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4837
5085
  /**
4838
5086
  * @license MIT
4839
5087
  * @author <steven@velozo.com>
@@ -4859,7 +5107,7 @@ function(pError,pRows){pDBConnection.release();tmpResult.error=pError;tmpResult.
4859
5107
  function(pError,pRows){pDBConnection.release();tmpResult.error=pError;tmpResult.value=pRows;tmpResult.executed=true;return fCallback();});});};var Delete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('MySQL').buildDeleteQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpPool=getSQLPool();if(!tmpPool){tmpResult.error=new Error('No MySQL connection pool available.');tmpResult.executed=true;return fCallback();}tmpPool.getConnection(function(pError,pDBConnection){if(pError||!pDBConnection){_Fable.log.error('Error getting connection from MySQL pool during delete query: '+(pError?pError.message:'no connection returned'),{Body:pQuery.query.body});tmpResult.error=pError||new Error('No connection returned from pool.');tmpResult.executed=true;return fCallback();}pDBConnection.query(pQuery.query.body,pQuery.query.parameters,// The MySQL library also returns the Fields as the third parameter
4860
5108
  function(pError,pRows){pDBConnection.release();tmpResult.error=pError;tmpResult.value=false;try{tmpResult.value=pRows.affectedRows;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during delete query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});});};var Undelete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('MySQL').buildUndeleteQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpPool=getSQLPool();if(!tmpPool){tmpResult.error=new Error('No MySQL connection pool available.');tmpResult.executed=true;return fCallback();}tmpPool.getConnection(function(pError,pDBConnection){if(pError||!pDBConnection){_Fable.log.error('Error getting connection from MySQL pool during undelete query: '+(pError?pError.message:'no connection returned'),{Body:pQuery.query.body});tmpResult.error=pError||new Error('No connection returned from pool.');tmpResult.executed=true;return fCallback();}pDBConnection.query(pQuery.query.body,pQuery.query.parameters,// The MySQL library also returns the Fields as the third parameter
4861
5109
  function(pError,pRows){pDBConnection.release();tmpResult.error=pError;tmpResult.value=false;try{tmpResult.value=pRows.affectedRows;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during delete query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});});};var Count=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('MySQL').buildCountQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpPool=getSQLPool();if(!tmpPool){tmpResult.error=new Error('No MySQL connection pool available.');tmpResult.executed=true;return fCallback();}tmpPool.getConnection(function(pError,pDBConnection){if(pError||!pDBConnection){_Fable.log.error('Error getting connection from MySQL pool during count query: '+(pError?pError.message:'no connection returned'),{Body:pQuery.query.body});tmpResult.error=pError||new Error('No connection returned from pool.');tmpResult.executed=true;return fCallback();}pDBConnection.query(pQuery.query.body,pQuery.query.parameters,// The MySQL library also returns the Fields as the third parameter
4862
- function(pError,pRows){pDBConnection.release();tmpResult.executed=true;tmpResult.error=pError;tmpResult.value=false;try{tmpResult.value=pRows[0].RowCount;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}return fCallback();});});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],231:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
5110
+ function(pError,pRows){pDBConnection.release();tmpResult.executed=true;tmpResult.error=pError;tmpResult.value=false;try{tmpResult.value=pRows[0].RowCount;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}return fCallback();});});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],232:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4863
5111
  /**
4864
5112
  * @license MIT
4865
5113
  * @author <steven@velozo.com>
@@ -4875,7 +5123,46 @@ pQuery.parameters.result.executed=true;pQuery.parameters.result.value=[true];fCa
4875
5123
  pQuery.parameters.result.executed=true;fCallback();};var Delete=function(pQuery,fCallback){// This does nothing because it's the none data provider!
4876
5124
  pQuery.parameters.result.executed=true;fCallback();};var Undelete=function(pQuery,fCallback){// This does nothing because it's the none data provider!
4877
5125
  pQuery.parameters.result.executed=true;fCallback();};var Count=function(pQuery,fCallback){// This does nothing because it's the none data provider!
4878
- pQuery.parameters.result.executed=true;fCallback();};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:{},providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],232:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
5126
+ pQuery.parameters.result.executed=true;fCallback();};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:{},providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],233:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
5127
+ /**
5128
+ * @license MIT
5129
+ * @author <steven@velozo.com>
5130
+ */var MeadowProvider=function(){function createNew(pFable){// If a valid Fable object isn't passed in, return a constructor
5131
+ if(typeof pFable!=='object'){return{new:createNew};}var _Fable=pFable;var _GlobalLogLevel=0;if(_Fable.settings.Oracle){_GlobalLogLevel=_Fable.settings.Oracle.GlobalLogLevel||0;}/**
5132
+ * Resolve the connection provider (set up by meadow-connection-oracle
5133
+ * and registered on Fable as MeadowOracleProvider).
5134
+ */var getProvider=function(){if(typeof _Fable.MeadowOracleProvider=='object'&&_Fable.MeadowOracleProvider.connected){return _Fable.MeadowOracleProvider;}return false;};/**
5135
+ * Propagate Oracle dialect flags (legacyPagination, quoteIdentifiers)
5136
+ * from configuration onto the FoxHound query parameters so the dialect
5137
+ * emits the right SQL. Honors both fable.settings.Oracle and the live
5138
+ * connection provider's resolved options.
5139
+ */var applyOracleParameters=function(pQuery){if(_Fable.settings.Oracle){if(_Fable.settings.Oracle.LegacyPagination)pQuery.parameters.legacyPagination=true;if(_Fable.settings.Oracle.QuoteIdentifiers)pQuery.parameters.quoteIdentifiers=true;}var tmpProvider=typeof _Fable.MeadowOracleProvider=='object'?_Fable.MeadowOracleProvider:false;if(tmpProvider&&tmpProvider.options&&tmpProvider.options.Oracle){if(tmpProvider.options.Oracle.LegacyPagination)pQuery.parameters.legacyPagination=true;if(tmpProvider.options.Oracle.QuoteIdentifiers)pQuery.parameters.quoteIdentifiers=true;}};/**
5140
+ * Find the AutoIdentity column on the query's schema, if any. Used to
5141
+ * register the RETURNING out-bind and read back the generated key.
5142
+ */var findAutoIdentityColumn=function(pQuery){var tmpSchema=Array.isArray(pQuery.query.schema)?pQuery.query.schema:[];for(var i=0;i<tmpSchema.length;i++){if(tmpSchema[i].Type==='AutoIdentity'){return tmpSchema[i].Column;}}return false;};/**
5143
+ * Translate the dialect's string parameterTypes into an oracledb bind
5144
+ * object. oracledb infers scalar types from JS values, so we only need
5145
+ * to be explicit for CLOB (large Text/JSON, which would otherwise error
5146
+ * or truncate) and for the RETURNING out-bind.
5147
+ */var buildBinds=function(pQuery,pOracleDB,pIncludeReturning){var tmpBinds={};var tmpParameters=pQuery.query.parameters||{};var tmpParameterTypes=pQuery.query.parameterTypes||{};for(var tmpName in tmpParameters){if(tmpParameterTypes[tmpName]==='CLOB'){tmpBinds[tmpName]={val:tmpParameters[tmpName],type:pOracleDB.CLOB};}else{tmpBinds[tmpName]=tmpParameters[tmpName];}}if(pIncludeReturning){tmpBinds.RETURNING_ID={dir:pOracleDB.BIND_OUT,type:pOracleDB.NUMBER};}return tmpBinds;};/**
5148
+ * Acquire a pooled connection, run a statement with autoCommit, and
5149
+ * always release the connection.
5150
+ */var executeStatement=function(pSQL,pBinds,fCallback){var tmpProvider=getProvider();if(!tmpProvider){return fCallback(new Error('Meadow Oracle provider is not connected.'));}var libOracleDB=tmpProvider.oracledb;tmpProvider.getConnection(function(pConnectionError,pConnection){if(pConnectionError){return fCallback(pConnectionError);}pConnection.execute(pSQL,pBinds,{autoCommit:true,outFormat:libOracleDB.OUT_FORMAT_OBJECT}).then(function(pResult){pConnection.close().then(function(){return fCallback(null,pResult);}).catch(function(){return fCallback(null,pResult);});}).catch(function(pError){pConnection.close().then(function(){return fCallback(pError);}).catch(function(){return fCallback(pError);});});});};// The Meadow marshaller passes in the Schema as the third parameter for
5151
+ // JSON/JSONProxy deserialization and (for Oracle) for remapping the
5152
+ // data-dictionary's UPPERCASE column keys back to the schema's casing.
5153
+ var marshalRecordFromSourceToObject=function(pObject,pRecord,pSchema){var tmpJsonColumns={};var tmpProxyColumns={};// Map UPPER(columnName) -> canonical column name so unquoted-mode
5154
+ // rows (which come back uppercased) resolve to the schema casing.
5155
+ // In quoteIdentifiers mode names already match — the lookup is a no-op.
5156
+ var tmpColumnNameByUpper={};if(Array.isArray(pSchema)){for(var s=0;s<pSchema.length;s++){if(pSchema[s].Column){tmpColumnNameByUpper[pSchema[s].Column.toUpperCase()]=pSchema[s].Column;}if(pSchema[s].Type==='JSON'){tmpJsonColumns[pSchema[s].Column]=true;}else if(pSchema[s].Type==='JSONProxy'&&pSchema[s].StorageColumn){tmpProxyColumns[pSchema[s].StorageColumn]=pSchema[s].Column;tmpColumnNameByUpper[pSchema[s].StorageColumn.toUpperCase()]=pSchema[s].StorageColumn;}}}for(var tmpRawColumn in pRecord){var tmpColumn=tmpColumnNameByUpper[tmpRawColumn.toUpperCase()]||tmpRawColumn;if(tmpJsonColumns[tmpColumn]){try{pObject[tmpColumn]=typeof pRecord[tmpRawColumn]==='string'?JSON.parse(pRecord[tmpRawColumn]):pRecord[tmpRawColumn]||{};}catch(pParseError){pObject[tmpColumn]={};}}else if(tmpProxyColumns.hasOwnProperty(tmpColumn)){var tmpVirtualColumn=tmpProxyColumns[tmpColumn];try{pObject[tmpVirtualColumn]=typeof pRecord[tmpRawColumn]==='string'?JSON.parse(pRecord[tmpRawColumn]):pRecord[tmpRawColumn]||{};}catch(pParseError){pObject[tmpVirtualColumn]={};}// Do NOT copy the storage column to the output object
5157
+ }else{pObject[tmpColumn]=pRecord[tmpRawColumn];}}};var Create=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;applyOracleParameters(pQuery);pQuery.setDialect('Oracle').buildCreateQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpProvider=getProvider();if(!tmpProvider){tmpResult.error=new Error('Meadow Oracle provider is not connected.');tmpResult.executed=true;return fCallback();}// The dialect appends RETURNING <ID> INTO :RETURNING_ID when there
5158
+ // is an AutoIdentity column and auto-identity is not disabled.
5159
+ var tmpHasReturning=!pQuery.query.disableAutoIdentity&&findAutoIdentityColumn(pQuery)!==false;var tmpBinds=buildBinds(pQuery,tmpProvider.oracledb,tmpHasReturning);executeStatement(pQuery.query.body,tmpBinds,function(pError,pDBResult){tmpResult.error=pError;tmpResult.value=false;try{if(!pError&&pDBResult&&pDBResult.outBinds&&Array.isArray(pDBResult.outBinds.RETURNING_ID)&&pDBResult.outBinds.RETURNING_ID.length>0){tmpResult.value=pDBResult.outBinds.RETURNING_ID[0];}}catch(pErrorGettingID){_Fable.log.warn('Error getting insert ID during create query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});};var Read=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;applyOracleParameters(pQuery);pQuery.setDialect('Oracle').buildReadQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpProvider=getProvider();if(!tmpProvider){tmpResult.error=new Error('Meadow Oracle provider is not connected.');tmpResult.value=[];tmpResult.executed=true;return fCallback();}var tmpBinds=buildBinds(pQuery,tmpProvider.oracledb,false);executeStatement(pQuery.query.body,tmpBinds,function(pError,pDBResult){tmpResult.error=pError;tmpResult.value=pDBResult&&pDBResult.rows?pDBResult.rows:[];tmpResult.executed=true;return fCallback();});};var Update=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;applyOracleParameters(pQuery);pQuery.setDialect('Oracle').buildUpdateQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpProvider=getProvider();if(!tmpProvider){tmpResult.error=new Error('Meadow Oracle provider is not connected.');tmpResult.executed=true;return fCallback();}var tmpBinds=buildBinds(pQuery,tmpProvider.oracledb,false);executeStatement(pQuery.query.body,tmpBinds,function(pError,pDBResult){tmpResult.error=pError;// The Meadow Update behavior requires result.value to be an
5160
+ // object; oracledb's UPDATE result has no rows array (no
5161
+ // RETURNING), so mirror the PostgreSQL provider and expose an
5162
+ // (empty) array. The post-update Read supplies the record.
5163
+ tmpResult.value=pDBResult&&pDBResult.rows?pDBResult.rows:[];tmpResult.executed=true;return fCallback();});};var Delete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;applyOracleParameters(pQuery);pQuery.setDialect('Oracle').buildDeleteQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpProvider=getProvider();if(!tmpProvider){tmpResult.error=new Error('Meadow Oracle provider is not connected.');tmpResult.executed=true;return fCallback();}var tmpBinds=buildBinds(pQuery,tmpProvider.oracledb,false);executeStatement(pQuery.query.body,tmpBinds,function(pError,pDBResult){tmpResult.error=pError;tmpResult.value=false;try{tmpResult.value=pDBResult?pDBResult.rowsAffected:0;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during delete query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});};var Undelete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;applyOracleParameters(pQuery);pQuery.setDialect('Oracle').buildUndeleteQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpProvider=getProvider();if(!tmpProvider){tmpResult.error=new Error('Meadow Oracle provider is not connected.');tmpResult.executed=true;return fCallback();}var tmpBinds=buildBinds(pQuery,tmpProvider.oracledb,false);executeStatement(pQuery.query.body,tmpBinds,function(pError,pDBResult){tmpResult.error=pError;tmpResult.value=false;try{tmpResult.value=pDBResult?pDBResult.rowsAffected:0;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during undelete query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});};var Count=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;applyOracleParameters(pQuery);pQuery.setDialect('Oracle').buildCountQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpProvider=getProvider();if(!tmpProvider){tmpResult.error=new Error('Meadow Oracle provider is not connected.');tmpResult.executed=true;return fCallback();}var tmpBinds=buildBinds(pQuery,tmpProvider.oracledb,false);executeStatement(pQuery.query.body,tmpBinds,function(pError,pDBResult){tmpResult.executed=true;tmpResult.error=pError;tmpResult.value=false;try{// The COUNT column alias casing depends on quoting mode, so
5164
+ // read the first (only) column of the first row by position.
5165
+ var tmpRow=pDBResult.rows[0];var tmpKey=Object.keys(tmpRow)[0];tmpResult.value=parseInt(tmpRow[tmpKey],10);}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}return fCallback();});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],234:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4879
5166
  /**
4880
5167
  * @license MIT
4881
5168
  * @author <steven@velozo.com>
@@ -4906,7 +5193,7 @@ var tmpVirtualColumn=tmpProxyColumns[tmpColumn];try{pObject[tmpVirtualColumn]=ty
4906
5193
  if(pDBResult&&pDBResult.rows&&pDBResult.rows.length>0){var tmpSchema=Array.isArray(pQuery.query.schema)?pQuery.query.schema:[];var tmpIDColumn=false;for(var i=0;i<tmpSchema.length;i++){if(tmpSchema[i].Type==='AutoIdentity'){tmpIDColumn=tmpSchema[i].Column;break;}}if(tmpIDColumn&&pDBResult.rows[0].hasOwnProperty(tmpIDColumn)){tmpResult.value=pDBResult.rows[0][tmpIDColumn];}else{// Fall back to the first column of the first row
4907
5194
  var tmpFirstKey=Object.keys(pDBResult.rows[0])[0];tmpResult.value=pDBResult.rows[0][tmpFirstKey];}}}catch(pErrorGettingID){_Fable.log.warn('Error getting insert ID during create query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});};// This is a synchronous read, good for a few records.
4908
5195
  var Read=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('PostgreSQL').buildReadQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpConverted=convertNamedToPositional(pQuery.query.body,pQuery.query.parameters);getSQLPool().query(tmpConverted.text,tmpConverted.values,function(pError,pDBResult){tmpResult.error=pError;tmpResult.value=pDBResult?pDBResult.rows:[];tmpResult.executed=true;return fCallback();});};var Update=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('PostgreSQL').buildUpdateQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpConverted=convertNamedToPositional(pQuery.query.body,pQuery.query.parameters);getSQLPool().query(tmpConverted.text,tmpConverted.values,function(pError,pDBResult){tmpResult.error=pError;tmpResult.value=pDBResult?pDBResult.rows:[];tmpResult.executed=true;return fCallback();});};var Delete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('PostgreSQL').buildDeleteQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpConverted=convertNamedToPositional(pQuery.query.body,pQuery.query.parameters);getSQLPool().query(tmpConverted.text,tmpConverted.values,function(pError,pDBResult){tmpResult.error=pError;tmpResult.value=false;try{tmpResult.value=pDBResult?pDBResult.rowCount:0;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during delete query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});};var Undelete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('PostgreSQL').buildUndeleteQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpConverted=convertNamedToPositional(pQuery.query.body,pQuery.query.parameters);getSQLPool().query(tmpConverted.text,tmpConverted.values,function(pError,pDBResult){tmpResult.error=pError;tmpResult.value=false;try{tmpResult.value=pDBResult?pDBResult.rowCount:0;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during undelete query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}tmpResult.executed=true;return fCallback();});};var Count=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('PostgreSQL').buildCountQuery();if(pQuery.logLevel>0||_GlobalLogLevel>0){_Fable.log.trace(pQuery.query.body,pQuery.query.parameters);}var tmpConverted=convertNamedToPositional(pQuery.query.body,pQuery.query.parameters);getSQLPool().query(tmpConverted.text,tmpConverted.values,function(pError,pDBResult){tmpResult.executed=true;tmpResult.error=pError;tmpResult.value=false;try{// PostgreSQL COUNT(*) returns bigint, which the pg library delivers as a string
4909
- tmpResult.value=parseInt(pDBResult.rows[0].rowcount,10);}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}return fCallback();});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],233:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
5196
+ tmpResult.value=parseInt(pDBResult.rows[0].rowcount,10);}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}return fCallback();});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],235:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4910
5197
  /**
4911
5198
  * Meadow provider that relays CRUD operations to a remote retold-databeacon
4912
5199
  * agent through an Ultravisor mesh. Structurally parallel to the
@@ -4933,7 +5220,7 @@ var tmpIdentityColumn=`ID${pQuery.parameters.scope}`;if(tmpResult.value&&tmpResu
4933
5220
  // so downstream Meadow-Read.js behavior gets the shape it expects.
4934
5221
  if(pQuery.query.body&&pQuery.query.body.startsWith(`${pQuery.parameters.scope}/`)){if(tmpResult.value!==undefined&&tmpResult.value!==null){tmpResult.value=[tmpResult.value];}}return fCallback();});};var Update=function(pQuery,fCallback){pQuery.setDialect(_Dialect).buildUpdateQuery();if(!pQuery.query.records||pQuery.query.records.length===0){pQuery.parameters.result.error='No records passed for proxying to Retold-DataBeacon.';return fCallback();}dispatch(pQuery,'PUT',function(){// Meadow Update waterfall's typeof check expects an object.
4935
5222
  // Leave tmpResult.value as-is.
4936
- return fCallback();});};var Delete=function(pQuery,fCallback){pQuery.setDialect(_Dialect).buildDeleteQuery();dispatch(pQuery,'DELETE',function(){var tmpResult=pQuery.parameters.result;if(tmpResult.value&&tmpResult.value.hasOwnProperty('Count')){tmpResult.value=tmpResult.value.Count;}return fCallback();});};var Count=function(pQuery,fCallback){pQuery.setDialect(_Dialect).buildCountQuery();dispatch(pQuery,'GET',function(){var tmpResult=pQuery.parameters.result;try{tmpResult.value=tmpResult.value.Count;}catch(pErrorGettingRowCount){tmpResult.value=-1;_Fable.log.warn('MeadowProviderRetoldDataBeacon: error getting rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}return fCallback();});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Count:Count,getProvider:{},providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],234:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
5223
+ return fCallback();});};var Delete=function(pQuery,fCallback){pQuery.setDialect(_Dialect).buildDeleteQuery();dispatch(pQuery,'DELETE',function(){var tmpResult=pQuery.parameters.result;if(tmpResult.value&&tmpResult.value.hasOwnProperty('Count')){tmpResult.value=tmpResult.value.Count;}return fCallback();});};var Count=function(pQuery,fCallback){pQuery.setDialect(_Dialect).buildCountQuery();dispatch(pQuery,'GET',function(){var tmpResult=pQuery.parameters.result;try{tmpResult.value=tmpResult.value.Count;}catch(pErrorGettingRowCount){tmpResult.value=-1;_Fable.log.warn('MeadowProviderRetoldDataBeacon: error getting rowcount during count query',{Body:pQuery.query.body,Parameters:pQuery.query.parameters});}return fCallback();});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Count:Count,getProvider:{},providerCreatesSupported:false,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],236:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
4937
5224
  /**
4938
5225
  * @license MIT
4939
5226
  * @author <steven@velozo.com>
@@ -5062,7 +5349,7 @@ var tmpFilterArray=buildFilterArray(pQuery,true);readMatchingRecords(tmpDB,_Scop
5062
5349
  readMatchingRecords(tmpDB,_Scope,tmpFilterArray,false,false,false,function(pReadError,pRecords){if(pReadError){tmpResult.error=pReadError;tmpResult.value=false;tmpResult.executed=true;return fCallback();}tmpResult.error=null;tmpResult.value=pRecords.length;tmpResult.executed=true;return fCallback();});};// ============================================================
5063
5350
  // Provider Export
5064
5351
  // ============================================================
5065
- var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,setSchema:setSchema,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],235:[function(require,module,exports){/**
5352
+ var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,setSchema:setSchema,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],237:[function(require,module,exports){/**
5066
5353
  * Meadow Provider - SQLite (via better-sqlite3)
5067
5354
  *
5068
5355
  * @license MIT
@@ -5095,12 +5382,58 @@ return pQueryBody.replace(/NOW\(\d*\)/g,"datetime('now')");};/**
5095
5382
  */var coerceParameters=function(pParams){if(typeof pParams!=='object'||pParams===null){return pParams;}var tmpKeys=Object.keys(pParams);for(var i=0;i<tmpKeys.length;i++){var tmpValue=pParams[tmpKeys[i]];if(Array.isArray(tmpValue)){// SQLite (better-sqlite3) cannot bind arrays.
5096
5383
  // For single-element arrays (e.g. from FBL~Field~LT~10),
5097
5384
  // unwrap to the scalar value.
5098
- if(tmpValue.length===1){pParams[tmpKeys[i]]=tmpValue[0];}}else if(typeof tmpValue==='boolean'){pParams[tmpKeys[i]]=tmpValue?1:0;}else if(typeof tmpValue==='undefined'){pParams[tmpKeys[i]]=null;}}return pParams;};// The Meadow marshaller passes in the Schema as the third parameter for JSON/JSONProxy deserialization.
5385
+ if(tmpValue.length===1){pParams[tmpKeys[i]]=tmpValue[0];}}else if(typeof tmpValue==='boolean'){pParams[tmpKeys[i]]=tmpValue?1:0;}else if(typeof tmpValue==='undefined'){pParams[tmpKeys[i]]=null;}}return pParams;};/**
5386
+ * Filter a named-parameters object down to only those keys whose
5387
+ * `:name` form appears in the SQL body.
5388
+ *
5389
+ * node:sqlite is strict about unknown named parameters — passing
5390
+ * a key the prepared statement doesn't reference throws
5391
+ * `Unknown named parameter '<name>'`. better-sqlite3 was lenient
5392
+ * about extras, so this regressed silently when
5393
+ * meadow-connection-sqlite switched to node:sqlite. It matters
5394
+ * whenever Meadow.rawQueries.loadQuery installs an override SQL
5395
+ * whose placeholders are a strict subset of meadow's auto-
5396
+ * generated params (filter columns, soft-delete tracking,
5397
+ * AutoGUID conflict-check), but the filter is cheap and applied
5398
+ * uniformly — also protects any future case where the auto-built
5399
+ * SQL and the params dict drift apart.
5400
+ *
5401
+ * Approach mirrors `convertNamedToPositional` in the PostgreSQL
5402
+ * provider: walk the SQL with /:([A-Za-z_][A-Za-z0-9_]*)/g, keep
5403
+ * names that exist in the params dict, leave the literal alone
5404
+ * otherwise (handles `::typecast`-style sequences without
5405
+ * tripping). Over-matches inside string literals are harmless
5406
+ * because we only ever *keep* params — never invent them.
5407
+ */var filterUsedNamedParams=function(pQueryBody,pNamedParams){if(typeof pNamedParams!=='object'||pNamedParams===null){return pNamedParams;}if(typeof pQueryBody!=='string'){return pNamedParams;}var tmpUsed={};var tmpPattern=/:([A-Za-z_][A-Za-z0-9_]*)/g;var tmpMatch;while((tmpMatch=tmpPattern.exec(pQueryBody))!==null){var tmpName=tmpMatch[1];if(Object.prototype.hasOwnProperty.call(pNamedParams,tmpName)){tmpUsed[tmpName]=pNamedParams[tmpName];}}return tmpUsed;};// The Meadow marshaller passes in the Schema as the third parameter for JSON/JSONProxy deserialization.
5099
5408
  var marshalRecordFromSourceToObject=function(pObject,pRecord,pSchema){// Build lookups for JSON columns (only if schema is provided)
5100
5409
  var tmpJsonColumns={};var tmpProxyColumns={};if(Array.isArray(pSchema)){for(var s=0;s<pSchema.length;s++){if(pSchema[s].Type==='JSON'){tmpJsonColumns[pSchema[s].Column]=true;}else if(pSchema[s].Type==='JSONProxy'&&pSchema[s].StorageColumn){tmpProxyColumns[pSchema[s].StorageColumn]=pSchema[s].Column;}}}for(var tmpColumn in pRecord){if(tmpJsonColumns[tmpColumn]){// JSON type: parse string from DB into object on the same column name
5101
5410
  try{pObject[tmpColumn]=typeof pRecord[tmpColumn]==='string'?JSON.parse(pRecord[tmpColumn]):pRecord[tmpColumn]||{};}catch(pParseError){pObject[tmpColumn]={};}}else if(tmpProxyColumns.hasOwnProperty(tmpColumn)){// JSONProxy: storage column -> parse and assign to virtual column name
5102
5411
  var tmpVirtualColumn=tmpProxyColumns[tmpColumn];try{pObject[tmpVirtualColumn]=typeof pRecord[tmpColumn]==='string'?JSON.parse(pRecord[tmpColumn]):pRecord[tmpColumn]||{};}catch(pParseError){pObject[tmpVirtualColumn]={};}// Do NOT copy the storage column to the output object
5103
- }else{pObject[tmpColumn]=pRecord[tmpColumn];}}};var Create=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildCreateQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpInfo=tmpStatement.run(pQuery.query.parameters);tmpResult.error=null;tmpResult.value=false;try{tmpResult.value=Number(tmpInfo.lastInsertRowid);}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting insert ID during create query',{Body:tmpQueryBody,Parameters:pQuery.query.parameters});}tmpResult.executed=true;}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var Read=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildReadQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpRows=tmpStatement.all(pQuery.query.parameters);tmpResult.error=null;tmpResult.value=tmpRows;tmpResult.executed=true;}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var Update=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildUpdateQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpInfo=tmpStatement.run(pQuery.query.parameters);tmpResult.error=null;tmpResult.value=tmpInfo;tmpResult.executed=true;}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var Delete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildDeleteQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpInfo=tmpStatement.run(pQuery.query.parameters);tmpResult.error=null;tmpResult.value=false;try{tmpResult.value=tmpInfo.changes;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during delete query',{Body:tmpQueryBody,Parameters:pQuery.query.parameters});}tmpResult.executed=true;}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var Undelete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildUndeleteQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpInfo=tmpStatement.run(pQuery.query.parameters);tmpResult.error=null;tmpResult.value=false;try{tmpResult.value=tmpInfo.changes;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during undelete query',{Body:tmpQueryBody,Parameters:pQuery.query.parameters});}tmpResult.executed=true;}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var Count=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildCountQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpRows=tmpStatement.all(pQuery.query.parameters);tmpResult.executed=true;tmpResult.error=null;tmpResult.value=false;try{tmpResult.value=tmpRows[0].RowCount;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting rowcount during count query',{Body:tmpQueryBody,Parameters:pQuery.query.parameters});}}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],236:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
5412
+ }else{pObject[tmpColumn]=pRecord[tmpColumn];}}};var Create=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildCreateQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);// Filter to keys actually referenced as :name in the SQL
5413
+ // node:sqlite is strict about unknown named parameters, and
5414
+ // meadow auto-generates filter/Deleted/AutoGUID params that
5415
+ // a rawQueries override may not reference.
5416
+ var tmpBindParams=filterUsedNamedParams(tmpQueryBody,pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpInfo=tmpStatement.run(tmpBindParams);tmpResult.error=null;tmpResult.value=false;try{tmpResult.value=Number(tmpInfo.lastInsertRowid);}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting insert ID during create query',{Body:tmpQueryBody,Parameters:pQuery.query.parameters});}tmpResult.executed=true;}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var Read=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildReadQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);// Filter to keys actually referenced as :name in the SQL —
5417
+ // node:sqlite is strict about unknown named parameters, and
5418
+ // meadow auto-generates filter/Deleted/AutoGUID params that
5419
+ // a rawQueries override may not reference.
5420
+ var tmpBindParams=filterUsedNamedParams(tmpQueryBody,pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpRows=tmpStatement.all(tmpBindParams);tmpResult.error=null;tmpResult.value=tmpRows;tmpResult.executed=true;}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var Update=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildUpdateQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);// Filter to keys actually referenced as :name in the SQL —
5421
+ // node:sqlite is strict about unknown named parameters, and
5422
+ // meadow auto-generates filter/Deleted/AutoGUID params that
5423
+ // a rawQueries override may not reference.
5424
+ var tmpBindParams=filterUsedNamedParams(tmpQueryBody,pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpInfo=tmpStatement.run(tmpBindParams);tmpResult.error=null;tmpResult.value=tmpInfo;tmpResult.executed=true;}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var Delete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildDeleteQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);// Filter to keys actually referenced as :name in the SQL —
5425
+ // node:sqlite is strict about unknown named parameters, and
5426
+ // meadow auto-generates filter/Deleted/AutoGUID params that
5427
+ // a rawQueries override may not reference.
5428
+ var tmpBindParams=filterUsedNamedParams(tmpQueryBody,pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpInfo=tmpStatement.run(tmpBindParams);tmpResult.error=null;tmpResult.value=false;try{tmpResult.value=tmpInfo.changes;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during delete query',{Body:tmpQueryBody,Parameters:pQuery.query.parameters});}tmpResult.executed=true;}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var Undelete=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildUndeleteQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);// Filter to keys actually referenced as :name in the SQL —
5429
+ // node:sqlite is strict about unknown named parameters, and
5430
+ // meadow auto-generates filter/Deleted/AutoGUID params that
5431
+ // a rawQueries override may not reference.
5432
+ var tmpBindParams=filterUsedNamedParams(tmpQueryBody,pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpInfo=tmpStatement.run(tmpBindParams);tmpResult.error=null;tmpResult.value=false;try{tmpResult.value=tmpInfo.changes;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting affected rowcount during undelete query',{Body:tmpQueryBody,Parameters:pQuery.query.parameters});}tmpResult.executed=true;}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var Count=function(pQuery,fCallback){var tmpResult=pQuery.parameters.result;pQuery.setDialect('SQLite').buildCountQuery();var tmpQueryBody=fixDateFunctions(pQuery.query.body);coerceParameters(pQuery.query.parameters);// Filter to keys actually referenced as :name in the SQL —
5433
+ // node:sqlite is strict about unknown named parameters, and
5434
+ // meadow auto-generates filter/Deleted/AutoGUID params that
5435
+ // a rawQueries override may not reference.
5436
+ var tmpBindParams=filterUsedNamedParams(tmpQueryBody,pQuery.query.parameters);if(pQuery.logLevel>0){_Fable.log.trace(tmpQueryBody,pQuery.query.parameters);}try{var tmpDB=getDB();if(!tmpDB){tmpResult.error=new Error('No SQLite database connection available.');tmpResult.executed=true;return fCallback();}var tmpStatement=tmpDB.prepare(tmpQueryBody);var tmpRows=tmpStatement.all(tmpBindParams);tmpResult.executed=true;tmpResult.error=null;tmpResult.value=false;try{tmpResult.value=tmpRows[0].RowCount;}catch(pErrorGettingRowcount){_Fable.log.warn('Error getting rowcount during count query',{Body:tmpQueryBody,Parameters:pQuery.query.parameters});}}catch(pError){tmpResult.error=pError;tmpResult.value=false;tmpResult.executed=true;}return fCallback();};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],238:[function(require,module,exports){// ##### Part of the **[retold](https://stevenvelozo.github.io/retold/)** system
5104
5437
  /**
5105
5438
  * @license MIT
5106
5439
  * @author <steven@velozo.com>
@@ -5137,12 +5470,12 @@ var tmpSearchQuery=tmpClient.query().q(tmpOp.filterQuery||'*:*').fl('id').rows(1
5137
5470
  // Use JSON facet API for distinct count
5138
5471
  var tmpFacetFields={};for(var i=0;i<tmpOp.distinctFields.length;i++){tmpFacetFields[tmpOp.distinctFields[i]]='$'+tmpOp.distinctFields[i];}// Use group.field for distinct counting
5139
5472
  tmpSearchQuery=tmpSearchQuery.groupBy(tmpOp.distinctFields[0]).groupNGroups(true);}tmpClient.search(tmpSearchQuery,function(pSearchError,pSearchResult){if(pSearchError){tmpResult.error=pSearchError;tmpResult.value=false;tmpResult.executed=true;return fCallback();}tmpResult.error=null;if(tmpOp.distinct&&pSearchResult&&pSearchResult.grouped){// Get ngroups from grouped response
5140
- var tmpGroupKeys=Object.keys(pSearchResult.grouped);if(tmpGroupKeys.length>0){tmpResult.value=pSearchResult.grouped[tmpGroupKeys[0]].ngroups||0;}else{tmpResult.value=0;}}else{tmpResult.value=pSearchResult&&pSearchResult.response?pSearchResult.response.numFound:0;}tmpResult.executed=true;return fCallback();});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],237:[function(require,module,exports){var bn=require('bn.js');var brorand=require('brorand');function MillerRabin(rand){this.rand=rand||new brorand.Rand();}module.exports=MillerRabin;MillerRabin.create=function create(rand){return new MillerRabin(rand);};MillerRabin.prototype._randbelow=function _randbelow(n){var len=n.bitLength();var min_bytes=Math.ceil(len/8);// Generage random bytes until a number less than n is found.
5473
+ var tmpGroupKeys=Object.keys(pSearchResult.grouped);if(tmpGroupKeys.length>0){tmpResult.value=pSearchResult.grouped[tmpGroupKeys[0]].ngroups||0;}else{tmpResult.value=0;}}else{tmpResult.value=pSearchResult&&pSearchResult.response?pSearchResult.response.numFound:0;}tmpResult.executed=true;return fCallback();});};var tmpNewProvider={marshalRecordFromSourceToObject:marshalRecordFromSourceToObject,Create:Create,Read:Read,Update:Update,Delete:Delete,Undelete:Undelete,Count:Count,getProvider:getProvider,providerCreatesSupported:true,new:createNew};return tmpNewProvider;}return createNew();};module.exports=new MeadowProvider();},{}],239:[function(require,module,exports){var bn=require('bn.js');var brorand=require('brorand');function MillerRabin(rand){this.rand=rand||new brorand.Rand();}module.exports=MillerRabin;MillerRabin.create=function create(rand){return new MillerRabin(rand);};MillerRabin.prototype._randbelow=function _randbelow(n){var len=n.bitLength();var min_bytes=Math.ceil(len/8);// Generage random bytes until a number less than n is found.
5141
5474
  // This ensures that 0..n-1 have an equal probability of being selected.
5142
5475
  do var a=new bn(this.rand.generate(min_bytes));while(a.cmp(n)>=0);return a;};MillerRabin.prototype._randrange=function _randrange(start,stop){// Generate a random number greater than or equal to start and less than stop.
5143
5476
  var size=stop.sub(start);return start.add(this._randbelow(size));};MillerRabin.prototype.test=function test(n,k,cb){var len=n.bitLength();var red=bn.mont(n);var rone=new bn(1).toRed(red);if(!k)k=Math.max(1,len/48|0);// Find d and s, (n - 1) = (2 ^ s) * d;
5144
5477
  var n1=n.subn(1);for(var s=0;!n1.testn(s);s++){}var d=n.shrn(s);var rn1=n1.toRed(red);var prime=true;for(;k>0;k--){var a=this._randrange(new bn(2),n1);if(cb)cb(a);var x=a.toRed(red).redPow(d);if(x.cmp(rone)===0||x.cmp(rn1)===0)continue;for(var i=1;i<s;i++){x=x.redSqr();if(x.cmp(rone)===0)return false;if(x.cmp(rn1)===0)break;}if(i===s)return false;}return prime;};MillerRabin.prototype.getDivisor=function getDivisor(n,k){var len=n.bitLength();var red=bn.mont(n);var rone=new bn(1).toRed(red);if(!k)k=Math.max(1,len/48|0);// Find d and s, (n - 1) = (2 ^ s) * d;
5145
- var n1=n.subn(1);for(var s=0;!n1.testn(s);s++){}var d=n.shrn(s);var rn1=n1.toRed(red);for(;k>0;k--){var a=this._randrange(new bn(2),n1);var g=n.gcd(a);if(g.cmpn(1)!==0)return g;var x=a.toRed(red).redPow(d);if(x.cmp(rone)===0||x.cmp(rn1)===0)continue;for(var i=1;i<s;i++){x=x.redSqr();if(x.cmp(rone)===0)return x.fromRed().subn(1).gcd(n);if(x.cmp(rn1)===0)break;}if(i===s){x=x.redSqr();return x.fromRed().subn(1).gcd(n);}}return false;};},{"bn.js":238,"brorand":37}],238:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments);},{"buffer":38,"dup":16}],239:[function(require,module,exports){module.exports=assert;function assert(val,msg){if(!val)throw new Error(msg||'Assertion failed');}assert.equal=function assertEqual(l,r,msg){if(l!=r)throw new Error(msg||'Assertion failed: '+l+' != '+r);};},{}],240:[function(require,module,exports){'use strict';var utils=exports;function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg!=='string'){for(var i=0;i<msg.length;i++)res[i]=msg[i]|0;return res;}if(enc==='hex'){msg=msg.replace(/[^a-z0-9]+/ig,'');if(msg.length%2!==0)msg='0'+msg;for(var i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16));}else{for(var i=0;i<msg.length;i++){var c=msg.charCodeAt(i);var hi=c>>8;var lo=c&0xff;if(hi)res.push(hi,lo);else res.push(lo);}}return res;}utils.toArray=toArray;function zero2(word){if(word.length===1)return'0'+word;else return word;}utils.zero2=zero2;function toHex(msg){var res='';for(var i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res;}utils.toHex=toHex;utils.encode=function encode(arr,enc){if(enc==='hex')return toHex(arr);else return arr;};},{}],241:[function(require,module,exports){(function(global){(function(){var hasMap=typeof Map==='function'&&Map.prototype;var mapSizeDescriptor=Object.getOwnPropertyDescriptor&&hasMap?Object.getOwnPropertyDescriptor(Map.prototype,'size'):null;var mapSize=hasMap&&mapSizeDescriptor&&typeof mapSizeDescriptor.get==='function'?mapSizeDescriptor.get:null;var mapForEach=hasMap&&Map.prototype.forEach;var hasSet=typeof Set==='function'&&Set.prototype;var setSizeDescriptor=Object.getOwnPropertyDescriptor&&hasSet?Object.getOwnPropertyDescriptor(Set.prototype,'size'):null;var setSize=hasSet&&setSizeDescriptor&&typeof setSizeDescriptor.get==='function'?setSizeDescriptor.get:null;var setForEach=hasSet&&Set.prototype.forEach;var hasWeakMap=typeof WeakMap==='function'&&WeakMap.prototype;var weakMapHas=hasWeakMap?WeakMap.prototype.has:null;var hasWeakSet=typeof WeakSet==='function'&&WeakSet.prototype;var weakSetHas=hasWeakSet?WeakSet.prototype.has:null;var hasWeakRef=typeof WeakRef==='function'&&WeakRef.prototype;var weakRefDeref=hasWeakRef?WeakRef.prototype.deref:null;var booleanValueOf=Boolean.prototype.valueOf;var objectToString=Object.prototype.toString;var functionToString=Function.prototype.toString;var $match=String.prototype.match;var $slice=String.prototype.slice;var $replace=String.prototype.replace;var $toUpperCase=String.prototype.toUpperCase;var $toLowerCase=String.prototype.toLowerCase;var $test=RegExp.prototype.test;var $concat=Array.prototype.concat;var $join=Array.prototype.join;var $arrSlice=Array.prototype.slice;var $floor=Math.floor;var bigIntValueOf=typeof BigInt==='function'?BigInt.prototype.valueOf:null;var gOPS=Object.getOwnPropertySymbols;var symToString=typeof Symbol==='function'&&typeof Symbol.iterator==='symbol'?Symbol.prototype.toString:null;var hasShammedSymbols=typeof Symbol==='function'&&typeof Symbol.iterator==='object';// ie, `has-tostringtag/shams
5478
+ var n1=n.subn(1);for(var s=0;!n1.testn(s);s++){}var d=n.shrn(s);var rn1=n1.toRed(red);for(;k>0;k--){var a=this._randrange(new bn(2),n1);var g=n.gcd(a);if(g.cmpn(1)!==0)return g;var x=a.toRed(red).redPow(d);if(x.cmp(rone)===0||x.cmp(rn1)===0)continue;for(var i=1;i<s;i++){x=x.redSqr();if(x.cmp(rone)===0)return x.fromRed().subn(1).gcd(n);if(x.cmp(rn1)===0)break;}if(i===s){x=x.redSqr();return x.fromRed().subn(1).gcd(n);}}return false;};},{"bn.js":240,"brorand":37}],240:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments);},{"buffer":38,"dup":16}],241:[function(require,module,exports){module.exports=assert;function assert(val,msg){if(!val)throw new Error(msg||'Assertion failed');}assert.equal=function assertEqual(l,r,msg){if(l!=r)throw new Error(msg||'Assertion failed: '+l+' != '+r);};},{}],242:[function(require,module,exports){'use strict';var utils=exports;function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg!=='string'){for(var i=0;i<msg.length;i++)res[i]=msg[i]|0;return res;}if(enc==='hex'){msg=msg.replace(/[^a-z0-9]+/ig,'');if(msg.length%2!==0)msg='0'+msg;for(var i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16));}else{for(var i=0;i<msg.length;i++){var c=msg.charCodeAt(i);var hi=c>>8;var lo=c&0xff;if(hi)res.push(hi,lo);else res.push(lo);}}return res;}utils.toArray=toArray;function zero2(word){if(word.length===1)return'0'+word;else return word;}utils.zero2=zero2;function toHex(msg){var res='';for(var i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res;}utils.toHex=toHex;utils.encode=function encode(arr,enc){if(enc==='hex')return toHex(arr);else return arr;};},{}],243:[function(require,module,exports){(function(global){(function(){var hasMap=typeof Map==='function'&&Map.prototype;var mapSizeDescriptor=Object.getOwnPropertyDescriptor&&hasMap?Object.getOwnPropertyDescriptor(Map.prototype,'size'):null;var mapSize=hasMap&&mapSizeDescriptor&&typeof mapSizeDescriptor.get==='function'?mapSizeDescriptor.get:null;var mapForEach=hasMap&&Map.prototype.forEach;var hasSet=typeof Set==='function'&&Set.prototype;var setSizeDescriptor=Object.getOwnPropertyDescriptor&&hasSet?Object.getOwnPropertyDescriptor(Set.prototype,'size'):null;var setSize=hasSet&&setSizeDescriptor&&typeof setSizeDescriptor.get==='function'?setSizeDescriptor.get:null;var setForEach=hasSet&&Set.prototype.forEach;var hasWeakMap=typeof WeakMap==='function'&&WeakMap.prototype;var weakMapHas=hasWeakMap?WeakMap.prototype.has:null;var hasWeakSet=typeof WeakSet==='function'&&WeakSet.prototype;var weakSetHas=hasWeakSet?WeakSet.prototype.has:null;var hasWeakRef=typeof WeakRef==='function'&&WeakRef.prototype;var weakRefDeref=hasWeakRef?WeakRef.prototype.deref:null;var booleanValueOf=Boolean.prototype.valueOf;var objectToString=Object.prototype.toString;var functionToString=Function.prototype.toString;var $match=String.prototype.match;var $slice=String.prototype.slice;var $replace=String.prototype.replace;var $toUpperCase=String.prototype.toUpperCase;var $toLowerCase=String.prototype.toLowerCase;var $test=RegExp.prototype.test;var $concat=Array.prototype.concat;var $join=Array.prototype.join;var $arrSlice=Array.prototype.slice;var $floor=Math.floor;var bigIntValueOf=typeof BigInt==='function'?BigInt.prototype.valueOf:null;var gOPS=Object.getOwnPropertySymbols;var symToString=typeof Symbol==='function'&&typeof Symbol.iterator==='symbol'?Symbol.prototype.toString:null;var hasShammedSymbols=typeof Symbol==='function'&&typeof Symbol.iterator==='object';// ie, `has-tostringtag/shams
5146
5479
  var toStringTag=typeof Symbol==='function'&&Symbol.toStringTag&&(typeof Symbol.toStringTag===hasShammedSymbols?'object':'symbol')?Symbol.toStringTag:null;var isEnumerable=Object.prototype.propertyIsEnumerable;var gPO=(typeof Reflect==='function'?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype// eslint-disable-line no-proto
5147
5480
  ?function(O){return O.__proto__;// eslint-disable-line no-proto
5148
5481
  }:null);function addNumericSeparator(num,str){if(num===Infinity||num===-Infinity||num!==num||num&&num>-1000&&num<1000||$test.call(/e/,str)){return str;}var sepRegex=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof num==='number'){var int=num<0?-$floor(-num):$floor(num);// trunc(num)
@@ -5159,17 +5492,20 @@ if(!has(obj,key)){continue;}// eslint-disable-line no-restricted-syntax, no-cont
5159
5492
  if(isArr&&String(Number(key))===key&&key<obj.length){continue;}// eslint-disable-line no-restricted-syntax, no-continue
5160
5493
  if(hasShammedSymbols&&symMap['$'+key]instanceof Symbol){// this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section
5161
5494
  continue;// eslint-disable-line no-restricted-syntax, no-continue
5162
- }else if($test.call(/[^\w$]/,key)){xs.push(inspect(key,obj)+': '+inspect(obj[key],obj));}else{xs.push(key+': '+inspect(obj[key],obj));}}if(typeof gOPS==='function'){for(var j=0;j<syms.length;j++){if(isEnumerable.call(obj,syms[j])){xs.push('['+inspect(syms[j])+']: '+inspect(obj[syms[j]],obj));}}}return xs;}}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./util.inspect":38}],242:[function(require,module,exports){var wrappy=require('wrappy');module.exports=wrappy(once);module.exports.strict=wrappy(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,'once',{value:function(){return once(this);},configurable:true});Object.defineProperty(Function.prototype,'onceStrict',{value:function(){return onceStrict(this);},configurable:true});});function once(fn){var f=function(){if(f.called)return f.value;f.called=true;return f.value=fn.apply(this,arguments);};f.called=false;return f;}function onceStrict(fn){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=fn.apply(this,arguments);};var name=fn.name||'Function wrapped with `once`';f.onceError=name+" shouldn't be called more than once";f.called=false;return f;}},{"wrappy":356}],243:[function(require,module,exports){module.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"};},{}],244:[function(require,module,exports){// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js
5495
+ }else if($test.call(/[^\w$]/,key)){xs.push(inspect(key,obj)+': '+inspect(obj[key],obj));}else{xs.push(key+': '+inspect(obj[key],obj));}}if(typeof gOPS==='function'){for(var j=0;j<syms.length;j++){if(isEnumerable.call(obj,syms[j])){xs.push('['+inspect(syms[j])+']: '+inspect(obj[syms[j]],obj));}}}return xs;}}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./util.inspect":38}],244:[function(require,module,exports){var wrappy=require('wrappy');module.exports=wrappy(once);module.exports.strict=wrappy(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,'once',{value:function(){return once(this);},configurable:true});Object.defineProperty(Function.prototype,'onceStrict',{value:function(){return onceStrict(this);},configurable:true});});function once(fn){var f=function(){if(f.called)return f.value;f.called=true;return f.value=fn.apply(this,arguments);};f.called=false;return f;}function onceStrict(fn){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=fn.apply(this,arguments);};var name=fn.name||'Function wrapped with `once`';f.onceError=name+" shouldn't be called more than once";f.called=false;return f;}},{"wrappy":358}],245:[function(require,module,exports){module.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"};},{}],246:[function(require,module,exports){// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js
5163
5496
  // Fedor, you are amazing.
5164
- 'use strict';var asn1=require('asn1.js');exports.certificate=require('./certificate');var RSAPrivateKey=asn1.define('RSAPrivateKey',function(){this.seq().obj(this.key('version')['int'](),this.key('modulus')['int'](),this.key('publicExponent')['int'](),this.key('privateExponent')['int'](),this.key('prime1')['int'](),this.key('prime2')['int'](),this.key('exponent1')['int'](),this.key('exponent2')['int'](),this.key('coefficient')['int']());});exports.RSAPrivateKey=RSAPrivateKey;var RSAPublicKey=asn1.define('RSAPublicKey',function(){this.seq().obj(this.key('modulus')['int'](),this.key('publicExponent')['int']());});exports.RSAPublicKey=RSAPublicKey;var AlgorithmIdentifier=asn1.define('AlgorithmIdentifier',function(){this.seq().obj(this.key('algorithm').objid(),this.key('none').null_().optional(),this.key('curve').objid().optional(),this.key('params').seq().obj(this.key('p')['int'](),this.key('q')['int'](),this.key('g')['int']()).optional());});var PublicKey=asn1.define('SubjectPublicKeyInfo',function(){this.seq().obj(this.key('algorithm').use(AlgorithmIdentifier),this.key('subjectPublicKey').bitstr());});exports.PublicKey=PublicKey;var PrivateKeyInfo=asn1.define('PrivateKeyInfo',function(){this.seq().obj(this.key('version')['int'](),this.key('algorithm').use(AlgorithmIdentifier),this.key('subjectPrivateKey').octstr());});exports.PrivateKey=PrivateKeyInfo;var EncryptedPrivateKeyInfo=asn1.define('EncryptedPrivateKeyInfo',function(){this.seq().obj(this.key('algorithm').seq().obj(this.key('id').objid(),this.key('decrypt').seq().obj(this.key('kde').seq().obj(this.key('id').objid(),this.key('kdeparams').seq().obj(this.key('salt').octstr(),this.key('iters')['int']())),this.key('cipher').seq().obj(this.key('algo').objid(),this.key('iv').octstr()))),this.key('subjectPrivateKey').octstr());});exports.EncryptedPrivateKey=EncryptedPrivateKeyInfo;var DSAPrivateKey=asn1.define('DSAPrivateKey',function(){this.seq().obj(this.key('version')['int'](),this.key('p')['int'](),this.key('q')['int'](),this.key('g')['int'](),this.key('pub_key')['int'](),this.key('priv_key')['int']());});exports.DSAPrivateKey=DSAPrivateKey;exports.DSAparam=asn1.define('DSAparam',function(){this['int']();});var ECParameters=asn1.define('ECParameters',function(){this.choice({namedCurve:this.objid()});});var ECPrivateKey=asn1.define('ECPrivateKey',function(){this.seq().obj(this.key('version')['int'](),this.key('privateKey').octstr(),this.key('parameters').optional().explicit(0).use(ECParameters),this.key('publicKey').optional().explicit(1).bitstr());});exports.ECPrivateKey=ECPrivateKey;exports.signature=asn1.define('signature',function(){this.seq().obj(this.key('r')['int'](),this.key('s')['int']());});},{"./certificate":245,"asn1.js":2}],245:[function(require,module,exports){// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js
5497
+ 'use strict';var asn1=require('asn1.js');exports.certificate=require('./certificate');var RSAPrivateKey=asn1.define('RSAPrivateKey',function(){this.seq().obj(this.key('version')['int'](),this.key('modulus')['int'](),this.key('publicExponent')['int'](),this.key('privateExponent')['int'](),this.key('prime1')['int'](),this.key('prime2')['int'](),this.key('exponent1')['int'](),this.key('exponent2')['int'](),this.key('coefficient')['int']());});exports.RSAPrivateKey=RSAPrivateKey;var RSAPublicKey=asn1.define('RSAPublicKey',function(){this.seq().obj(this.key('modulus')['int'](),this.key('publicExponent')['int']());});exports.RSAPublicKey=RSAPublicKey;var AlgorithmIdentifier=asn1.define('AlgorithmIdentifier',function(){this.seq().obj(this.key('algorithm').objid(),this.key('none').null_().optional(),this.key('curve').objid().optional(),this.key('params').seq().obj(this.key('p')['int'](),this.key('q')['int'](),this.key('g')['int']()).optional());});var PublicKey=asn1.define('SubjectPublicKeyInfo',function(){this.seq().obj(this.key('algorithm').use(AlgorithmIdentifier),this.key('subjectPublicKey').bitstr());});exports.PublicKey=PublicKey;var PrivateKeyInfo=asn1.define('PrivateKeyInfo',function(){this.seq().obj(this.key('version')['int'](),this.key('algorithm').use(AlgorithmIdentifier),this.key('subjectPrivateKey').octstr());});exports.PrivateKey=PrivateKeyInfo;var EncryptedPrivateKeyInfo=asn1.define('EncryptedPrivateKeyInfo',function(){this.seq().obj(this.key('algorithm').seq().obj(this.key('id').objid(),this.key('decrypt').seq().obj(this.key('kde').seq().obj(this.key('id').objid(),this.key('kdeparams').seq().obj(this.key('salt').octstr(),this.key('iters')['int']())),this.key('cipher').seq().obj(this.key('algo').objid(),this.key('iv').octstr()))),this.key('subjectPrivateKey').octstr());});exports.EncryptedPrivateKey=EncryptedPrivateKeyInfo;var DSAPrivateKey=asn1.define('DSAPrivateKey',function(){this.seq().obj(this.key('version')['int'](),this.key('p')['int'](),this.key('q')['int'](),this.key('g')['int'](),this.key('pub_key')['int'](),this.key('priv_key')['int']());});exports.DSAPrivateKey=DSAPrivateKey;exports.DSAparam=asn1.define('DSAparam',function(){this['int']();});var ECParameters=asn1.define('ECParameters',function(){this.choice({namedCurve:this.objid()});});var ECPrivateKey=asn1.define('ECPrivateKey',function(){this.seq().obj(this.key('version')['int'](),this.key('privateKey').octstr(),this.key('parameters').optional().explicit(0).use(ECParameters),this.key('publicKey').optional().explicit(1).bitstr());});exports.ECPrivateKey=ECPrivateKey;exports.signature=asn1.define('signature',function(){this.seq().obj(this.key('r')['int'](),this.key('s')['int']());});},{"./certificate":247,"asn1.js":2}],247:[function(require,module,exports){// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js
5165
5498
  // thanks to @Rantanen
5166
- 'use strict';var asn=require('asn1.js');var Time=asn.define('Time',function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()});});var AttributeTypeValue=asn.define('AttributeTypeValue',function(){this.seq().obj(this.key('type').objid(),this.key('value').any());});var AlgorithmIdentifier=asn.define('AlgorithmIdentifier',function(){this.seq().obj(this.key('algorithm').objid(),this.key('parameters').optional(),this.key('curve').objid().optional());});var SubjectPublicKeyInfo=asn.define('SubjectPublicKeyInfo',function(){this.seq().obj(this.key('algorithm').use(AlgorithmIdentifier),this.key('subjectPublicKey').bitstr());});var RelativeDistinguishedName=asn.define('RelativeDistinguishedName',function(){this.setof(AttributeTypeValue);});var RDNSequence=asn.define('RDNSequence',function(){this.seqof(RelativeDistinguishedName);});var Name=asn.define('Name',function(){this.choice({rdnSequence:this.use(RDNSequence)});});var Validity=asn.define('Validity',function(){this.seq().obj(this.key('notBefore').use(Time),this.key('notAfter').use(Time));});var Extension=asn.define('Extension',function(){this.seq().obj(this.key('extnID').objid(),this.key('critical').bool().def(false),this.key('extnValue').octstr());});var TBSCertificate=asn.define('TBSCertificate',function(){this.seq().obj(this.key('version').explicit(0)['int']().optional(),this.key('serialNumber')['int'](),this.key('signature').use(AlgorithmIdentifier),this.key('issuer').use(Name),this.key('validity').use(Validity),this.key('subject').use(Name),this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),this.key('issuerUniqueID').implicit(1).bitstr().optional(),this.key('subjectUniqueID').implicit(2).bitstr().optional(),this.key('extensions').explicit(3).seqof(Extension).optional());});var X509Certificate=asn.define('X509Certificate',function(){this.seq().obj(this.key('tbsCertificate').use(TBSCertificate),this.key('signatureAlgorithm').use(AlgorithmIdentifier),this.key('signatureValue').bitstr());});module.exports=X509Certificate;},{"asn1.js":2}],246:[function(require,module,exports){'use strict';// adapted from https://github.com/apatil/pemstrip
5167
- var findProc=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m;var startRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m;var fullRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m;var evp=require('evp_bytestokey');var ciphers=require('browserify-aes');var Buffer=require('safe-buffer').Buffer;module.exports=function(okey,password){var key=okey.toString();var match=key.match(findProc);var decrypted;if(!match){var match2=key.match(fullRegex);decrypted=Buffer.from(match2[2].replace(/[\r\n]/g,''),'base64');}else{var suite='aes'+match[1];var iv=Buffer.from(match[2],'hex');var cipherText=Buffer.from(match[3].replace(/[\r\n]/g,''),'base64');var cipherKey=evp(password,iv.slice(0,8),parseInt(match[1],10)).key;var out=[];var cipher=ciphers.createDecipheriv(suite,cipherKey,iv);out.push(cipher.update(cipherText));out.push(cipher['final']());decrypted=Buffer.concat(out);}var tag=key.match(startRegex)[1];return{tag:tag,data:decrypted};};},{"browserify-aes":41,"evp_bytestokey":142,"safe-buffer":291}],247:[function(require,module,exports){'use strict';var asn1=require('./asn1');var aesid=require('./aesid.json');var fixProc=require('./fixProc');var ciphers=require('browserify-aes');var pbkdf2Sync=require('pbkdf2').pbkdf2Sync;var Buffer=require('safe-buffer').Buffer;function decrypt(data,password){var salt=data.algorithm.decrypt.kde.kdeparams.salt;var iters=parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(),10);var algo=aesid[data.algorithm.decrypt.cipher.algo.join('.')];var iv=data.algorithm.decrypt.cipher.iv;var cipherText=data.subjectPrivateKey;var keylen=parseInt(algo.split('-')[1],10)/8;var key=pbkdf2Sync(password,salt,iters,keylen,'sha1');var cipher=ciphers.createDecipheriv(algo,key,iv);var out=[];out.push(cipher.update(cipherText));out.push(cipher['final']());return Buffer.concat(out);}function parseKeys(buffer){var password;if(typeof buffer==='object'&&!Buffer.isBuffer(buffer)){password=buffer.passphrase;buffer=buffer.key;}if(typeof buffer==='string'){buffer=Buffer.from(buffer);}var stripped=fixProc(buffer,password);var type=stripped.tag;var data=stripped.data;var subtype,ndata;switch(type){case'CERTIFICATE':ndata=asn1.certificate.decode(data,'der').tbsCertificate.subjectPublicKeyInfo;// falls through
5499
+ 'use strict';var asn=require('asn1.js');var Time=asn.define('Time',function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()});});var AttributeTypeValue=asn.define('AttributeTypeValue',function(){this.seq().obj(this.key('type').objid(),this.key('value').any());});var AlgorithmIdentifier=asn.define('AlgorithmIdentifier',function(){this.seq().obj(this.key('algorithm').objid(),this.key('parameters').optional(),this.key('curve').objid().optional());});var SubjectPublicKeyInfo=asn.define('SubjectPublicKeyInfo',function(){this.seq().obj(this.key('algorithm').use(AlgorithmIdentifier),this.key('subjectPublicKey').bitstr());});var RelativeDistinguishedName=asn.define('RelativeDistinguishedName',function(){this.setof(AttributeTypeValue);});var RDNSequence=asn.define('RDNSequence',function(){this.seqof(RelativeDistinguishedName);});var Name=asn.define('Name',function(){this.choice({rdnSequence:this.use(RDNSequence)});});var Validity=asn.define('Validity',function(){this.seq().obj(this.key('notBefore').use(Time),this.key('notAfter').use(Time));});var Extension=asn.define('Extension',function(){this.seq().obj(this.key('extnID').objid(),this.key('critical').bool().def(false),this.key('extnValue').octstr());});var TBSCertificate=asn.define('TBSCertificate',function(){this.seq().obj(this.key('version').explicit(0)['int']().optional(),this.key('serialNumber')['int'](),this.key('signature').use(AlgorithmIdentifier),this.key('issuer').use(Name),this.key('validity').use(Validity),this.key('subject').use(Name),this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),this.key('issuerUniqueID').implicit(1).bitstr().optional(),this.key('subjectUniqueID').implicit(2).bitstr().optional(),this.key('extensions').explicit(3).seqof(Extension).optional());});var X509Certificate=asn.define('X509Certificate',function(){this.seq().obj(this.key('tbsCertificate').use(TBSCertificate),this.key('signatureAlgorithm').use(AlgorithmIdentifier),this.key('signatureValue').bitstr());});module.exports=X509Certificate;},{"asn1.js":2}],248:[function(require,module,exports){'use strict';// adapted from https://github.com/apatil/pemstrip
5500
+ var findProc=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m;var startRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m;var fullRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m;var evp=require('evp_bytestokey');var ciphers=require('browserify-aes');var Buffer=require('safe-buffer').Buffer;module.exports=function(okey,password){var key=okey.toString();var match=key.match(findProc);var decrypted;if(!match){var match2=key.match(fullRegex);decrypted=Buffer.from(match2[2].replace(/[\r\n]/g,''),'base64');}else{var suite='aes'+match[1];var iv=Buffer.from(match[2],'hex');var cipherText=Buffer.from(match[3].replace(/[\r\n]/g,''),'base64');var cipherKey=evp(password,iv.slice(0,8),parseInt(match[1],10)).key;var out=[];var cipher=ciphers.createDecipheriv(suite,cipherKey,iv);out.push(cipher.update(cipherText));out.push(cipher['final']());decrypted=Buffer.concat(out);}var tag=key.match(startRegex)[1];return{tag:tag,data:decrypted};};},{"browserify-aes":41,"evp_bytestokey":142,"safe-buffer":293}],249:[function(require,module,exports){'use strict';var asn1=require('./asn1');var aesid=require('./aesid.json');var fixProc=require('./fixProc');var ciphers=require('browserify-aes');var pbkdf2Sync=require('pbkdf2').pbkdf2Sync;var Buffer=require('safe-buffer').Buffer;function decrypt(data,password){var salt=data.algorithm.decrypt.kde.kdeparams.salt;var iters=parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(),10);var algo=aesid[data.algorithm.decrypt.cipher.algo.join('.')];var iv=data.algorithm.decrypt.cipher.iv;var cipherText=data.subjectPrivateKey;var keylen=parseInt(algo.split('-')[1],10)/8;var key=pbkdf2Sync(password,salt,iters,keylen,'sha1');var cipher=ciphers.createDecipheriv(algo,key,iv);var out=[];out.push(cipher.update(cipherText));out.push(cipher['final']());return Buffer.concat(out);}function parseKeys(buffer){var password;if(typeof buffer==='object'&&!Buffer.isBuffer(buffer)){password=buffer.passphrase;buffer=buffer.key;}if(typeof buffer==='string'){buffer=Buffer.from(buffer);}var stripped=fixProc(buffer,password);var type=stripped.tag;var data=stripped.data;var subtype,ndata;switch(type){case'CERTIFICATE':ndata=asn1.certificate.decode(data,'der').tbsCertificate.subjectPublicKeyInfo;// falls through
5168
5501
  case'PUBLIC KEY':if(!ndata){ndata=asn1.PublicKey.decode(data,'der');}subtype=ndata.algorithm.algorithm.join('.');switch(subtype){case'1.2.840.113549.1.1.1':return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data,'der');case'1.2.840.10045.2.1':ndata.subjectPrivateKey=ndata.subjectPublicKey;return{type:'ec',data:ndata};case'1.2.840.10040.4.1':ndata.algorithm.params.pub_key=asn1.DSAparam.decode(ndata.subjectPublicKey.data,'der');return{type:'dsa',data:ndata.algorithm.params};default:throw new Error('unknown key id '+subtype);}// throw new Error('unknown key type ' + type)
5169
5502
  case'ENCRYPTED PRIVATE KEY':data=asn1.EncryptedPrivateKey.decode(data,'der');data=decrypt(data,password);// falls through
5170
5503
  case'PRIVATE KEY':ndata=asn1.PrivateKey.decode(data,'der');subtype=ndata.algorithm.algorithm.join('.');switch(subtype){case'1.2.840.113549.1.1.1':return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey,'der');case'1.2.840.10045.2.1':return{curve:ndata.algorithm.curve,privateKey:asn1.ECPrivateKey.decode(ndata.subjectPrivateKey,'der').privateKey};case'1.2.840.10040.4.1':ndata.algorithm.params.priv_key=asn1.DSAparam.decode(ndata.subjectPrivateKey,'der');return{type:'dsa',params:ndata.algorithm.params};default:throw new Error('unknown key id '+subtype);}// throw new Error('unknown key type ' + type)
5171
- case'RSA PUBLIC KEY':return asn1.RSAPublicKey.decode(data,'der');case'RSA PRIVATE KEY':return asn1.RSAPrivateKey.decode(data,'der');case'DSA PRIVATE KEY':return{type:'dsa',params:asn1.DSAPrivateKey.decode(data,'der')};case'EC PRIVATE KEY':data=asn1.ECPrivateKey.decode(data,'der');return{curve:data.parameters.value,privateKey:data.privateKey};default:throw new Error('unknown key type '+type);}}parseKeys.signature=asn1.signature;module.exports=parseKeys;},{"./aesid.json":243,"./asn1":244,"./fixProc":246,"browserify-aes":41,"pbkdf2":248,"safe-buffer":291}],248:[function(require,module,exports){'use strict';exports.pbkdf2=require('./lib/async');exports.pbkdf2Sync=require('./lib/sync');},{"./lib/async":249,"./lib/sync":252}],249:[function(require,module,exports){(function(global){(function(){'use strict';var Buffer=require('safe-buffer').Buffer;var checkParameters=require('./precondition');var defaultEncoding=require('./default-encoding');var sync=require('./sync');var toBuffer=require('./to-buffer');var ZERO_BUF;var subtle=global.crypto&&global.crypto.subtle;var toBrowser={sha:'SHA-1','sha-1':'SHA-1',sha1:'SHA-1',sha256:'SHA-256','sha-256':'SHA-256',sha384:'SHA-384','sha-384':'SHA-384','sha-512':'SHA-512',sha512:'SHA-512'};var checks=[];var nextTick;function getNextTick(){if(nextTick){return nextTick;}if(global.process&&global.process.nextTick){nextTick=global.process.nextTick;}else if(global.queueMicrotask){nextTick=global.queueMicrotask;}else if(global.setImmediate){nextTick=global.setImmediate;}else{nextTick=global.setTimeout;}return nextTick;}function browserPbkdf2(password,salt,iterations,length,algo){return subtle.importKey('raw',password,{name:'PBKDF2'},false,['deriveBits']).then(function(key){return subtle.deriveBits({name:'PBKDF2',salt:salt,iterations:iterations,hash:{name:algo}},key,length<<3);}).then(function(res){return Buffer.from(res);});}function checkNative(algo){if(global.process&&!global.process.browser){return Promise.resolve(false);}if(!subtle||!subtle.importKey||!subtle.deriveBits){return Promise.resolve(false);}if(checks[algo]!==undefined){return checks[algo];}ZERO_BUF=ZERO_BUF||Buffer.alloc(8);var prom=browserPbkdf2(ZERO_BUF,ZERO_BUF,10,128,algo).then(function(){return true;},function(){return false;});checks[algo]=prom;return prom;}function resolvePromise(promise,callback){promise.then(function(out){getNextTick()(function(){callback(null,out);});},function(e){getNextTick()(function(){callback(e);});});}module.exports=function(password,salt,iterations,keylen,digest,callback){if(typeof digest==='function'){callback=digest;digest=undefined;}checkParameters(iterations,keylen);password=toBuffer(password,defaultEncoding,'Password');salt=toBuffer(salt,defaultEncoding,'Salt');if(typeof callback!=='function'){throw new Error('No callback provided to pbkdf2');}digest=digest||'sha1';var algo=toBrowser[digest.toLowerCase()];if(!algo||typeof global.Promise!=='function'){getNextTick()(function(){var out;try{out=sync(password,salt,iterations,keylen,digest);}catch(e){callback(e);return;}callback(null,out);});return;}resolvePromise(checkNative(algo).then(function(resp){if(resp){return browserPbkdf2(password,salt,iterations,keylen,algo);}return sync(password,salt,iterations,keylen,digest);}),callback);};}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./default-encoding":250,"./precondition":251,"./sync":252,"./to-buffer":253,"safe-buffer":291}],250:[function(require,module,exports){(function(process,global){(function(){'use strict';var defaultEncoding;/* istanbul ignore next */if(global.process&&global.process.browser){defaultEncoding='utf-8';}else if(global.process&&global.process.version){var pVersionMajor=parseInt(process.version.split('.')[0].slice(1),10);defaultEncoding=pVersionMajor>=6?'utf-8':'binary';}else{defaultEncoding='utf-8';}module.exports=defaultEncoding;}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"_process":256}],251:[function(require,module,exports){'use strict';var $isFinite=isFinite;var MAX_ALLOC=Math.pow(2,30)-1;// default in iojs
5172
- module.exports=function(iterations,keylen){if(typeof iterations!=='number'){throw new TypeError('Iterations not a number');}if(iterations<0||!$isFinite(iterations)){throw new TypeError('Bad iterations');}if(typeof keylen!=='number'){throw new TypeError('Key length not a number');}if(keylen<0||keylen>MAX_ALLOC||keylen!==keylen){/* eslint no-self-compare: 0 */throw new TypeError('Bad key length');}};},{}],252:[function(require,module,exports){'use strict';var md5=require('create-hash/md5');var RIPEMD160=require('ripemd160');var sha=require('sha.js');var Buffer=require('safe-buffer').Buffer;var checkParameters=require('./precondition');var defaultEncoding=require('./default-encoding');var toBuffer=require('./to-buffer');var ZEROS=Buffer.alloc(128);var sizes={__proto__:null,md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,'sha512-256':32,ripemd160:20,rmd160:20};var mapping={__proto__:null,'sha-1':'sha1','sha-224':'sha224','sha-256':'sha256','sha-384':'sha384','sha-512':'sha512','ripemd-160':'ripemd160'};function rmd160Func(data){return new RIPEMD160().update(data).digest();}function getDigest(alg){function shaFunc(data){return sha(alg).update(data).digest();}if(alg==='rmd160'||alg==='ripemd160'){return rmd160Func;}if(alg==='md5'){return md5;}return shaFunc;}function Hmac(alg,key,saltLen){var hash=getDigest(alg);var blocksize=alg==='sha512'||alg==='sha384'?128:64;if(key.length>blocksize){key=hash(key);}else if(key.length<blocksize){key=Buffer.concat([key,ZEROS],blocksize);}var ipad=Buffer.allocUnsafe(blocksize+sizes[alg]);var opad=Buffer.allocUnsafe(blocksize+sizes[alg]);for(var i=0;i<blocksize;i++){ipad[i]=key[i]^0x36;opad[i]=key[i]^0x5C;}var ipad1=Buffer.allocUnsafe(blocksize+saltLen+4);ipad.copy(ipad1,0,0,blocksize);this.ipad1=ipad1;this.ipad2=ipad;this.opad=opad;this.alg=alg;this.blocksize=blocksize;this.hash=hash;this.size=sizes[alg];}Hmac.prototype.run=function(data,ipad){data.copy(ipad,this.blocksize);var h=this.hash(ipad);h.copy(this.opad,this.blocksize);return this.hash(this.opad);};function pbkdf2(password,salt,iterations,keylen,digest){checkParameters(iterations,keylen);password=toBuffer(password,defaultEncoding,'Password');salt=toBuffer(salt,defaultEncoding,'Salt');var lowerDigest=(digest||'sha1').toLowerCase();var mappedDigest=mapping[lowerDigest]||lowerDigest;var size=sizes[mappedDigest];if(typeof size!=='number'||!size){throw new TypeError('Digest algorithm not supported: '+digest);}var hmac=new Hmac(mappedDigest,password,salt.length);var DK=Buffer.allocUnsafe(keylen);var block1=Buffer.allocUnsafe(salt.length+4);salt.copy(block1,0,0,salt.length);var destPos=0;var hLen=size;var l=Math.ceil(keylen/hLen);for(var i=1;i<=l;i++){block1.writeUInt32BE(i,salt.length);var T=hmac.run(block1,hmac.ipad1);var U=T;for(var j=1;j<iterations;j++){U=hmac.run(U,hmac.ipad2);for(var k=0;k<hLen;k++){T[k]^=U[k];}}T.copy(DK,destPos);destPos+=hLen;}return DK;}module.exports=pbkdf2;},{"./default-encoding":250,"./precondition":251,"./to-buffer":253,"create-hash/md5":98,"ripemd160":275,"safe-buffer":291,"sha.js":295}],253:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var toBuffer=require('to-buffer');var useUint8Array=typeof Uint8Array!=='undefined';var useArrayBuffer=useUint8Array&&typeof ArrayBuffer!=='undefined';var isView=useArrayBuffer&&ArrayBuffer.isView;module.exports=function(thing,encoding,name){if(typeof thing==='string'||Buffer.isBuffer(thing)||useUint8Array&&thing instanceof Uint8Array||isView&&isView(thing)){return toBuffer(thing,encoding);}throw new TypeError(name+' must be a string, a Buffer, a Uint8Array, or a DataView');};},{"safe-buffer":291,"to-buffer":345}],254:[function(require,module,exports){'use strict';/** @type {import('.')} */module.exports=['Float16Array','Float32Array','Float64Array','Int8Array','Int16Array','Int32Array','Uint8Array','Uint8ClampedArray','Uint16Array','Uint32Array','BigInt64Array','BigUint64Array'];},{}],255:[function(require,module,exports){(function(process){(function(){'use strict';if(typeof process==='undefined'||!process.version||process.version.indexOf('v0.')===0||process.version.indexOf('v1.')===0&&process.version.indexOf('v1.8.')!==0){module.exports={nextTick:nextTick};}else{module.exports=process;}function nextTick(fn,arg1,arg2,arg3){if(typeof fn!=='function'){throw new TypeError('"callback" argument must be a function');}var len=arguments.length;var args,i;switch(len){case 0:case 1:return process.nextTick(fn);case 2:return process.nextTick(function afterTickOne(){fn.call(null,arg1);});case 3:return process.nextTick(function afterTickTwo(){fn.call(null,arg1,arg2);});case 4:return process.nextTick(function afterTickThree(){fn.call(null,arg1,arg2,arg3);});default:args=new Array(len-1);i=0;while(i<args.length){args[i++]=arguments[i];}return process.nextTick(function afterTick(){fn.apply(null,args);});}}}).call(this);}).call(this,require('_process'));},{"_process":256}],256:[function(require,module,exports){// shim for using process in browser
5504
+ case'RSA PUBLIC KEY':return asn1.RSAPublicKey.decode(data,'der');case'RSA PRIVATE KEY':return asn1.RSAPrivateKey.decode(data,'der');case'DSA PRIVATE KEY':return{type:'dsa',params:asn1.DSAPrivateKey.decode(data,'der')};case'EC PRIVATE KEY':data=asn1.ECPrivateKey.decode(data,'der');return{curve:data.parameters.value,privateKey:data.privateKey};default:throw new Error('unknown key type '+type);}}parseKeys.signature=asn1.signature;module.exports=parseKeys;},{"./aesid.json":245,"./asn1":246,"./fixProc":248,"browserify-aes":41,"pbkdf2":250,"safe-buffer":293}],250:[function(require,module,exports){'use strict';exports.pbkdf2=require('./lib/async');exports.pbkdf2Sync=require('./lib/sync');},{"./lib/async":251,"./lib/sync":254}],251:[function(require,module,exports){(function(global){(function(){'use strict';var Buffer=require('safe-buffer').Buffer;var checkParameters=require('./precondition');var defaultEncoding=require('./default-encoding');var sync=require('./sync');var toBuffer=require('./to-buffer');var ZERO_BUF;var subtle=global.crypto&&global.crypto.subtle;var toBrowser={sha:'SHA-1','sha-1':'SHA-1',sha1:'SHA-1',sha256:'SHA-256','sha-256':'SHA-256',sha384:'SHA-384','sha-384':'SHA-384','sha-512':'SHA-512',sha512:'SHA-512'};var checks=[];var nextTick;function getNextTick(){if(nextTick){return nextTick;}if(global.process&&global.process.nextTick){nextTick=global.process.nextTick;}else if(global.queueMicrotask){nextTick=global.queueMicrotask;}else if(global.setImmediate){nextTick=global.setImmediate;}else{nextTick=global.setTimeout;}return nextTick;}function browserPbkdf2(password,salt,iterations,length,algo){return subtle.importKey('raw',password,{name:'PBKDF2'},false,['deriveBits']).then(function(key){return subtle.deriveBits({name:'PBKDF2',salt:salt,iterations:iterations,hash:{name:algo}},key,length<<3);}).then(function(res){return Buffer.from(res);});}function checkNative(algo){if(global.process&&!global.process.browser){return Promise.resolve(false);}if(!subtle||!subtle.importKey||!subtle.deriveBits){return Promise.resolve(false);}if(checks[algo]!==undefined){return checks[algo];}ZERO_BUF=ZERO_BUF||Buffer.alloc(8);var prom=browserPbkdf2(ZERO_BUF,ZERO_BUF,10,128,algo).then(function(){return true;},function(){return false;});checks[algo]=prom;return prom;}function resolvePromise(promise,callback){promise.then(function(out){getNextTick()(function(){callback(null,out);});},function(e){getNextTick()(function(){callback(e);});});}module.exports=function(password,salt,iterations,keylen,digest,callback){if(typeof digest==='function'){callback=digest;digest=undefined;}keylen=checkParameters(iterations,keylen);password=toBuffer(password,defaultEncoding,'Password');salt=toBuffer(salt,defaultEncoding,'Salt');if(typeof callback!=='function'){throw new Error('No callback provided to pbkdf2');}digest=digest||'sha1';var algo=toBrowser[digest.toLowerCase()];if(!algo||typeof global.Promise!=='function'){getNextTick()(function(){var out;try{out=sync(password,salt,iterations,keylen,digest);}catch(e){callback(e);return;}callback(null,out);});return;}resolvePromise(checkNative(algo).then(function(resp){if(resp){return browserPbkdf2(password,salt,iterations,keylen,algo);}return sync(password,salt,iterations,keylen,digest);}),callback);};}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./default-encoding":252,"./precondition":253,"./sync":254,"./to-buffer":255,"safe-buffer":293}],252:[function(require,module,exports){(function(process,global){(function(){'use strict';var defaultEncoding;/* istanbul ignore next */if(global.process&&global.process.browser){defaultEncoding='utf-8';}else if(global.process&&global.process.version){var pVersionMajor=parseInt(process.version.split('.')[0].slice(1),10);defaultEncoding=pVersionMajor>=6?'utf-8':'binary';}else{defaultEncoding='utf-8';}module.exports=defaultEncoding;}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"_process":258}],253:[function(require,module,exports){'use strict';var $isFinite=isFinite;var MAX_ALLOC=Math.pow(2,30)-1;// default in iojs
5505
+ module.exports=function(iterations,keylen){if(typeof iterations!=='number'){throw new TypeError('Iterations not a number');}if(iterations<0||!$isFinite(iterations)){throw new TypeError('Bad iterations');}if(typeof keylen!=='number'){throw new TypeError('Key length not a number');}if(keylen<0||keylen>MAX_ALLOC||keylen!==keylen){/* eslint no-self-compare: 0 */throw new TypeError('Bad key length');}// `-0` passes the `keylen < 0` guard above (since `-0 < 0` is `false`), but
5506
+ // the native binding requires a true Int32; `-0` is held as a double and
5507
+ // aborts the process (SIGABRT) on Node.js 15+. Coerce it to `+0`.
5508
+ return keylen+0;};},{}],254:[function(require,module,exports){'use strict';var md5=require('create-hash/md5');var RIPEMD160=require('ripemd160');var sha=require('sha.js');var Buffer=require('safe-buffer').Buffer;var checkParameters=require('./precondition');var defaultEncoding=require('./default-encoding');var toBuffer=require('./to-buffer');var ZEROS=Buffer.alloc(128);var sizes={__proto__:null,md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,'sha512-256':32,ripemd160:20,rmd160:20};var mapping={__proto__:null,'sha-1':'sha1','sha-224':'sha224','sha-256':'sha256','sha-384':'sha384','sha-512':'sha512','ripemd-160':'ripemd160'};function rmd160Func(data){return new RIPEMD160().update(data).digest();}function getDigest(alg){function shaFunc(data){return sha(alg).update(data).digest();}if(alg==='rmd160'||alg==='ripemd160'){return rmd160Func;}if(alg==='md5'){return md5;}return shaFunc;}function Hmac(alg,key,saltLen){var hash=getDigest(alg);var blocksize=alg==='sha512'||alg==='sha384'?128:64;if(key.length>blocksize){key=hash(key);}else if(key.length<blocksize){key=Buffer.concat([key,ZEROS],blocksize);}var ipad=Buffer.allocUnsafe(blocksize+sizes[alg]);var opad=Buffer.allocUnsafe(blocksize+sizes[alg]);for(var i=0;i<blocksize;i++){ipad[i]=key[i]^0x36;opad[i]=key[i]^0x5C;}var ipad1=Buffer.allocUnsafe(blocksize+saltLen+4);ipad.copy(ipad1,0,0,blocksize);this.ipad1=ipad1;this.ipad2=ipad;this.opad=opad;this.alg=alg;this.blocksize=blocksize;this.hash=hash;this.size=sizes[alg];}Hmac.prototype.run=function(data,ipad){data.copy(ipad,this.blocksize);var h=this.hash(ipad);h.copy(this.opad,this.blocksize);return this.hash(this.opad);};function pbkdf2(password,salt,iterations,keylen,digest){keylen=checkParameters(iterations,keylen);password=toBuffer(password,defaultEncoding,'Password');salt=toBuffer(salt,defaultEncoding,'Salt');var lowerDigest=(digest||'sha1').toLowerCase();var mappedDigest=mapping[lowerDigest]||lowerDigest;var size=sizes[mappedDigest];if(typeof size!=='number'||!size){throw new TypeError('Digest algorithm not supported: '+digest);}var hmac=new Hmac(mappedDigest,password,salt.length);var DK=Buffer.allocUnsafe(keylen);var block1=Buffer.allocUnsafe(salt.length+4);salt.copy(block1,0,0,salt.length);var destPos=0;var hLen=size;var l=Math.ceil(keylen/hLen);for(var i=1;i<=l;i++){block1.writeUInt32BE(i,salt.length);var T=hmac.run(block1,hmac.ipad1);var U=T;for(var j=1;j<iterations;j++){U=hmac.run(U,hmac.ipad2);for(var k=0;k<hLen;k++){T[k]^=U[k];}}T.copy(DK,destPos);destPos+=hLen;}return DK;}module.exports=pbkdf2;},{"./default-encoding":252,"./precondition":253,"./to-buffer":255,"create-hash/md5":98,"ripemd160":277,"safe-buffer":293,"sha.js":297}],255:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var toBuffer=require('to-buffer');var useUint8Array=typeof Uint8Array!=='undefined';var useArrayBuffer=useUint8Array&&typeof ArrayBuffer!=='undefined';var isView=useArrayBuffer&&ArrayBuffer.isView;module.exports=function(thing,encoding,name){if(typeof thing==='string'||Buffer.isBuffer(thing)||useUint8Array&&thing instanceof Uint8Array||isView&&isView(thing)){return toBuffer(thing,encoding);}throw new TypeError(name+' must be a string, a Buffer, a Uint8Array, or a DataView');};},{"safe-buffer":293,"to-buffer":347}],256:[function(require,module,exports){'use strict';/** @type {import('.')} */module.exports=['Float16Array','Float32Array','Float64Array','Int8Array','Int16Array','Int32Array','Uint8Array','Uint8ClampedArray','Uint16Array','Uint32Array','BigInt64Array','BigUint64Array'];},{}],257:[function(require,module,exports){(function(process){(function(){'use strict';if(typeof process==='undefined'||!process.version||process.version.indexOf('v0.')===0||process.version.indexOf('v1.')===0&&process.version.indexOf('v1.8.')!==0){module.exports={nextTick:nextTick};}else{module.exports=process;}function nextTick(fn,arg1,arg2,arg3){if(typeof fn!=='function'){throw new TypeError('"callback" argument must be a function');}var len=arguments.length;var args,i;switch(len){case 0:case 1:return process.nextTick(fn);case 2:return process.nextTick(function afterTickOne(){fn.call(null,arg1);});case 3:return process.nextTick(function afterTickTwo(){fn.call(null,arg1,arg2);});case 4:return process.nextTick(function afterTickThree(){fn.call(null,arg1,arg2,arg3);});default:args=new Array(len-1);i=0;while(i<args.length){args[i++]=arguments[i];}return process.nextTick(function afterTick(){fn.apply(null,args);});}}}).call(this);}).call(this,require('_process'));},{"_process":258}],258:[function(require,module,exports){// shim for using process in browser
5173
5509
  var process=module.exports={};// cached from whatever global is present so that test runners that stub it
5174
5510
  // don't break things. But we need to wrap it in a try catch in case it is
5175
5511
  // wrapped in strict mode code which doesn't define any globals. It's inside a
@@ -5187,7 +5523,7 @@ return cachedClearTimeout.call(null,marker);}catch(e){// same as above but when
5187
5523
  // Some versions of I.E. have different rules for clearTimeout vs setTimeout
5188
5524
  return cachedClearTimeout.call(this,marker);}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return;}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue);}else{queueIndex=-1;}if(queue.length){drainQueue();}}function drainQueue(){if(draining){return;}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex<len){if(currentQueue){currentQueue[queueIndex].run();}}queueIndex=-1;len=queue.length;}currentQueue=null;draining=false;runClearTimeout(timeout);}process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1){for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i];}}queue.push(new Item(fun,args));if(queue.length===1&&!draining){runTimeout(drainQueue);}};// v8 likes predictible objects
5189
5525
  function Item(fun,array){this.fun=fun;this.array=array;}Item.prototype.run=function(){this.fun.apply(null,this.array);};process.title='browser';process.browser=true;process.env={};process.argv=[];process.version='';// empty string to avoid regexp issues
5190
- process.versions={};function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.prependListener=noop;process.prependOnceListener=noop;process.listeners=function(name){return[];};process.binding=function(name){throw new Error('process.binding is not supported');};process.cwd=function(){return'/';};process.chdir=function(dir){throw new Error('process.chdir is not supported');};process.umask=function(){return 0;};},{}],257:[function(require,module,exports){exports.publicEncrypt=require('./publicEncrypt');exports.privateDecrypt=require('./privateDecrypt');exports.privateEncrypt=function privateEncrypt(key,buf){return exports.publicEncrypt(key,buf,true);};exports.publicDecrypt=function publicDecrypt(key,buf){return exports.privateDecrypt(key,buf,true);};},{"./privateDecrypt":260,"./publicEncrypt":261}],258:[function(require,module,exports){var createHash=require('create-hash');var Buffer=require('safe-buffer').Buffer;module.exports=function(seed,len){var t=Buffer.alloc(0);var i=0;var c;while(t.length<len){c=i2ops(i++);t=Buffer.concat([t,createHash('sha1').update(seed).update(c).digest()]);}return t.slice(0,len);};function i2ops(c){var out=Buffer.allocUnsafe(4);out.writeUInt32BE(c,0);return out;}},{"create-hash":97,"safe-buffer":291}],259:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments);},{"buffer":38,"dup":16}],260:[function(require,module,exports){var parseKeys=require('parse-asn1');var mgf=require('./mgf');var xor=require('./xor');var BN=require('bn.js');var crt=require('browserify-rsa');var createHash=require('create-hash');var withPublic=require('./withPublic');var Buffer=require('safe-buffer').Buffer;module.exports=function privateDecrypt(privateKey,enc,reverse){var padding;if(privateKey.padding){padding=privateKey.padding;}else if(reverse){padding=1;}else{padding=4;}var key=parseKeys(privateKey);var k=key.modulus.byteLength();if(enc.length>k||new BN(enc).cmp(key.modulus)>=0){throw new Error('decryption error');}var msg;if(reverse){msg=withPublic(new BN(enc),key);}else{msg=crt(enc,key);}var zBuffer=Buffer.alloc(k-msg.length);msg=Buffer.concat([zBuffer,msg],k);if(padding===4){return oaep(key,msg);}else if(padding===1){return pkcs1(key,msg,reverse);}else if(padding===3){return msg;}else{throw new Error('unknown padding');}};function oaep(key,msg){var k=key.modulus.byteLength();var iHash=createHash('sha1').update(Buffer.alloc(0)).digest();var hLen=iHash.length;if(msg[0]!==0){throw new Error('decryption error');}var maskedSeed=msg.slice(1,hLen+1);var maskedDb=msg.slice(hLen+1);var seed=xor(maskedSeed,mgf(maskedDb,hLen));var db=xor(maskedDb,mgf(seed,k-hLen-1));if(compare(iHash,db.slice(0,hLen))){throw new Error('decryption error');}var i=hLen;while(db[i]===0){i++;}if(db[i++]!==1){throw new Error('decryption error');}return db.slice(i);}function pkcs1(key,msg,reverse){var p1=msg.slice(0,2);var i=2;var status=0;while(msg[i++]!==0){if(i>=msg.length){status++;break;}}var ps=msg.slice(2,i-1);if(p1.toString('hex')!=='0002'&&!reverse||p1.toString('hex')!=='0001'&&reverse){status++;}if(ps.length<8){status++;}if(status){throw new Error('decryption error');}return msg.slice(i);}function compare(a,b){a=Buffer.from(a);b=Buffer.from(b);var dif=0;var len=a.length;if(a.length!==b.length){dif++;len=Math.min(a.length,b.length);}var i=-1;while(++i<len){dif+=a[i]^b[i];}return dif;}},{"./mgf":258,"./withPublic":262,"./xor":263,"bn.js":259,"browserify-rsa":59,"create-hash":97,"parse-asn1":247,"safe-buffer":291}],261:[function(require,module,exports){var parseKeys=require('parse-asn1');var randomBytes=require('randombytes');var createHash=require('create-hash');var mgf=require('./mgf');var xor=require('./xor');var BN=require('bn.js');var withPublic=require('./withPublic');var crt=require('browserify-rsa');var Buffer=require('safe-buffer').Buffer;module.exports=function publicEncrypt(publicKey,msg,reverse){var padding;if(publicKey.padding){padding=publicKey.padding;}else if(reverse){padding=1;}else{padding=4;}var key=parseKeys(publicKey);var paddedMsg;if(padding===4){paddedMsg=oaep(key,msg);}else if(padding===1){paddedMsg=pkcs1(key,msg,reverse);}else if(padding===3){paddedMsg=new BN(msg);if(paddedMsg.cmp(key.modulus)>=0){throw new Error('data too long for modulus');}}else{throw new Error('unknown padding');}if(reverse){return crt(paddedMsg,key);}else{return withPublic(paddedMsg,key);}};function oaep(key,msg){var k=key.modulus.byteLength();var mLen=msg.length;var iHash=createHash('sha1').update(Buffer.alloc(0)).digest();var hLen=iHash.length;var hLen2=2*hLen;if(mLen>k-hLen2-2){throw new Error('message too long');}var ps=Buffer.alloc(k-mLen-hLen2-2);var dblen=k-hLen-1;var seed=randomBytes(hLen);var maskedDb=xor(Buffer.concat([iHash,ps,Buffer.alloc(1,1),msg],dblen),mgf(seed,dblen));var maskedSeed=xor(seed,mgf(maskedDb,hLen));return new BN(Buffer.concat([Buffer.alloc(1),maskedSeed,maskedDb],k));}function pkcs1(key,msg,reverse){var mLen=msg.length;var k=key.modulus.byteLength();if(mLen>k-11){throw new Error('message too long');}var ps;if(reverse){ps=Buffer.alloc(k-mLen-3,0xff);}else{ps=nonZero(k-mLen-3);}return new BN(Buffer.concat([Buffer.from([0,reverse?1:2]),ps,Buffer.alloc(1),msg],k));}function nonZero(len){var out=Buffer.allocUnsafe(len);var i=0;var cache=randomBytes(len*2);var cur=0;var num;while(i<len){if(cur===cache.length){cache=randomBytes(len*2);cur=0;}num=cache[cur++];if(num){out[i++]=num;}}return out;}},{"./mgf":258,"./withPublic":262,"./xor":263,"bn.js":259,"browserify-rsa":59,"create-hash":97,"parse-asn1":247,"randombytes":273,"safe-buffer":291}],262:[function(require,module,exports){var BN=require('bn.js');var Buffer=require('safe-buffer').Buffer;function withPublic(paddedMsg,key){return Buffer.from(paddedMsg.toRed(BN.mont(key.modulus)).redPow(new BN(key.publicExponent)).fromRed().toArray());}module.exports=withPublic;},{"bn.js":259,"safe-buffer":291}],263:[function(require,module,exports){module.exports=function xor(a,b){var len=a.length;var i=-1;while(++i<len){a[i]^=b[i];}return a;};},{}],264:[function(require,module,exports){(function(global){(function(){/*! https://mths.be/punycode v1.4.1 by @mathias */;(function(root){/** Detect free variables */var freeExports=typeof exports=='object'&&exports&&!exports.nodeType&&exports;var freeModule=typeof module=='object'&&module&&!module.nodeType&&module;var freeGlobal=typeof global=='object'&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal||freeGlobal.self===freeGlobal){root=freeGlobal;}/**
5526
+ process.versions={};function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.prependListener=noop;process.prependOnceListener=noop;process.listeners=function(name){return[];};process.binding=function(name){throw new Error('process.binding is not supported');};process.cwd=function(){return'/';};process.chdir=function(dir){throw new Error('process.chdir is not supported');};process.umask=function(){return 0;};},{}],259:[function(require,module,exports){exports.publicEncrypt=require('./publicEncrypt');exports.privateDecrypt=require('./privateDecrypt');exports.privateEncrypt=function privateEncrypt(key,buf){return exports.publicEncrypt(key,buf,true);};exports.publicDecrypt=function publicDecrypt(key,buf){return exports.privateDecrypt(key,buf,true);};},{"./privateDecrypt":262,"./publicEncrypt":263}],260:[function(require,module,exports){var createHash=require('create-hash');var Buffer=require('safe-buffer').Buffer;module.exports=function(seed,len){var t=Buffer.alloc(0);var i=0;var c;while(t.length<len){c=i2ops(i++);t=Buffer.concat([t,createHash('sha1').update(seed).update(c).digest()]);}return t.slice(0,len);};function i2ops(c){var out=Buffer.allocUnsafe(4);out.writeUInt32BE(c,0);return out;}},{"create-hash":97,"safe-buffer":293}],261:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments);},{"buffer":38,"dup":16}],262:[function(require,module,exports){var parseKeys=require('parse-asn1');var mgf=require('./mgf');var xor=require('./xor');var BN=require('bn.js');var crt=require('browserify-rsa');var createHash=require('create-hash');var withPublic=require('./withPublic');var Buffer=require('safe-buffer').Buffer;module.exports=function privateDecrypt(privateKey,enc,reverse){var padding;if(privateKey.padding){padding=privateKey.padding;}else if(reverse){padding=1;}else{padding=4;}var key=parseKeys(privateKey);var k=key.modulus.byteLength();if(enc.length>k||new BN(enc).cmp(key.modulus)>=0){throw new Error('decryption error');}var msg;if(reverse){msg=withPublic(new BN(enc),key);}else{msg=crt(enc,key);}var zBuffer=Buffer.alloc(k-msg.length);msg=Buffer.concat([zBuffer,msg],k);if(padding===4){return oaep(key,msg);}else if(padding===1){return pkcs1(key,msg,reverse);}else if(padding===3){return msg;}else{throw new Error('unknown padding');}};function oaep(key,msg){var k=key.modulus.byteLength();var iHash=createHash('sha1').update(Buffer.alloc(0)).digest();var hLen=iHash.length;if(msg[0]!==0){throw new Error('decryption error');}var maskedSeed=msg.slice(1,hLen+1);var maskedDb=msg.slice(hLen+1);var seed=xor(maskedSeed,mgf(maskedDb,hLen));var db=xor(maskedDb,mgf(seed,k-hLen-1));if(compare(iHash,db.slice(0,hLen))){throw new Error('decryption error');}var i=hLen;while(db[i]===0){i++;}if(db[i++]!==1){throw new Error('decryption error');}return db.slice(i);}function pkcs1(key,msg,reverse){var p1=msg.slice(0,2);var i=2;var status=0;while(msg[i++]!==0){if(i>=msg.length){status++;break;}}var ps=msg.slice(2,i-1);if(p1.toString('hex')!=='0002'&&!reverse||p1.toString('hex')!=='0001'&&reverse){status++;}if(ps.length<8){status++;}if(status){throw new Error('decryption error');}return msg.slice(i);}function compare(a,b){a=Buffer.from(a);b=Buffer.from(b);var dif=0;var len=a.length;if(a.length!==b.length){dif++;len=Math.min(a.length,b.length);}var i=-1;while(++i<len){dif+=a[i]^b[i];}return dif;}},{"./mgf":260,"./withPublic":264,"./xor":265,"bn.js":261,"browserify-rsa":59,"create-hash":97,"parse-asn1":249,"safe-buffer":293}],263:[function(require,module,exports){var parseKeys=require('parse-asn1');var randomBytes=require('randombytes');var createHash=require('create-hash');var mgf=require('./mgf');var xor=require('./xor');var BN=require('bn.js');var withPublic=require('./withPublic');var crt=require('browserify-rsa');var Buffer=require('safe-buffer').Buffer;module.exports=function publicEncrypt(publicKey,msg,reverse){var padding;if(publicKey.padding){padding=publicKey.padding;}else if(reverse){padding=1;}else{padding=4;}var key=parseKeys(publicKey);var paddedMsg;if(padding===4){paddedMsg=oaep(key,msg);}else if(padding===1){paddedMsg=pkcs1(key,msg,reverse);}else if(padding===3){paddedMsg=new BN(msg);if(paddedMsg.cmp(key.modulus)>=0){throw new Error('data too long for modulus');}}else{throw new Error('unknown padding');}if(reverse){return crt(paddedMsg,key);}else{return withPublic(paddedMsg,key);}};function oaep(key,msg){var k=key.modulus.byteLength();var mLen=msg.length;var iHash=createHash('sha1').update(Buffer.alloc(0)).digest();var hLen=iHash.length;var hLen2=2*hLen;if(mLen>k-hLen2-2){throw new Error('message too long');}var ps=Buffer.alloc(k-mLen-hLen2-2);var dblen=k-hLen-1;var seed=randomBytes(hLen);var maskedDb=xor(Buffer.concat([iHash,ps,Buffer.alloc(1,1),msg],dblen),mgf(seed,dblen));var maskedSeed=xor(seed,mgf(maskedDb,hLen));return new BN(Buffer.concat([Buffer.alloc(1),maskedSeed,maskedDb],k));}function pkcs1(key,msg,reverse){var mLen=msg.length;var k=key.modulus.byteLength();if(mLen>k-11){throw new Error('message too long');}var ps;if(reverse){ps=Buffer.alloc(k-mLen-3,0xff);}else{ps=nonZero(k-mLen-3);}return new BN(Buffer.concat([Buffer.from([0,reverse?1:2]),ps,Buffer.alloc(1),msg],k));}function nonZero(len){var out=Buffer.allocUnsafe(len);var i=0;var cache=randomBytes(len*2);var cur=0;var num;while(i<len){if(cur===cache.length){cache=randomBytes(len*2);cur=0;}num=cache[cur++];if(num){out[i++]=num;}}return out;}},{"./mgf":260,"./withPublic":264,"./xor":265,"bn.js":261,"browserify-rsa":59,"create-hash":97,"parse-asn1":249,"randombytes":275,"safe-buffer":293}],264:[function(require,module,exports){var BN=require('bn.js');var Buffer=require('safe-buffer').Buffer;function withPublic(paddedMsg,key){return Buffer.from(paddedMsg.toRed(BN.mont(key.modulus)).redPow(new BN(key.publicExponent)).fromRed().toArray());}module.exports=withPublic;},{"bn.js":261,"safe-buffer":293}],265:[function(require,module,exports){module.exports=function xor(a,b){var len=a.length;var i=-1;while(++i<len){a[i]^=b[i];}return a;};},{}],266:[function(require,module,exports){(function(global){(function(){/*! https://mths.be/punycode v1.4.1 by @mathias */;(function(root){/** Detect free variables */var freeExports=typeof exports=='object'&&exports&&!exports.nodeType&&exports;var freeModule=typeof module=='object'&&module&&!module.nodeType&&module;var freeGlobal=typeof global=='object'&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal||freeGlobal.self===freeGlobal){root=freeGlobal;}/**
5191
5527
  * The `punycode` object.
5192
5528
  * @name punycode
5193
5529
  * @type Object
@@ -5342,7 +5678,7 @@ for/* no condition */(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:
5342
5678
  if(typeof define=='function'&&typeof define.amd=='object'&&define.amd){define('punycode',function(){return punycode;});}else if(freeExports&&freeModule){if(module.exports==freeExports){// in Node.js, io.js, or RingoJS v0.8.0+
5343
5679
  freeModule.exports=punycode;}else{// in Narwhal or RingoJS v0.7.0-
5344
5680
  for(key in punycode){punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key]);}}}else{// in Rhino or a web browser
5345
- root.punycode=punycode;}})(this);}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{}],265:[function(require,module,exports){'use strict';var replace=String.prototype.replace;var percentTwenties=/%20/g;var Format={RFC1738:'RFC1738',RFC3986:'RFC3986'};module.exports={'default':Format.RFC3986,formatters:{RFC1738:function(value){return replace.call(value,percentTwenties,'+');},RFC3986:function(value){return String(value);}},RFC1738:Format.RFC1738,RFC3986:Format.RFC3986};},{}],266:[function(require,module,exports){'use strict';var stringify=require('./stringify');var parse=require('./parse');var formats=require('./formats');module.exports={formats:formats,parse:parse,stringify:stringify};},{"./formats":265,"./parse":267,"./stringify":268}],267:[function(require,module,exports){'use strict';var utils=require('./utils');var has=Object.prototype.hasOwnProperty;var isArray=Array.isArray;var defaults={allowDots:false,allowEmptyArrays:false,allowPrototypes:false,allowSparse:false,arrayLimit:20,charset:'utf-8',charsetSentinel:false,comma:false,decodeDotInKeys:false,decoder:utils.decode,delimiter:'&',depth:5,duplicates:'combine',ignoreQueryPrefix:false,interpretNumericEntities:false,parameterLimit:1000,parseArrays:true,plainObjects:false,strictDepth:false,strictMerge:true,strictNullHandling:false,throwOnLimitExceeded:false};var interpretNumericEntities=function(str){return str.replace(/&#(\d+);/g,function($0,numberStr){return String.fromCharCode(parseInt(numberStr,10));});};var parseArrayValue=function(val,options,currentArrayLength){if(val&&typeof val==='string'&&options.comma&&val.indexOf(',')>-1){return val.split(',');}if(options.throwOnLimitExceeded&&currentArrayLength>=options.arrayLimit){throw new RangeError('Array limit exceeded. Only '+options.arrayLimit+' element'+(options.arrayLimit===1?'':'s')+' allowed in an array.');}return val;};// This is what browsers will submit when the ✓ character occurs in an
5681
+ root.punycode=punycode;}})(this);}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{}],267:[function(require,module,exports){'use strict';var replace=String.prototype.replace;var percentTwenties=/%20/g;var Format={RFC1738:'RFC1738',RFC3986:'RFC3986'};module.exports={'default':Format.RFC3986,formatters:{RFC1738:function(value){return replace.call(value,percentTwenties,'+');},RFC3986:function(value){return String(value);}},RFC1738:Format.RFC1738,RFC3986:Format.RFC3986};},{}],268:[function(require,module,exports){'use strict';var stringify=require('./stringify');var parse=require('./parse');var formats=require('./formats');module.exports={formats:formats,parse:parse,stringify:stringify};},{"./formats":267,"./parse":269,"./stringify":270}],269:[function(require,module,exports){'use strict';var utils=require('./utils');var has=Object.prototype.hasOwnProperty;var isArray=Array.isArray;var defaults={allowDots:false,allowEmptyArrays:false,allowPrototypes:false,allowSparse:false,arrayLimit:20,charset:'utf-8',charsetSentinel:false,comma:false,decodeDotInKeys:false,decoder:utils.decode,delimiter:'&',depth:5,duplicates:'combine',ignoreQueryPrefix:false,interpretNumericEntities:false,parameterLimit:1000,parseArrays:true,plainObjects:false,strictDepth:false,strictMerge:true,strictNullHandling:false,throwOnLimitExceeded:false};var interpretNumericEntities=function(str){return str.replace(/&#(\d+);/g,function($0,numberStr){return String.fromCharCode(parseInt(numberStr,10));});};var parseArrayValue=function(val,options,currentArrayLength){if(val&&typeof val==='string'&&options.comma&&val.indexOf(',')>-1){return val.split(',');}if(options.throwOnLimitExceeded&&currentArrayLength>=options.arrayLimit){throw new RangeError('Array limit exceeded. Only '+options.arrayLimit+' element'+(options.arrayLimit===1?'':'s')+' allowed in an array.');}return val;};// This is what browsers will submit when the ✓ character occurs in an
5346
5682
  // application/x-www-form-urlencoded body and the encoding of the page containing
5347
5683
  // the form is iso-8859-1, or when the submitted form has an accept-charset
5348
5684
  // attribute of iso-8859-1. Presumably also with other charsets that do not contain
@@ -5350,18 +5686,30 @@ root.punycode=punycode;}})(this);}).call(this);}).call(this,typeof global!=="und
5350
5686
  var isoSentinel='utf8=%26%2310003%3B';// encodeURIComponent('&#10003;')
5351
5687
  // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
5352
5688
  var charsetSentinel='utf8=%E2%9C%93';// encodeURIComponent('✓')
5353
- var parseValues=function parseQueryStringValues(str,options){var obj={__proto__:null};var cleanStr=options.ignoreQueryPrefix?str.replace(/^\?/,''):str;cleanStr=cleanStr.replace(/%5B/gi,'[').replace(/%5D/gi,']');var limit=options.parameterLimit===Infinity?void undefined:options.parameterLimit;var parts=cleanStr.split(options.delimiter,options.throwOnLimitExceeded?limit+1:limit);if(options.throwOnLimitExceeded&&parts.length>limit){throw new RangeError('Parameter limit exceeded. Only '+limit+' parameter'+(limit===1?'':'s')+' allowed.');}var skipIndex=-1;// Keep track of where the utf8 sentinel was found
5689
+ var parseValues=function parseQueryStringValues(str,options){var obj={__proto__:null};var cleanStr=options.ignoreQueryPrefix?str.replace(/^\?/,''):str;cleanStr=cleanStr.replace(/%5B/gi,'[').replace(/%5D/gi,']');var limit=options.parameterLimit===Infinity?void undefined:options.parameterLimit;var parts=cleanStr.split(options.delimiter,options.throwOnLimitExceeded&&typeof limit!=='undefined'?limit+1:limit);if(options.throwOnLimitExceeded&&typeof limit!=='undefined'&&parts.length>limit){throw new RangeError('Parameter limit exceeded. Only '+limit+' parameter'+(limit===1?'':'s')+' allowed.');}var skipIndex=-1;// Keep track of where the utf8 sentinel was found
5354
5690
  var i;var charset=options.charset;if(options.charsetSentinel){for(i=0;i<parts.length;++i){if(parts[i].indexOf('utf8=')===0){if(parts[i]===charsetSentinel){charset='utf-8';}else if(parts[i]===isoSentinel){charset='iso-8859-1';}skipIndex=i;i=parts.length;// The eslint settings do not allow break;
5355
5691
  }}}for(i=0;i<parts.length;++i){if(i===skipIndex){continue;}var part=parts[i];var bracketEqualsPos=part.indexOf(']=');var pos=bracketEqualsPos===-1?part.indexOf('='):bracketEqualsPos+1;var key;var val;if(pos===-1){key=options.decoder(part,defaults.decoder,charset,'key');val=options.strictNullHandling?null:'';}else{key=options.decoder(part.slice(0,pos),defaults.decoder,charset,'key');if(key!==null){val=utils.maybeMap(parseArrayValue(part.slice(pos+1),options,isArray(obj[key])?obj[key].length:0),function(encodedVal){return options.decoder(encodedVal,defaults.decoder,charset,'value');});}}if(val&&options.interpretNumericEntities&&charset==='iso-8859-1'){val=interpretNumericEntities(String(val));}if(part.indexOf('[]=')>-1){val=isArray(val)?[val]:val;}if(options.comma&&isArray(val)&&val.length>options.arrayLimit){if(options.throwOnLimitExceeded){throw new RangeError('Array limit exceeded. Only '+options.arrayLimit+' element'+(options.arrayLimit===1?'':'s')+' allowed in an array.');}val=utils.combine([],val,options.arrayLimit,options.plainObjects);}if(key!==null){var existing=has.call(obj,key);if(existing&&(options.duplicates==='combine'||part.indexOf('[]=')>-1)){obj[key]=utils.combine(obj[key],val,options.arrayLimit,options.plainObjects);}else if(!existing||options.duplicates==='last'){obj[key]=val;}}}return obj;};var parseObject=function(chain,val,options,valuesParsed){var currentArrayLength=0;if(chain.length>0&&chain[chain.length-1]==='[]'){var parentKey=chain.slice(0,-1).join('');currentArrayLength=Array.isArray(val)&&val[parentKey]?val[parentKey].length:0;}var leaf=valuesParsed?val:parseArrayValue(val,options,currentArrayLength);for(var i=chain.length-1;i>=0;--i){var obj;var root=chain[i];if(root==='[]'&&options.parseArrays){if(utils.isOverflow(leaf)){// leaf is already an overflow object, preserve it
5356
- obj=leaf;}else{obj=options.allowEmptyArrays&&(leaf===''||options.strictNullHandling&&leaf===null)?[]:utils.combine([],leaf,options.arrayLimit,options.plainObjects);}}else{obj=options.plainObjects?{__proto__:null}:{};var cleanRoot=root.charAt(0)==='['&&root.charAt(root.length-1)===']'?root.slice(1,-1):root;var decodedRoot=options.decodeDotInKeys?cleanRoot.replace(/%2E/g,'.'):cleanRoot;var index=parseInt(decodedRoot,10);var isValidArrayIndex=!isNaN(index)&&root!==decodedRoot&&String(index)===decodedRoot&&index>=0&&options.parseArrays;if(!options.parseArrays&&decodedRoot===''){obj={0:leaf};}else if(isValidArrayIndex&&index<options.arrayLimit){obj=[];obj[index]=leaf;}else if(isValidArrayIndex&&options.throwOnLimitExceeded){throw new RangeError('Array limit exceeded. Only '+options.arrayLimit+' element'+(options.arrayLimit===1?'':'s')+' allowed in an array.');}else if(isValidArrayIndex){obj[index]=leaf;utils.markOverflow(obj,index);}else if(decodedRoot!=='__proto__'){obj[decodedRoot]=leaf;}}leaf=obj;}return leaf;};var splitKeyIntoSegments=function splitKeyIntoSegments(givenKey,options){var key=options.allowDots?givenKey.replace(/\.([^.[]+)/g,'[$1]'):givenKey;if(options.depth<=0){if(!options.plainObjects&&has.call(Object.prototype,key)){if(!options.allowPrototypes){return;}}return[key];}var brackets=/(\[[^[\]]*])/;var child=/(\[[^[\]]*])/g;var segment=brackets.exec(key);var parent=segment?key.slice(0,segment.index):key;var keys=[];if(parent){if(!options.plainObjects&&has.call(Object.prototype,parent)){if(!options.allowPrototypes){return;}}keys[keys.length]=parent;}var i=0;while((segment=child.exec(key))!==null&&i<options.depth){i+=1;var segmentContent=segment[1].slice(1,-1);if(!options.plainObjects&&has.call(Object.prototype,segmentContent)){if(!options.allowPrototypes){return;}}keys[keys.length]=segment[1];}if(segment){if(options.strictDepth===true){throw new RangeError('Input depth exceeded depth option of '+options.depth+' and strictDepth is true');}keys[keys.length]='['+key.slice(segment.index)+']';}return keys;};var parseKeys=function parseQueryStringKeys(givenKey,val,options,valuesParsed){if(!givenKey){return;}var keys=splitKeyIntoSegments(givenKey,options);if(!keys){return;}return parseObject(keys,val,options,valuesParsed);};var normalizeParseOptions=function normalizeParseOptions(opts){if(!opts){return defaults;}if(typeof opts.allowEmptyArrays!=='undefined'&&typeof opts.allowEmptyArrays!=='boolean'){throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');}if(typeof opts.decodeDotInKeys!=='undefined'&&typeof opts.decodeDotInKeys!=='boolean'){throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');}if(opts.decoder!==null&&typeof opts.decoder!=='undefined'&&typeof opts.decoder!=='function'){throw new TypeError('Decoder has to be a function.');}if(typeof opts.charset!=='undefined'&&opts.charset!=='utf-8'&&opts.charset!=='iso-8859-1'){throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');}if(typeof opts.throwOnLimitExceeded!=='undefined'&&typeof opts.throwOnLimitExceeded!=='boolean'){throw new TypeError('`throwOnLimitExceeded` option must be a boolean');}var charset=typeof opts.charset==='undefined'?defaults.charset:opts.charset;var duplicates=typeof opts.duplicates==='undefined'?defaults.duplicates:opts.duplicates;if(duplicates!=='combine'&&duplicates!=='first'&&duplicates!=='last'){throw new TypeError('The duplicates option must be either combine, first, or last');}var allowDots=typeof opts.allowDots==='undefined'?opts.decodeDotInKeys===true?true:defaults.allowDots:!!opts.allowDots;return{allowDots:allowDots,allowEmptyArrays:typeof opts.allowEmptyArrays==='boolean'?!!opts.allowEmptyArrays:defaults.allowEmptyArrays,allowPrototypes:typeof opts.allowPrototypes==='boolean'?opts.allowPrototypes:defaults.allowPrototypes,allowSparse:typeof opts.allowSparse==='boolean'?opts.allowSparse:defaults.allowSparse,arrayLimit:typeof opts.arrayLimit==='number'?opts.arrayLimit:defaults.arrayLimit,charset:charset,charsetSentinel:typeof opts.charsetSentinel==='boolean'?opts.charsetSentinel:defaults.charsetSentinel,comma:typeof opts.comma==='boolean'?opts.comma:defaults.comma,decodeDotInKeys:typeof opts.decodeDotInKeys==='boolean'?opts.decodeDotInKeys:defaults.decodeDotInKeys,decoder:typeof opts.decoder==='function'?opts.decoder:defaults.decoder,delimiter:typeof opts.delimiter==='string'||utils.isRegExp(opts.delimiter)?opts.delimiter:defaults.delimiter,// eslint-disable-next-line no-implicit-coercion, no-extra-parens
5692
+ obj=leaf;}else{obj=options.allowEmptyArrays&&(leaf===''||options.strictNullHandling&&leaf===null)?[]:utils.combine([],leaf,options.arrayLimit,options.plainObjects);}}else{obj=options.plainObjects?{__proto__:null}:{};var cleanRoot=root.charAt(0)==='['&&root.charAt(root.length-1)===']'?root.slice(1,-1):root;var decodedRoot=options.decodeDotInKeys?cleanRoot.replace(/%2E/g,'.'):cleanRoot;var index=parseInt(decodedRoot,10);var isValidArrayIndex=!isNaN(index)&&root!==decodedRoot&&String(index)===decodedRoot&&index>=0&&options.parseArrays;if(!options.parseArrays&&decodedRoot===''){obj={0:leaf};}else if(isValidArrayIndex&&index<options.arrayLimit){obj=[];obj[index]=leaf;}else if(isValidArrayIndex&&options.throwOnLimitExceeded){throw new RangeError('Array limit exceeded. Only '+options.arrayLimit+' element'+(options.arrayLimit===1?'':'s')+' allowed in an array.');}else if(isValidArrayIndex){obj[index]=leaf;utils.markOverflow(obj,index);}else if(decodedRoot!=='__proto__'){obj[decodedRoot]=leaf;}}leaf=obj;}return leaf;};// Split a key like "a[b][c[]]" into ['a', '[b]', '[c[]]'] while preserving
5693
+ // qs parse semantics for depth/prototype guards.
5694
+ var splitKeyIntoSegments=function splitKeyIntoSegments(originalKey,options){var key=options.allowDots?originalKey.replace(/\.([^.[]+)/g,'[$1]'):originalKey;// depth <= 0 keeps the whole key as one segment
5695
+ if(options.depth<=0){if(!options.plainObjects&&has.call(Object.prototype,key)){if(!options.allowPrototypes){return;}}return[key];}var segments=[];// parent before the first '[' (may be empty if key starts with '[')
5696
+ var first=key.indexOf('[');var parent=first>=0?key.slice(0,first):key;if(parent){if(!options.plainObjects&&has.call(Object.prototype,parent)){if(!options.allowPrototypes){return;}}segments[segments.length]=parent;}var n=key.length;var open=first;var collected=0;while(open>=0&&collected<options.depth){var level=1;var i=open+1;var close=-1;// balance nested '[' and ']' inside this bracket group using a nesting level counter
5697
+ while(i<n&&close<0){var cu=key.charCodeAt(i);if(cu===0x5B){// '['
5698
+ level+=1;}else if(cu===0x5D){// ']'
5699
+ level-=1;if(level===0){close=i;// found matching close; loop will exit by condition
5700
+ }}i+=1;}if(close<0){// Unterminated group: wrap the raw remainder in one bracket pair so it stays
5701
+ // a single literal segment (e.g. "[[]b" -> "[[]b]"); we do not infer missing ']'.
5702
+ segments[segments.length]='['+key.slice(open)+']';return segments;}var seg=key.slice(open,close+1);// prototype guard for the content of this group
5703
+ var content=seg.slice(1,-1);if(!options.plainObjects&&has.call(Object.prototype,content)&&!options.allowPrototypes){return;}segments[segments.length]=seg;collected+=1;// find the next '[' after this balanced group
5704
+ open=key.indexOf('[',close+1);}if(open>=0){if(options.strictDepth===true){throw new RangeError('Input depth exceeded depth option of '+options.depth+' and strictDepth is true');}segments[segments.length]='['+key.slice(open)+']';}return segments;};var parseKeys=function parseQueryStringKeys(givenKey,val,options,valuesParsed){if(!givenKey){return;}var keys=splitKeyIntoSegments(givenKey,options);if(!keys){return;}return parseObject(keys,val,options,valuesParsed);};var normalizeParseOptions=function normalizeParseOptions(opts){if(!opts){return defaults;}if(typeof opts.allowEmptyArrays!=='undefined'&&typeof opts.allowEmptyArrays!=='boolean'){throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');}if(typeof opts.decodeDotInKeys!=='undefined'&&typeof opts.decodeDotInKeys!=='boolean'){throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');}if(opts.decoder!==null&&typeof opts.decoder!=='undefined'&&typeof opts.decoder!=='function'){throw new TypeError('Decoder has to be a function.');}if(typeof opts.charset!=='undefined'&&opts.charset!=='utf-8'&&opts.charset!=='iso-8859-1'){throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');}if(typeof opts.throwOnLimitExceeded!=='undefined'&&typeof opts.throwOnLimitExceeded!=='boolean'){throw new TypeError('`throwOnLimitExceeded` option must be a boolean');}var charset=typeof opts.charset==='undefined'?defaults.charset:opts.charset;var duplicates=typeof opts.duplicates==='undefined'?defaults.duplicates:opts.duplicates;if(duplicates!=='combine'&&duplicates!=='first'&&duplicates!=='last'){throw new TypeError('The duplicates option must be either combine, first, or last');}var allowDots=typeof opts.allowDots==='undefined'?opts.decodeDotInKeys===true?true:defaults.allowDots:!!opts.allowDots;return{allowDots:allowDots,allowEmptyArrays:typeof opts.allowEmptyArrays==='boolean'?!!opts.allowEmptyArrays:defaults.allowEmptyArrays,allowPrototypes:typeof opts.allowPrototypes==='boolean'?opts.allowPrototypes:defaults.allowPrototypes,allowSparse:typeof opts.allowSparse==='boolean'?opts.allowSparse:defaults.allowSparse,arrayLimit:typeof opts.arrayLimit==='number'?opts.arrayLimit:defaults.arrayLimit,charset:charset,charsetSentinel:typeof opts.charsetSentinel==='boolean'?opts.charsetSentinel:defaults.charsetSentinel,comma:typeof opts.comma==='boolean'?opts.comma:defaults.comma,decodeDotInKeys:typeof opts.decodeDotInKeys==='boolean'?opts.decodeDotInKeys:defaults.decodeDotInKeys,decoder:typeof opts.decoder==='function'?opts.decoder:defaults.decoder,delimiter:typeof opts.delimiter==='string'||utils.isRegExp(opts.delimiter)?opts.delimiter:defaults.delimiter,// eslint-disable-next-line no-implicit-coercion, no-extra-parens
5357
5705
  depth:typeof opts.depth==='number'||opts.depth===false?+opts.depth:defaults.depth,duplicates:duplicates,ignoreQueryPrefix:opts.ignoreQueryPrefix===true,interpretNumericEntities:typeof opts.interpretNumericEntities==='boolean'?opts.interpretNumericEntities:defaults.interpretNumericEntities,parameterLimit:typeof opts.parameterLimit==='number'?opts.parameterLimit:defaults.parameterLimit,parseArrays:opts.parseArrays!==false,plainObjects:typeof opts.plainObjects==='boolean'?opts.plainObjects:defaults.plainObjects,strictDepth:typeof opts.strictDepth==='boolean'?!!opts.strictDepth:defaults.strictDepth,strictMerge:typeof opts.strictMerge==='boolean'?!!opts.strictMerge:defaults.strictMerge,strictNullHandling:typeof opts.strictNullHandling==='boolean'?opts.strictNullHandling:defaults.strictNullHandling,throwOnLimitExceeded:typeof opts.throwOnLimitExceeded==='boolean'?opts.throwOnLimitExceeded:false};};module.exports=function(str,opts){var options=normalizeParseOptions(opts);if(str===''||str===null||typeof str==='undefined'){return options.plainObjects?{__proto__:null}:{};}var tempObj=typeof str==='string'?parseValues(str,options):str;var obj=options.plainObjects?{__proto__:null}:{};// Iterate over the keys and setup the new object
5358
- var keys=Object.keys(tempObj);for(var i=0;i<keys.length;++i){var key=keys[i];var newObj=parseKeys(key,tempObj[key],options,typeof str==='string');obj=utils.merge(obj,newObj,options);}if(options.allowSparse===true){return obj;}return utils.compact(obj);};},{"./utils":269}],268:[function(require,module,exports){'use strict';var getSideChannel=require('side-channel');var utils=require('./utils');var formats=require('./formats');var has=Object.prototype.hasOwnProperty;var arrayPrefixGenerators={brackets:function brackets(prefix){return prefix+'[]';},comma:'comma',indices:function indices(prefix,key){return prefix+'['+key+']';},repeat:function repeat(prefix){return prefix;}};var isArray=Array.isArray;var push=Array.prototype.push;var pushToArray=function(arr,valueOrArray){push.apply(arr,isArray(valueOrArray)?valueOrArray:[valueOrArray]);};var toISO=Date.prototype.toISOString;var defaultFormat=formats['default'];var defaults={addQueryPrefix:false,allowDots:false,allowEmptyArrays:false,arrayFormat:'indices',charset:'utf-8',charsetSentinel:false,commaRoundTrip:false,delimiter:'&',encode:true,encodeDotInKeys:false,encoder:utils.encode,encodeValuesOnly:false,filter:void undefined,format:defaultFormat,formatter:formats.formatters[defaultFormat],// deprecated
5706
+ var keys=Object.keys(tempObj);for(var i=0;i<keys.length;++i){var key=keys[i];var newObj=parseKeys(key,tempObj[key],options,typeof str==='string');obj=utils.merge(obj,newObj,options);}if(options.allowSparse===true){return obj;}return utils.compact(obj);};},{"./utils":271}],270:[function(require,module,exports){'use strict';var getSideChannel=require('side-channel');var utils=require('./utils');var formats=require('./formats');var has=Object.prototype.hasOwnProperty;var arrayPrefixGenerators={brackets:function brackets(prefix){return prefix+'[]';},comma:'comma',indices:function indices(prefix,key){return prefix+'['+key+']';},repeat:function repeat(prefix){return prefix;}};var isArray=Array.isArray;var push=Array.prototype.push;var pushToArray=function(arr,valueOrArray){push.apply(arr,isArray(valueOrArray)?valueOrArray:[valueOrArray]);};var toISO=Date.prototype.toISOString;var defaultFormat=formats['default'];var defaults={addQueryPrefix:false,allowDots:false,allowEmptyArrays:false,arrayFormat:'indices',charset:'utf-8',charsetSentinel:false,commaRoundTrip:false,delimiter:'&',encode:true,encodeDotInKeys:false,encoder:utils.encode,encodeValuesOnly:false,filter:void undefined,format:defaultFormat,formatter:formats.formatters[defaultFormat],// deprecated
5359
5707
  indices:false,serializeDate:function serializeDate(date){return toISO.call(date);},skipNulls:false,strictNullHandling:false};var isNonNullishPrimitive=function isNonNullishPrimitive(v){return typeof v==='string'||typeof v==='number'||typeof v==='boolean'||typeof v==='symbol'||typeof v==='bigint';};var sentinel={};var stringify=function stringify(object,prefix,generateArrayPrefix,commaRoundTrip,allowEmptyArrays,strictNullHandling,skipNulls,encodeDotInKeys,encoder,filter,sort,allowDots,serializeDate,format,formatter,encodeValuesOnly,charset,sideChannel){var obj=object;var tmpSc=sideChannel;var step=0;var findFlag=false;while((tmpSc=tmpSc.get(sentinel))!==void undefined&&!findFlag){// Where object last appeared in the ref tree
5360
5708
  var pos=tmpSc.get(object);step+=1;if(typeof pos!=='undefined'){if(pos===step){throw new RangeError('Cyclic object value');}else{findFlag=true;// Break while
5361
- }}if(typeof tmpSc.get(sentinel)==='undefined'){step=0;}}if(typeof filter==='function'){obj=filter(prefix,obj);}else if(obj instanceof Date){obj=serializeDate(obj);}else if(generateArrayPrefix==='comma'&&isArray(obj)){obj=utils.maybeMap(obj,function(value){if(value instanceof Date){return serializeDate(value);}return value;});}if(obj===null){if(strictNullHandling){return encoder&&!encodeValuesOnly?encoder(prefix,defaults.encoder,charset,'key',format):prefix;}obj='';}if(isNonNullishPrimitive(obj)||utils.isBuffer(obj)){if(encoder){var keyValue=encodeValuesOnly?prefix:encoder(prefix,defaults.encoder,charset,'key',format);return[formatter(keyValue)+'='+formatter(encoder(obj,defaults.encoder,charset,'value',format))];}return[formatter(prefix)+'='+formatter(String(obj))];}var values=[];if(typeof obj==='undefined'){return values;}var objKeys;if(generateArrayPrefix==='comma'&&isArray(obj)){// we need to join elements in
5362
- if(encodeValuesOnly&&encoder){obj=utils.maybeMap(obj,encoder);}objKeys=[{value:obj.length>0?obj.join(',')||null:void undefined}];}else if(isArray(filter)){objKeys=filter;}else{var keys=Object.keys(obj);objKeys=sort?keys.sort(sort):keys;}var encodedPrefix=encodeDotInKeys?String(prefix).replace(/\./g,'%2E'):String(prefix);var adjustedPrefix=commaRoundTrip&&isArray(obj)&&obj.length===1?encodedPrefix+'[]':encodedPrefix;if(allowEmptyArrays&&isArray(obj)&&obj.length===0){return adjustedPrefix+'[]';}for(var j=0;j<objKeys.length;++j){var key=objKeys[j];var value=typeof key==='object'&&key&&typeof key.value!=='undefined'?key.value:obj[key];if(skipNulls&&value===null){continue;}var encodedKey=allowDots&&encodeDotInKeys?String(key).replace(/\./g,'%2E'):String(key);var keyPrefix=isArray(obj)?typeof generateArrayPrefix==='function'?generateArrayPrefix(adjustedPrefix,encodedKey):adjustedPrefix:adjustedPrefix+(allowDots?'.'+encodedKey:'['+encodedKey+']');sideChannel.set(object,step);var valueSideChannel=getSideChannel();valueSideChannel.set(sentinel,sideChannel);pushToArray(values,stringify(value,keyPrefix,generateArrayPrefix,commaRoundTrip,allowEmptyArrays,strictNullHandling,skipNulls,encodeDotInKeys,generateArrayPrefix==='comma'&&encodeValuesOnly&&isArray(obj)?null:encoder,filter,sort,allowDots,serializeDate,format,formatter,encodeValuesOnly,charset,valueSideChannel));}return values;};var normalizeStringifyOptions=function normalizeStringifyOptions(opts){if(!opts){return defaults;}if(typeof opts.allowEmptyArrays!=='undefined'&&typeof opts.allowEmptyArrays!=='boolean'){throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');}if(typeof opts.encodeDotInKeys!=='undefined'&&typeof opts.encodeDotInKeys!=='boolean'){throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');}if(opts.encoder!==null&&typeof opts.encoder!=='undefined'&&typeof opts.encoder!=='function'){throw new TypeError('Encoder has to be a function.');}var charset=opts.charset||defaults.charset;if(typeof opts.charset!=='undefined'&&opts.charset!=='utf-8'&&opts.charset!=='iso-8859-1'){throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');}var format=formats['default'];if(typeof opts.format!=='undefined'){if(!has.call(formats.formatters,opts.format)){throw new TypeError('Unknown format option provided.');}format=opts.format;}var formatter=formats.formatters[format];var filter=defaults.filter;if(typeof opts.filter==='function'||isArray(opts.filter)){filter=opts.filter;}var arrayFormat;if(opts.arrayFormat in arrayPrefixGenerators){arrayFormat=opts.arrayFormat;}else if('indices'in opts){arrayFormat=opts.indices?'indices':'repeat';}else{arrayFormat=defaults.arrayFormat;}if('commaRoundTrip'in opts&&typeof opts.commaRoundTrip!=='boolean'){throw new TypeError('`commaRoundTrip` must be a boolean, or absent');}var allowDots=typeof opts.allowDots==='undefined'?opts.encodeDotInKeys===true?true:defaults.allowDots:!!opts.allowDots;return{addQueryPrefix:typeof opts.addQueryPrefix==='boolean'?opts.addQueryPrefix:defaults.addQueryPrefix,allowDots:allowDots,allowEmptyArrays:typeof opts.allowEmptyArrays==='boolean'?!!opts.allowEmptyArrays:defaults.allowEmptyArrays,arrayFormat:arrayFormat,charset:charset,charsetSentinel:typeof opts.charsetSentinel==='boolean'?opts.charsetSentinel:defaults.charsetSentinel,commaRoundTrip:!!opts.commaRoundTrip,delimiter:typeof opts.delimiter==='undefined'?defaults.delimiter:opts.delimiter,encode:typeof opts.encode==='boolean'?opts.encode:defaults.encode,encodeDotInKeys:typeof opts.encodeDotInKeys==='boolean'?opts.encodeDotInKeys:defaults.encodeDotInKeys,encoder:typeof opts.encoder==='function'?opts.encoder:defaults.encoder,encodeValuesOnly:typeof opts.encodeValuesOnly==='boolean'?opts.encodeValuesOnly:defaults.encodeValuesOnly,filter:filter,format:format,formatter:formatter,serializeDate:typeof opts.serializeDate==='function'?opts.serializeDate:defaults.serializeDate,skipNulls:typeof opts.skipNulls==='boolean'?opts.skipNulls:defaults.skipNulls,sort:typeof opts.sort==='function'?opts.sort:null,strictNullHandling:typeof opts.strictNullHandling==='boolean'?opts.strictNullHandling:defaults.strictNullHandling};};module.exports=function(object,opts){var obj=object;var options=normalizeStringifyOptions(opts);var objKeys;var filter;if(typeof options.filter==='function'){filter=options.filter;obj=filter('',obj);}else if(isArray(options.filter)){filter=options.filter;objKeys=filter;}var keys=[];if(typeof obj!=='object'||obj===null){return'';}var generateArrayPrefix=arrayPrefixGenerators[options.arrayFormat];var commaRoundTrip=generateArrayPrefix==='comma'&&options.commaRoundTrip;if(!objKeys){objKeys=Object.keys(obj);}if(options.sort){objKeys.sort(options.sort);}var sideChannel=getSideChannel();for(var i=0;i<objKeys.length;++i){var key=objKeys[i];var value=obj[key];if(options.skipNulls&&value===null){continue;}pushToArray(keys,stringify(value,key,generateArrayPrefix,commaRoundTrip,options.allowEmptyArrays,options.strictNullHandling,options.skipNulls,options.encodeDotInKeys,options.encode?options.encoder:null,options.filter,options.sort,options.allowDots,options.serializeDate,options.format,options.formatter,options.encodeValuesOnly,options.charset,sideChannel));}var joined=keys.join(options.delimiter);var prefix=options.addQueryPrefix===true?'?':'';if(options.charsetSentinel){if(options.charset==='iso-8859-1'){// encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
5363
- prefix+='utf8=%26%2310003%3B&';}else{// encodeURIComponent('✓')
5364
- prefix+='utf8=%E2%9C%93&';}}return joined.length>0?prefix+joined:'';};},{"./formats":265,"./utils":269,"side-channel":305}],269:[function(require,module,exports){'use strict';var formats=require('./formats');var getSideChannel=require('side-channel');var has=Object.prototype.hasOwnProperty;var isArray=Array.isArray;// Track objects created from arrayLimit overflow using side-channel
5709
+ }}if(typeof tmpSc.get(sentinel)==='undefined'){step=0;}}if(typeof filter==='function'){obj=filter(prefix,obj);}else if(obj instanceof Date){obj=serializeDate(obj);}else if(generateArrayPrefix==='comma'&&isArray(obj)){obj=utils.maybeMap(obj,function(value){if(value instanceof Date){return serializeDate(value);}return value;});}if(obj===null){if(strictNullHandling){return formatter(encoder&&!encodeValuesOnly?encoder(prefix,defaults.encoder,charset,'key',format):prefix);}obj='';}if(isNonNullishPrimitive(obj)||utils.isBuffer(obj)){if(encoder){var keyValue=encodeValuesOnly?prefix:encoder(prefix,defaults.encoder,charset,'key',format);return[formatter(keyValue)+'='+formatter(encoder(obj,defaults.encoder,charset,'value',format))];}return[formatter(prefix)+'='+formatter(String(obj))];}var values=[];if(typeof obj==='undefined'){return values;}var objKeys;if(generateArrayPrefix==='comma'&&isArray(obj)){// we need to join elements in
5710
+ if(encodeValuesOnly&&encoder){obj=utils.maybeMap(obj,function(v){return v==null?v:encoder(v);});}objKeys=[{value:obj.length>0?obj.join(',')||null:void undefined}];}else if(isArray(filter)){objKeys=filter;}else{var keys=Object.keys(obj);objKeys=sort?keys.sort(sort):keys;}var encodedPrefix=encodeDotInKeys?String(prefix).replace(/\./g,'%2E'):String(prefix);var adjustedPrefix=commaRoundTrip&&isArray(obj)&&obj.length===1?encodedPrefix+'[]':encodedPrefix;if(allowEmptyArrays&&isArray(obj)&&obj.length===0){return adjustedPrefix+'[]';}for(var j=0;j<objKeys.length;++j){var key=objKeys[j];var value=typeof key==='object'&&key&&typeof key.value!=='undefined'?key.value:obj[key];if(skipNulls&&value===null){continue;}var encodedKey=allowDots&&encodeDotInKeys?String(key).replace(/\./g,'%2E'):String(key);var keyPrefix=isArray(obj)?typeof generateArrayPrefix==='function'?generateArrayPrefix(adjustedPrefix,encodedKey):adjustedPrefix:adjustedPrefix+(allowDots?'.'+encodedKey:'['+encodedKey+']');sideChannel.set(object,step);var valueSideChannel=getSideChannel();valueSideChannel.set(sentinel,sideChannel);pushToArray(values,stringify(value,keyPrefix,generateArrayPrefix,commaRoundTrip,allowEmptyArrays,strictNullHandling,skipNulls,encodeDotInKeys,generateArrayPrefix==='comma'&&encodeValuesOnly&&isArray(obj)?null:encoder,filter,sort,allowDots,serializeDate,format,formatter,encodeValuesOnly,charset,valueSideChannel));}return values;};var normalizeStringifyOptions=function normalizeStringifyOptions(opts){if(!opts){return defaults;}if(typeof opts.allowEmptyArrays!=='undefined'&&typeof opts.allowEmptyArrays!=='boolean'){throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');}if(typeof opts.encodeDotInKeys!=='undefined'&&typeof opts.encodeDotInKeys!=='boolean'){throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');}if(opts.encoder!==null&&typeof opts.encoder!=='undefined'&&typeof opts.encoder!=='function'){throw new TypeError('Encoder has to be a function.');}var charset=opts.charset||defaults.charset;if(typeof opts.charset!=='undefined'&&opts.charset!=='utf-8'&&opts.charset!=='iso-8859-1'){throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');}var format=formats['default'];if(typeof opts.format!=='undefined'){if(!has.call(formats.formatters,opts.format)){throw new TypeError('Unknown format option provided.');}format=opts.format;}var formatter=formats.formatters[format];var filter=defaults.filter;if(typeof opts.filter==='function'||isArray(opts.filter)){filter=opts.filter;}var arrayFormat;if(opts.arrayFormat in arrayPrefixGenerators){arrayFormat=opts.arrayFormat;}else if('indices'in opts){arrayFormat=opts.indices?'indices':'repeat';}else{arrayFormat=defaults.arrayFormat;}if('commaRoundTrip'in opts&&typeof opts.commaRoundTrip!=='boolean'){throw new TypeError('`commaRoundTrip` must be a boolean, or absent');}var allowDots=typeof opts.allowDots==='undefined'?opts.encodeDotInKeys===true?true:defaults.allowDots:!!opts.allowDots;return{addQueryPrefix:typeof opts.addQueryPrefix==='boolean'?opts.addQueryPrefix:defaults.addQueryPrefix,allowDots:allowDots,allowEmptyArrays:typeof opts.allowEmptyArrays==='boolean'?!!opts.allowEmptyArrays:defaults.allowEmptyArrays,arrayFormat:arrayFormat,charset:charset,charsetSentinel:typeof opts.charsetSentinel==='boolean'?opts.charsetSentinel:defaults.charsetSentinel,commaRoundTrip:!!opts.commaRoundTrip,delimiter:typeof opts.delimiter==='undefined'?defaults.delimiter:opts.delimiter,encode:typeof opts.encode==='boolean'?opts.encode:defaults.encode,encodeDotInKeys:typeof opts.encodeDotInKeys==='boolean'?opts.encodeDotInKeys:defaults.encodeDotInKeys,encoder:typeof opts.encoder==='function'?opts.encoder:defaults.encoder,encodeValuesOnly:typeof opts.encodeValuesOnly==='boolean'?opts.encodeValuesOnly:defaults.encodeValuesOnly,filter:filter,format:format,formatter:formatter,serializeDate:typeof opts.serializeDate==='function'?opts.serializeDate:defaults.serializeDate,skipNulls:typeof opts.skipNulls==='boolean'?opts.skipNulls:defaults.skipNulls,sort:typeof opts.sort==='function'?opts.sort:null,strictNullHandling:typeof opts.strictNullHandling==='boolean'?opts.strictNullHandling:defaults.strictNullHandling};};module.exports=function(object,opts){var obj=object;var options=normalizeStringifyOptions(opts);var objKeys;var filter;if(typeof options.filter==='function'){filter=options.filter;obj=filter('',obj);}else if(isArray(options.filter)){filter=options.filter;objKeys=filter;}var keys=[];if(typeof obj!=='object'||obj===null){return'';}var generateArrayPrefix=arrayPrefixGenerators[options.arrayFormat];var commaRoundTrip=generateArrayPrefix==='comma'&&options.commaRoundTrip;if(!objKeys){objKeys=Object.keys(obj);}if(options.sort){objKeys.sort(options.sort);}var sideChannel=getSideChannel();for(var i=0;i<objKeys.length;++i){var key=objKeys[i];if(typeof key==='undefined'||key===null){continue;}var value=obj[key];if(options.skipNulls&&value===null){continue;}pushToArray(keys,stringify(value,key,generateArrayPrefix,commaRoundTrip,options.allowEmptyArrays,options.strictNullHandling,options.skipNulls,options.encodeDotInKeys,options.encode?options.encoder:null,options.filter,options.sort,options.allowDots,options.serializeDate,options.format,options.formatter,options.encodeValuesOnly,options.charset,sideChannel));}var joined=keys.join(options.delimiter);var prefix=options.addQueryPrefix===true?'?':'';if(options.charsetSentinel){if(options.charset==='iso-8859-1'){// encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
5711
+ prefix+='utf8=%26%2310003%3B'+options.delimiter;}else{// encodeURIComponent('✓')
5712
+ prefix+='utf8=%E2%9C%93'+options.delimiter;}}return joined.length>0?prefix+joined:'';};},{"./formats":267,"./utils":271,"side-channel":307}],271:[function(require,module,exports){'use strict';var formats=require('./formats');var getSideChannel=require('side-channel');var has=Object.prototype.hasOwnProperty;var isArray=Array.isArray;// Track objects created from arrayLimit overflow using side-channel
5365
5713
  // Stores the current max numeric index for O(1) lookup
5366
5714
  var overflowChannel=getSideChannel();var markOverflow=function markOverflow(obj,maxIndex){overflowChannel.set(obj,maxIndex);return obj;};var isOverflow=function isOverflow(obj){return overflowChannel.has(obj);};var getMaxIndex=function getMaxIndex(obj){return overflowChannel.get(obj);};var setMaxIndex=function setMaxIndex(obj,maxIndex){overflowChannel.set(obj,maxIndex);};var hexTable=function(){var array=[];for(var i=0;i<256;++i){array[array.length]='%'+((i<16?'0':'')+i.toString(16)).toUpperCase();}return array;}();var compactQueue=function compactQueue(queue){while(queue.length>1){var item=queue.pop();var obj=item.obj[item.prop];if(isArray(obj)){var compacted=[];for(var j=0;j<obj.length;++j){if(typeof obj[j]!=='undefined'){compacted[compacted.length]=obj[j];}}item.obj[item.prop]=compacted;}}};var arrayToObject=function arrayToObject(source,options){var obj=options&&options.plainObjects?{__proto__:null}:{};for(var i=0;i<source.length;++i){if(typeof source[i]!=='undefined'){obj[i]=source[i];}}return obj;};var merge=function merge(target,source,options){/* eslint no-param-reassign: 0 */if(!source){return target;}if(typeof source!=='object'&&typeof source!=='function'){if(isArray(target)){var nextIndex=target.length;if(options&&typeof options.arrayLimit==='number'&&nextIndex>options.arrayLimit){return markOverflow(arrayToObject(target.concat(source),options),nextIndex);}target[nextIndex]=source;}else if(target&&typeof target==='object'){if(isOverflow(target)){// Add at next numeric index for overflow objects
5367
5715
  var newIndex=getMaxIndex(target)+1;target[newIndex]=source;setMaxIndex(target,newIndex);}else if(options&&options.strictMerge){return[target,source];}else if(options&&(options.plainObjects||options.allowPrototypes)||!has.call(Object.prototype,source)){target[source]=true;}}else{return[target,source];}return target;}if(!target||typeof target!=='object'){if(isOverflow(source)){// Create new object with target at 0, source values shifted by 1
@@ -5378,7 +5726,7 @@ if(str.length===0){return str;}var string=str;if(typeof str==='symbol'){string=S
5378
5726
  ||c>=0x61&&c<=0x7A// A-Z
5379
5727
  ||format===formats.RFC1738&&(c===0x28||c===0x29)// ( )
5380
5728
  ){arr[arr.length]=segment.charAt(i);continue;}if(c<0x80){arr[arr.length]=hexTable[c];continue;}if(c<0x800){arr[arr.length]=hexTable[0xC0|c>>6]+hexTable[0x80|c&0x3F];continue;}if(c<0xD800||c>=0xE000){arr[arr.length]=hexTable[0xE0|c>>12]+hexTable[0x80|c>>6&0x3F]+hexTable[0x80|c&0x3F];continue;}i+=1;c=0x10000+((c&0x3FF)<<10|segment.charCodeAt(i)&0x3FF);arr[arr.length]=hexTable[0xF0|c>>18]+hexTable[0x80|c>>12&0x3F]+hexTable[0x80|c>>6&0x3F]+hexTable[0x80|c&0x3F];}out+=arr.join('');}return out;};var compact=function compact(value){var queue=[{obj:{o:value},prop:'o'}];var refs=[];for(var i=0;i<queue.length;++i){var item=queue[i];var obj=item.obj[item.prop];var keys=Object.keys(obj);for(var j=0;j<keys.length;++j){var key=keys[j];var val=obj[key];if(typeof val==='object'&&val!==null&&refs.indexOf(val)===-1){queue[queue.length]={obj:obj,prop:key};refs[refs.length]=val;}}}compactQueue(queue);return value;};var isRegExp=function isRegExp(obj){return Object.prototype.toString.call(obj)==='[object RegExp]';};var isBuffer=function isBuffer(obj){if(!obj||typeof obj!=='object'){return false;}return!!(obj.constructor&&obj.constructor.isBuffer&&obj.constructor.isBuffer(obj));};var combine=function combine(a,b,arrayLimit,plainObjects){// If 'a' is already an overflow object, add to it
5381
- if(isOverflow(a)){var newIndex=getMaxIndex(a)+1;a[newIndex]=b;setMaxIndex(a,newIndex);return a;}var result=[].concat(a,b);if(result.length>arrayLimit){return markOverflow(arrayToObject(result,{plainObjects:plainObjects}),result.length-1);}return result;};var maybeMap=function maybeMap(val,fn){if(isArray(val)){var mapped=[];for(var i=0;i<val.length;i+=1){mapped[mapped.length]=fn(val[i]);}return mapped;}return fn(val);};module.exports={arrayToObject:arrayToObject,assign:assign,combine:combine,compact:compact,decode:decode,encode:encode,isBuffer:isBuffer,isOverflow:isOverflow,isRegExp:isRegExp,markOverflow:markOverflow,maybeMap:maybeMap,merge:merge};},{"./formats":265,"side-channel":305}],270:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
5729
+ if(isOverflow(a)){var newIndex=getMaxIndex(a)+1;a[newIndex]=b;setMaxIndex(a,newIndex);return a;}var result=[].concat(a,b);if(result.length>arrayLimit){return markOverflow(arrayToObject(result,{plainObjects:plainObjects}),result.length-1);}return result;};var maybeMap=function maybeMap(val,fn){if(isArray(val)){var mapped=[];for(var i=0;i<val.length;i+=1){mapped[mapped.length]=fn(val[i]);}return mapped;}return fn(val);};module.exports={arrayToObject:arrayToObject,assign:assign,combine:combine,compact:compact,decode:decode,encode:encode,isBuffer:isBuffer,isOverflow:isOverflow,isRegExp:isRegExp,markOverflow:markOverflow,maybeMap:maybeMap,merge:merge};},{"./formats":267,"side-channel":307}],272:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
5382
5730
  //
5383
5731
  // Permission is hereby granted, free of charge, to any person obtaining a
5384
5732
  // copy of this software and associated documentation files (the
@@ -5402,7 +5750,7 @@ if(isOverflow(a)){var newIndex=getMaxIndex(a)+1;a[newIndex]=b;setMaxIndex(a,newI
5402
5750
  // obj.hasOwnProperty(prop) will break.
5403
5751
  // See: https://github.com/joyent/node/issues/1707
5404
5752
  function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop);}module.exports=function(qs,sep,eq,options){sep=sep||'&';eq=eq||'=';var obj={};if(typeof qs!=='string'||qs.length===0){return obj;}var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1000;if(options&&typeof options.maxKeys==='number'){maxKeys=options.maxKeys;}var len=qs.length;// maxKeys <= 0 means that we should not limit keys count
5405
- if(maxKeys>0&&len>maxKeys){len=maxKeys;}for(var i=0;i<len;++i){var x=qs[i].replace(regexp,'%20'),idx=x.indexOf(eq),kstr,vstr,k,v;if(idx>=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1);}else{kstr=x;vstr='';}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v;}else if(isArray(obj[k])){obj[k].push(v);}else{obj[k]=[obj[k],v];}}return obj;};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==='[object Array]';};},{}],271:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
5753
+ if(maxKeys>0&&len>maxKeys){len=maxKeys;}for(var i=0;i<len;++i){var x=qs[i].replace(regexp,'%20'),idx=x.indexOf(eq),kstr,vstr,k,v;if(idx>=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1);}else{kstr=x;vstr='';}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v;}else if(isArray(obj[k])){obj[k].push(v);}else{obj[k]=[obj[k],v];}}return obj;};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==='[object Array]';};},{}],273:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
5406
5754
  //
5407
5755
  // Permission is hereby granted, free of charge, to any person obtaining a
5408
5756
  // copy of this software and associated documentation files (the
@@ -5422,7 +5770,7 @@ if(maxKeys>0&&len>maxKeys){len=maxKeys;}for(var i=0;i<len;++i){var x=qs[i].repla
5422
5770
  // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5423
5771
  // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5424
5772
  // USE OR OTHER DEALINGS IN THE SOFTWARE.
5425
- 'use strict';var stringifyPrimitive=function(v){switch(typeof v){case'string':return v;case'boolean':return v?'true':'false';case'number':return isFinite(v)?v:'';default:return'';}};module.exports=function(obj,sep,eq,name){sep=sep||'&';eq=eq||'=';if(obj===null){obj=undefined;}if(typeof obj==='object'){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v));}).join(sep);}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]));}}).join(sep);}if(!name)return'';return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj));};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==='[object Array]';};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i<xs.length;i++){res.push(f(xs[i],i));}return res;}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))res.push(key);}return res;};},{}],272:[function(require,module,exports){'use strict';exports.decode=exports.parse=require('./decode');exports.encode=exports.stringify=require('./encode');},{"./decode":270,"./encode":271}],273:[function(require,module,exports){(function(process,global){(function(){'use strict';// limit of Crypto.getRandomValues()
5773
+ 'use strict';var stringifyPrimitive=function(v){switch(typeof v){case'string':return v;case'boolean':return v?'true':'false';case'number':return isFinite(v)?v:'';default:return'';}};module.exports=function(obj,sep,eq,name){sep=sep||'&';eq=eq||'=';if(obj===null){obj=undefined;}if(typeof obj==='object'){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v));}).join(sep);}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]));}}).join(sep);}if(!name)return'';return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj));};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==='[object Array]';};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i<xs.length;i++){res.push(f(xs[i],i));}return res;}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))res.push(key);}return res;};},{}],274:[function(require,module,exports){'use strict';exports.decode=exports.parse=require('./decode');exports.encode=exports.stringify=require('./encode');},{"./decode":272,"./encode":273}],275:[function(require,module,exports){(function(process,global){(function(){'use strict';// limit of Crypto.getRandomValues()
5426
5774
  // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues
5427
5775
  var MAX_BYTES=65536;// Node supports requesting up to this number of bytes
5428
5776
  // https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48
@@ -5432,20 +5780,20 @@ if(size>MAX_BYTES){// this is the max bytes crypto.getRandomValues
5432
5780
  // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
5433
5781
  for(var generated=0;generated<size;generated+=MAX_BYTES){// buffer.slice automatically checks if the end is past the end of
5434
5782
  // the buffer so we don't have to here
5435
- crypto.getRandomValues(bytes.slice(generated,generated+MAX_BYTES));}}else{crypto.getRandomValues(bytes);}}if(typeof cb==='function'){return process.nextTick(function(){cb(null,bytes);});}return bytes;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"_process":256,"safe-buffer":291}],274:[function(require,module,exports){(function(process,global){(function(){'use strict';function oldBrowser(){throw new Error('secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11');}var safeBuffer=require('safe-buffer');var randombytes=require('randombytes');var Buffer=safeBuffer.Buffer;var kBufferMaxLength=safeBuffer.kMaxLength;var crypto=global.crypto||global.msCrypto;var kMaxUint32=Math.pow(2,32)-1;function assertOffset(offset,length){if(typeof offset!=='number'||offset!==offset){// eslint-disable-line no-self-compare
5783
+ crypto.getRandomValues(bytes.slice(generated,generated+MAX_BYTES));}}else{crypto.getRandomValues(bytes);}}if(typeof cb==='function'){return process.nextTick(function(){cb(null,bytes);});}return bytes;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"_process":258,"safe-buffer":293}],276:[function(require,module,exports){(function(process,global){(function(){'use strict';function oldBrowser(){throw new Error('secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11');}var safeBuffer=require('safe-buffer');var randombytes=require('randombytes');var Buffer=safeBuffer.Buffer;var kBufferMaxLength=safeBuffer.kMaxLength;var crypto=global.crypto||global.msCrypto;var kMaxUint32=Math.pow(2,32)-1;function assertOffset(offset,length){if(typeof offset!=='number'||offset!==offset){// eslint-disable-line no-self-compare
5436
5784
  throw new TypeError('offset must be a number');}if(offset>kMaxUint32||offset<0){throw new TypeError('offset must be a uint32');}if(offset>kBufferMaxLength||offset>length){throw new RangeError('offset out of range');}}function assertSize(size,offset,length){if(typeof size!=='number'||size!==size){// eslint-disable-line no-self-compare
5437
- throw new TypeError('size must be a number');}if(size>kMaxUint32||size<0){throw new TypeError('size must be a uint32');}if(size+offset>length||size>kBufferMaxLength){throw new RangeError('buffer too small');}}if(crypto&&crypto.getRandomValues||!process.browser){exports.randomFill=randomFill;exports.randomFillSync=randomFillSync;}else{exports.randomFill=oldBrowser;exports.randomFillSync=oldBrowser;}function randomFill(buf,offset,size,cb){if(!Buffer.isBuffer(buf)&&!(buf instanceof global.Uint8Array)){throw new TypeError('"buf" argument must be a Buffer or Uint8Array');}if(typeof offset==='function'){cb=offset;offset=0;size=buf.length;}else if(typeof size==='function'){cb=size;size=buf.length-offset;}else if(typeof cb!=='function'){throw new TypeError('"cb" argument must be a function');}assertOffset(offset,buf.length);assertSize(size,offset,buf.length);return actualFill(buf,offset,size,cb);}function actualFill(buf,offset,size,cb){if(process.browser){var ourBuf=buf.buffer;var uint=new Uint8Array(ourBuf,offset,size);crypto.getRandomValues(uint);if(cb){process.nextTick(function(){cb(null,buf);});return;}return buf;}if(cb){randombytes(size,function(err,bytes){if(err){return cb(err);}bytes.copy(buf,offset);cb(null,buf);});return;}var bytes=randombytes(size);bytes.copy(buf,offset);return buf;}function randomFillSync(buf,offset,size){if(typeof offset==='undefined'){offset=0;}if(!Buffer.isBuffer(buf)&&!(buf instanceof global.Uint8Array)){throw new TypeError('"buf" argument must be a Buffer or Uint8Array');}assertOffset(offset,buf.length);if(size===undefined)size=buf.length-offset;assertSize(size,offset,buf.length);return actualFill(buf,offset,size);}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"_process":256,"randombytes":273,"safe-buffer":291}],275:[function(require,module,exports){'use strict';var Buffer=require('buffer').Buffer;var inherits=require('inherits');var HashBase=require('hash-base');var ARRAY16=new Array(16);var zl=[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];var zr=[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];var sl=[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];var sr=[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];var hl=[0x00000000,0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xa953fd4e];var hr=[0x50a28be6,0x5c4dd124,0x6d703ef3,0x7a6d76e9,0x00000000];function rotl(x,n){return x<<n|x>>>32-n;}function fn1(a,b,c,d,e,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+e|0;}function fn2(a,b,c,d,e,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+e|0;}function fn3(a,b,c,d,e,m,k,s){return rotl(a+((b|~c)^d)+m+k|0,s)+e|0;}function fn4(a,b,c,d,e,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+e|0;}function fn5(a,b,c,d,e,m,k,s){return rotl(a+(b^(c|~d))+m+k|0,s)+e|0;}function RIPEMD160(){HashBase.call(this,64);// state
5785
+ throw new TypeError('size must be a number');}if(size>kMaxUint32||size<0){throw new TypeError('size must be a uint32');}if(size+offset>length||size>kBufferMaxLength){throw new RangeError('buffer too small');}}if(crypto&&crypto.getRandomValues||!process.browser){exports.randomFill=randomFill;exports.randomFillSync=randomFillSync;}else{exports.randomFill=oldBrowser;exports.randomFillSync=oldBrowser;}function randomFill(buf,offset,size,cb){if(!Buffer.isBuffer(buf)&&!(buf instanceof global.Uint8Array)){throw new TypeError('"buf" argument must be a Buffer or Uint8Array');}if(typeof offset==='function'){cb=offset;offset=0;size=buf.length;}else if(typeof size==='function'){cb=size;size=buf.length-offset;}else if(typeof cb!=='function'){throw new TypeError('"cb" argument must be a function');}assertOffset(offset,buf.length);assertSize(size,offset,buf.length);return actualFill(buf,offset,size,cb);}function actualFill(buf,offset,size,cb){if(process.browser){var ourBuf=buf.buffer;var uint=new Uint8Array(ourBuf,offset,size);crypto.getRandomValues(uint);if(cb){process.nextTick(function(){cb(null,buf);});return;}return buf;}if(cb){randombytes(size,function(err,bytes){if(err){return cb(err);}bytes.copy(buf,offset);cb(null,buf);});return;}var bytes=randombytes(size);bytes.copy(buf,offset);return buf;}function randomFillSync(buf,offset,size){if(typeof offset==='undefined'){offset=0;}if(!Buffer.isBuffer(buf)&&!(buf instanceof global.Uint8Array)){throw new TypeError('"buf" argument must be a Buffer or Uint8Array');}assertOffset(offset,buf.length);if(size===undefined)size=buf.length-offset;assertSize(size,offset,buf.length);return actualFill(buf,offset,size);}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"_process":258,"randombytes":275,"safe-buffer":293}],277:[function(require,module,exports){'use strict';var Buffer=require('buffer').Buffer;var inherits=require('inherits');var HashBase=require('hash-base');var ARRAY16=new Array(16);var zl=[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];var zr=[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];var sl=[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];var sr=[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];var hl=[0x00000000,0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xa953fd4e];var hr=[0x50a28be6,0x5c4dd124,0x6d703ef3,0x7a6d76e9,0x00000000];function rotl(x,n){return x<<n|x>>>32-n;}function fn1(a,b,c,d,e,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+e|0;}function fn2(a,b,c,d,e,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+e|0;}function fn3(a,b,c,d,e,m,k,s){return rotl(a+((b|~c)^d)+m+k|0,s)+e|0;}function fn4(a,b,c,d,e,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+e|0;}function fn5(a,b,c,d,e,m,k,s){return rotl(a+(b^(c|~d))+m+k|0,s)+e|0;}function RIPEMD160(){HashBase.call(this,64);// state
5438
5786
  this._a=0x67452301;this._b=0xefcdab89;this._c=0x98badcfe;this._d=0x10325476;this._e=0xc3d2e1f0;}inherits(RIPEMD160,HashBase);RIPEMD160.prototype._update=function(){var words=ARRAY16;for(var j=0;j<16;++j){words[j]=this._block.readInt32LE(j*4);}var al=this._a|0;var bl=this._b|0;var cl=this._c|0;var dl=this._d|0;var el=this._e|0;var ar=this._a|0;var br=this._b|0;var cr=this._c|0;var dr=this._d|0;var er=this._e|0;// computation
5439
5787
  for(var i=0;i<80;i+=1){var tl;var tr;if(i<16){tl=fn1(al,bl,cl,dl,el,words[zl[i]],hl[0],sl[i]);tr=fn5(ar,br,cr,dr,er,words[zr[i]],hr[0],sr[i]);}else if(i<32){tl=fn2(al,bl,cl,dl,el,words[zl[i]],hl[1],sl[i]);tr=fn4(ar,br,cr,dr,er,words[zr[i]],hr[1],sr[i]);}else if(i<48){tl=fn3(al,bl,cl,dl,el,words[zl[i]],hl[2],sl[i]);tr=fn3(ar,br,cr,dr,er,words[zr[i]],hr[2],sr[i]);}else if(i<64){tl=fn4(al,bl,cl,dl,el,words[zl[i]],hl[3],sl[i]);tr=fn2(ar,br,cr,dr,er,words[zr[i]],hr[3],sr[i]);}else{// if (i<80) {
5440
5788
  tl=fn5(al,bl,cl,dl,el,words[zl[i]],hl[4],sl[i]);tr=fn1(ar,br,cr,dr,er,words[zr[i]],hr[4],sr[i]);}al=el;el=dl;dl=rotl(cl,10);cl=bl;bl=tl;ar=er;er=dr;dr=rotl(cr,10);cr=br;br=tr;}// update state
5441
5789
  var t=this._b+cl+dr|0;this._b=this._c+dl+er|0;this._c=this._d+el+ar|0;this._d=this._e+al+br|0;this._e=this._a+bl+cr|0;this._a=t;};RIPEMD160.prototype._digest=function(){// create padding and handle blocks
5442
5790
  this._block[this._blockOffset]=0x80;this._blockOffset+=1;if(this._blockOffset>56){this._block.fill(0,this._blockOffset,64);this._update();this._blockOffset=0;}this._block.fill(0,this._blockOffset,56);this._block.writeUInt32LE(this._length[0],56);this._block.writeUInt32LE(this._length[1],60);this._update();// produce result
5443
5791
  var buffer=Buffer.alloc?Buffer.alloc(20):new Buffer(20);// eslint-disable-line no-buffer-constructor
5444
- buffer.writeInt32LE(this._a,0);buffer.writeInt32LE(this._b,4);buffer.writeInt32LE(this._c,8);buffer.writeInt32LE(this._d,12);buffer.writeInt32LE(this._e,16);return buffer;};module.exports=RIPEMD160;},{"buffer":83,"hash-base":276,"inherits":189}],276:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var toBuffer=require('./to-buffer');var Transform=require('readable-stream').Transform;var inherits=require('inherits');function HashBase(blockSize){Transform.call(this);this._block=Buffer.allocUnsafe(blockSize);this._blockSize=blockSize;this._blockOffset=0;this._length=[0,0,0,0];this._finalized=false;}inherits(HashBase,Transform);HashBase.prototype._transform=function(chunk,encoding,callback){var error=null;try{this.update(chunk,encoding);}catch(err){error=err;}callback(error);};HashBase.prototype._flush=function(callback){var error=null;try{this.push(this.digest());}catch(err){error=err;}callback(error);};HashBase.prototype.update=function(data,encoding){if(this._finalized){throw new Error('Digest already called');}var dataBuffer=toBuffer(data,encoding);// asserts correct input type
5792
+ buffer.writeInt32LE(this._a,0);buffer.writeInt32LE(this._b,4);buffer.writeInt32LE(this._c,8);buffer.writeInt32LE(this._d,12);buffer.writeInt32LE(this._e,16);return buffer;};module.exports=RIPEMD160;},{"buffer":83,"hash-base":278,"inherits":190}],278:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var toBuffer=require('./to-buffer');var Transform=require('readable-stream').Transform;var inherits=require('inherits');function HashBase(blockSize){Transform.call(this);this._block=Buffer.allocUnsafe(blockSize);this._blockSize=blockSize;this._blockOffset=0;this._length=[0,0,0,0];this._finalized=false;}inherits(HashBase,Transform);HashBase.prototype._transform=function(chunk,encoding,callback){var error=null;try{this.update(chunk,encoding);}catch(err){error=err;}callback(error);};HashBase.prototype._flush=function(callback){var error=null;try{this.push(this.digest());}catch(err){error=err;}callback(error);};HashBase.prototype.update=function(data,encoding){if(this._finalized){throw new Error('Digest already called');}var dataBuffer=toBuffer(data,encoding);// asserts correct input type
5445
5793
  // consume data
5446
5794
  var block=this._block;var offset=0;while(this._blockOffset+dataBuffer.length-offset>=this._blockSize){for(var i=this._blockOffset;i<this._blockSize;){block[i]=dataBuffer[offset];i+=1;offset+=1;}this._update();this._blockOffset=0;}while(offset<dataBuffer.length){block[this._blockOffset]=dataBuffer[offset];this._blockOffset+=1;offset+=1;}// update length
5447
5795
  for(var j=0,carry=dataBuffer.length*8;carry>0;++j){this._length[j]+=carry;carry=this._length[j]/0x0100000000|0;if(carry>0){this._length[j]-=0x0100000000*carry;}}return this;};HashBase.prototype._update=function(){throw new Error('_update is not implemented');};HashBase.prototype.digest=function(encoding){if(this._finalized){throw new Error('Digest already called');}this._finalized=true;var digest=this._digest();if(encoding!==undefined){digest=digest.toString(encoding);}// reset state
5448
- this._block.fill(0);this._blockOffset=0;for(var i=0;i<4;++i){this._length[i]=0;}return digest;};HashBase.prototype._digest=function(){throw new Error('_digest is not implemented');};module.exports=HashBase;},{"./to-buffer":277,"inherits":189,"readable-stream":288,"safe-buffer":291}],277:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var toBuffer=require('to-buffer');var useUint8Array=typeof Uint8Array!=='undefined';var useArrayBuffer=useUint8Array&&typeof ArrayBuffer!=='undefined';var isView=useArrayBuffer&&ArrayBuffer.isView;module.exports=function(thing,encoding){if(typeof thing==='string'||Buffer.isBuffer(thing)||useUint8Array&&thing instanceof Uint8Array||isView&&isView(thing)){return toBuffer(thing,encoding);}throw new TypeError('The "data" argument must be a string, a Buffer, a Uint8Array, or a DataView');};},{"safe-buffer":291,"to-buffer":345}],278:[function(require,module,exports){arguments[4][66][0].apply(exports,arguments);},{"dup":66}],279:[function(require,module,exports){arguments[4][67][0].apply(exports,arguments);},{"./_stream_readable":281,"./_stream_writable":283,"core-util-is":94,"dup":67,"inherits":189,"process-nextick-args":255}],280:[function(require,module,exports){arguments[4][68][0].apply(exports,arguments);},{"./_stream_transform":282,"core-util-is":94,"dup":68,"inherits":189}],281:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
5796
+ this._block.fill(0);this._blockOffset=0;for(var i=0;i<4;++i){this._length[i]=0;}return digest;};HashBase.prototype._digest=function(){throw new Error('_digest is not implemented');};module.exports=HashBase;},{"./to-buffer":279,"inherits":190,"readable-stream":290,"safe-buffer":293}],279:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var toBuffer=require('to-buffer');var useUint8Array=typeof Uint8Array!=='undefined';var useArrayBuffer=useUint8Array&&typeof ArrayBuffer!=='undefined';var isView=useArrayBuffer&&ArrayBuffer.isView;module.exports=function(thing,encoding){if(typeof thing==='string'||Buffer.isBuffer(thing)||useUint8Array&&thing instanceof Uint8Array||isView&&isView(thing)){return toBuffer(thing,encoding);}throw new TypeError('The "data" argument must be a string, a Buffer, a Uint8Array, or a DataView');};},{"safe-buffer":293,"to-buffer":347}],280:[function(require,module,exports){arguments[4][66][0].apply(exports,arguments);},{"dup":66}],281:[function(require,module,exports){arguments[4][67][0].apply(exports,arguments);},{"./_stream_readable":283,"./_stream_writable":285,"core-util-is":94,"dup":67,"inherits":190,"process-nextick-args":257}],282:[function(require,module,exports){arguments[4][68][0].apply(exports,arguments);},{"./_stream_transform":284,"core-util-is":94,"dup":68,"inherits":190}],283:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
5449
5797
  //
5450
5798
  // Permission is hereby granted, free of charge, to any person obtaining a
5451
5799
  // copy of this software and associated documentation files (the
@@ -5647,7 +5995,7 @@ function copyFromBufferString(n,list){var p=list.head;var c=1;var ret=p.data;n-=
5647
5995
  function copyFromBuffer(n,list){var ret=Buffer.allocUnsafe(n);var p=list.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)list.head=p.next;else list.head=list.tail=null;}else{list.head=p;p.data=buf.slice(nb);}break;}++c;}list.length-=c;return ret;}function endReadable(stream){var state=stream._readableState;// If we get here before consuming all the bytes, then that is a
5648
5996
  // bug in node. Should never happen.
5649
5997
  if(state.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!state.endEmitted){state.ended=true;pna.nextTick(endReadableNT,state,stream);}}function endReadableNT(state,stream){// Check that we didn't get one last unshift.
5650
- if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit('end');}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i;}return-1;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./_stream_duplex":279,"./internal/streams/BufferList":284,"./internal/streams/destroy":285,"./internal/streams/stream":286,"_process":256,"core-util-is":94,"events":141,"inherits":189,"isarray":278,"process-nextick-args":255,"safe-buffer":287,"string_decoder/":289,"util":38}],282:[function(require,module,exports){arguments[4][70][0].apply(exports,arguments);},{"./_stream_duplex":279,"core-util-is":94,"dup":70,"inherits":189}],283:[function(require,module,exports){(function(process,global,setImmediate){(function(){// Copyright Joyent, Inc. and other Node contributors.
5998
+ if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit('end');}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i;}return-1;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./_stream_duplex":281,"./internal/streams/BufferList":286,"./internal/streams/destroy":287,"./internal/streams/stream":288,"_process":258,"core-util-is":94,"events":141,"inherits":190,"isarray":280,"process-nextick-args":257,"safe-buffer":289,"string_decoder/":291,"util":38}],284:[function(require,module,exports){arguments[4][70][0].apply(exports,arguments);},{"./_stream_duplex":281,"core-util-is":94,"dup":70,"inherits":190}],285:[function(require,module,exports){(function(process,global,setImmediate){(function(){// Copyright Joyent, Inc. and other Node contributors.
5651
5999
  //
5652
6000
  // Permission is hereby granted, free of charge, to any person obtaining a
5653
6001
  // copy of this software and associated documentation files (the
@@ -5768,46 +6116,46 @@ state.corkedRequestsFree.next=corkReq;}Object.defineProperty(Writable.prototype,
5768
6116
  // has not been initialized yet
5769
6117
  if(!this._writableState){return;}// backward compatibility, the user is explicitly
5770
6118
  // managing destroyed
5771
- this._writableState.destroyed=value;}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){this.end();cb(err);};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("timers").setImmediate);},{"./_stream_duplex":279,"./internal/streams/destroy":285,"./internal/streams/stream":286,"_process":256,"core-util-is":94,"inherits":189,"process-nextick-args":255,"safe-buffer":287,"timers":344,"util-deprecate":350}],284:[function(require,module,exports){arguments[4][72][0].apply(exports,arguments);},{"dup":72,"safe-buffer":287,"util":38}],285:[function(require,module,exports){arguments[4][73][0].apply(exports,arguments);},{"dup":73,"process-nextick-args":255}],286:[function(require,module,exports){arguments[4][74][0].apply(exports,arguments);},{"dup":74,"events":141}],287:[function(require,module,exports){arguments[4][75][0].apply(exports,arguments);},{"buffer":83,"dup":75}],288:[function(require,module,exports){arguments[4][76][0].apply(exports,arguments);},{"./lib/_stream_duplex.js":279,"./lib/_stream_passthrough.js":280,"./lib/_stream_readable.js":281,"./lib/_stream_transform.js":282,"./lib/_stream_writable.js":283,"dup":76}],289:[function(require,module,exports){arguments[4][77][0].apply(exports,arguments);},{"dup":77,"safe-buffer":290}],290:[function(require,module,exports){arguments[4][75][0].apply(exports,arguments);},{"buffer":83,"dup":75}],291:[function(require,module,exports){/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *//* eslint-disable node/no-deprecated-api */var buffer=require('buffer');var Buffer=buffer.Buffer;// alternative to using Object.keys for old browsers
6119
+ this._writableState.destroyed=value;}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){this.end();cb(err);};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("timers").setImmediate);},{"./_stream_duplex":281,"./internal/streams/destroy":287,"./internal/streams/stream":288,"_process":258,"core-util-is":94,"inherits":190,"process-nextick-args":257,"safe-buffer":289,"timers":346,"util-deprecate":352}],286:[function(require,module,exports){arguments[4][72][0].apply(exports,arguments);},{"dup":72,"safe-buffer":289,"util":38}],287:[function(require,module,exports){arguments[4][73][0].apply(exports,arguments);},{"dup":73,"process-nextick-args":257}],288:[function(require,module,exports){arguments[4][74][0].apply(exports,arguments);},{"dup":74,"events":141}],289:[function(require,module,exports){arguments[4][75][0].apply(exports,arguments);},{"buffer":83,"dup":75}],290:[function(require,module,exports){arguments[4][76][0].apply(exports,arguments);},{"./lib/_stream_duplex.js":281,"./lib/_stream_passthrough.js":282,"./lib/_stream_readable.js":283,"./lib/_stream_transform.js":284,"./lib/_stream_writable.js":285,"dup":76}],291:[function(require,module,exports){arguments[4][77][0].apply(exports,arguments);},{"dup":77,"safe-buffer":292}],292:[function(require,module,exports){arguments[4][75][0].apply(exports,arguments);},{"buffer":83,"dup":75}],293:[function(require,module,exports){/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *//* eslint-disable node/no-deprecated-api */var buffer=require('buffer');var Buffer=buffer.Buffer;// alternative to using Object.keys for old browsers
5772
6120
  function copyProps(src,dst){for(var key in src){dst[key]=src[key];}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer;}else{// Copy properties from require('buffer')
5773
6121
  copyProps(buffer,exports);exports.Buffer=SafeBuffer;}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length);}SafeBuffer.prototype=Object.create(Buffer.prototype);// Copy static methods from Buffer
5774
- copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==='number'){throw new TypeError('Argument must not be a number');}return Buffer(arg,encodingOrOffset,length);};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==='string'){buf.fill(fill,encoding);}else{buf.fill(fill);}}else{buf.fill(0);}return buf;};SafeBuffer.allocUnsafe=function(size){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}return Buffer(size);};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}return buffer.SlowBuffer(size);};},{"buffer":83}],292:[function(require,module,exports){'use strict';var callBound=require('call-bound');var isRegex=require('is-regex');var $exec=callBound('RegExp.prototype.exec');var $TypeError=require('es-errors/type');/** @type {import('.')} */module.exports=function regexTester(regex){if(!isRegex(regex)){throw new $TypeError('`regex` must be a RegExp');}return function test(s){return $exec(regex,s)!==null;};};},{"call-bound":92,"es-errors/type":138,"is-regex":197}],293:[function(require,module,exports){'use strict';var GetIntrinsic=require('get-intrinsic');var define=require('define-data-property');var hasDescriptors=require('has-property-descriptors')();var gOPD=require('gopd');var $TypeError=require('es-errors/type');var $floor=GetIntrinsic('%Math.floor%');/** @type {import('.')} */module.exports=function setFunctionLength(fn,length){if(typeof fn!=='function'){throw new $TypeError('`fn` is not a function');}if(typeof length!=='number'||length<0||length>0xFFFFFFFF||$floor(length)!==length){throw new $TypeError('`length` must be a positive 32-bit integer');}var loose=arguments.length>2&&!!arguments[2];var functionLengthIsConfigurable=true;var functionLengthIsWritable=true;if('length'in fn&&gOPD){var desc=gOPD(fn,'length');if(desc&&!desc.configurable){functionLengthIsConfigurable=false;}if(desc&&!desc.writable){functionLengthIsWritable=false;}}if(functionLengthIsConfigurable||functionLengthIsWritable||!loose){if(hasDescriptors){define(/** @type {Parameters<define>[0]} */fn,'length',length,true,true);}else{define(/** @type {Parameters<define>[0]} */fn,'length',length);}}return fn;};},{"define-data-property":102,"es-errors/type":138,"get-intrinsic":162,"gopd":167,"has-property-descriptors":168}],294:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var toBuffer=require('to-buffer');// prototype class for hash functions
6122
+ copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==='number'){throw new TypeError('Argument must not be a number');}return Buffer(arg,encodingOrOffset,length);};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==='string'){buf.fill(fill,encoding);}else{buf.fill(fill);}}else{buf.fill(0);}return buf;};SafeBuffer.allocUnsafe=function(size){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}return Buffer(size);};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}return buffer.SlowBuffer(size);};},{"buffer":83}],294:[function(require,module,exports){'use strict';var callBound=require('call-bound');var isRegex=require('is-regex');var $exec=callBound('RegExp.prototype.exec');var $TypeError=require('es-errors/type');/** @type {import('.')} */module.exports=function regexTester(regex){if(!isRegex(regex)){throw new $TypeError('`regex` must be a RegExp');}return function test(s){return $exec(regex,s)!==null;};};},{"call-bound":92,"es-errors/type":138,"is-regex":198}],295:[function(require,module,exports){'use strict';var GetIntrinsic=require('get-intrinsic');var define=require('define-data-property');var hasDescriptors=require('has-property-descriptors')();var gOPD=require('gopd');var $TypeError=require('es-errors/type');var $floor=GetIntrinsic('%Math.floor%');/** @type {import('.')} */module.exports=function setFunctionLength(fn,length){if(typeof fn!=='function'){throw new $TypeError('`fn` is not a function');}if(typeof length!=='number'||length<0||length>0xFFFFFFFF||$floor(length)!==length){throw new $TypeError('`length` must be a positive 32-bit integer');}var loose=arguments.length>2&&!!arguments[2];var functionLengthIsConfigurable=true;var functionLengthIsWritable=true;if('length'in fn&&gOPD){var desc=gOPD(fn,'length');if(desc&&!desc.configurable){functionLengthIsConfigurable=false;}if(desc&&!desc.writable){functionLengthIsWritable=false;}}if(functionLengthIsConfigurable||functionLengthIsWritable||!loose){if(hasDescriptors){define(/** @type {Parameters<define>[0]} */fn,'length',length,true,true);}else{define(/** @type {Parameters<define>[0]} */fn,'length',length);}}return fn;};},{"define-data-property":102,"es-errors/type":138,"get-intrinsic":163,"gopd":168,"has-property-descriptors":169}],296:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var toBuffer=require('to-buffer');// prototype class for hash functions
5775
6123
  function Hash(blockSize,finalSize){this._block=Buffer.alloc(blockSize);this._finalSize=finalSize;this._blockSize=blockSize;this._len=0;}Hash.prototype.update=function(data,enc){/* eslint no-param-reassign: 0 */data=toBuffer(data,enc||'utf8');var block=this._block;var blockSize=this._blockSize;var length=data.length;var accum=this._len;for(var offset=0;offset<length;){var assigned=accum%blockSize;var remainder=Math.min(length-offset,blockSize-assigned);for(var i=0;i<remainder;i++){block[assigned+i]=data[offset+i];}accum+=remainder;offset+=remainder;if(accum%blockSize===0){this._update(block);}}this._len+=length;return this;};Hash.prototype.digest=function(enc){var rem=this._len%this._blockSize;this._block[rem]=0x80;/*
5776
6124
  * zero (rem + 1) trailing bits, where (rem + 1) is the smallest
5777
6125
  * non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize
5778
6126
  */this._block.fill(0,rem+1);if(rem>=this._finalSize){this._update(this._block);this._block.fill(0);}var bits=this._len*8;// uint32
5779
6127
  if(bits<=0xffffffff){this._block.writeUInt32BE(bits,this._blockSize-4);// uint64
5780
- }else{var lowBits=(bits&0xffffffff)>>>0;var highBits=(bits-lowBits)/0x100000000;this._block.writeUInt32BE(highBits,this._blockSize-8);this._block.writeUInt32BE(lowBits,this._blockSize-4);}this._update(this._block);var hash=this._hash();return enc?hash.toString(enc):hash;};Hash.prototype._update=function(){throw new Error('_update must be implemented by subclass');};module.exports=Hash;},{"safe-buffer":291,"to-buffer":345}],295:[function(require,module,exports){'use strict';module.exports=function SHA(algorithm){var alg=algorithm.toLowerCase();var Algorithm=module.exports[alg];if(!Algorithm){throw new Error(alg+' is not supported (we accept pull requests)');}return new Algorithm();};module.exports.sha=require('./sha');module.exports.sha1=require('./sha1');module.exports.sha224=require('./sha224');module.exports.sha256=require('./sha256');module.exports.sha384=require('./sha384');module.exports.sha512=require('./sha512');},{"./sha":296,"./sha1":297,"./sha224":298,"./sha256":299,"./sha384":300,"./sha512":301}],296:[function(require,module,exports){'use strict';/*
6128
+ }else{var lowBits=(bits&0xffffffff)>>>0;var highBits=(bits-lowBits)/0x100000000;this._block.writeUInt32BE(highBits,this._blockSize-8);this._block.writeUInt32BE(lowBits,this._blockSize-4);}this._update(this._block);var hash=this._hash();return enc?hash.toString(enc):hash;};Hash.prototype._update=function(){throw new Error('_update must be implemented by subclass');};module.exports=Hash;},{"safe-buffer":293,"to-buffer":347}],297:[function(require,module,exports){'use strict';module.exports=function SHA(algorithm){var alg=algorithm.toLowerCase();var Algorithm=module.exports[alg];if(!Algorithm){throw new Error(alg+' is not supported (we accept pull requests)');}return new Algorithm();};module.exports.sha=require('./sha');module.exports.sha1=require('./sha1');module.exports.sha224=require('./sha224');module.exports.sha256=require('./sha256');module.exports.sha384=require('./sha384');module.exports.sha512=require('./sha512');},{"./sha":298,"./sha1":299,"./sha224":300,"./sha256":301,"./sha384":302,"./sha512":303}],298:[function(require,module,exports){'use strict';/*
5781
6129
  * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
5782
6130
  * in FIPS PUB 180-1
5783
6131
  * This source code is derived from sha1.js of the same repository.
5784
6132
  * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
5785
6133
  * operation was added.
5786
- */var inherits=require('inherits');var Hash=require('./hash');var Buffer=require('safe-buffer').Buffer;var K=[0x5a827999,0x6ed9eba1,0x8f1bbcdc|0,0xca62c1d6|0];var W=new Array(80);function Sha(){this.init();this._w=W;Hash.call(this,64,56);}inherits(Sha,Hash);Sha.prototype.init=function(){this._a=0x67452301;this._b=0xefcdab89;this._c=0x98badcfe;this._d=0x10325476;this._e=0xc3d2e1f0;return this;};function rotl5(num){return num<<5|num>>>27;}function rotl30(num){return num<<30|num>>>2;}function ft(s,b,c,d){if(s===0){return b&c|~b&d;}if(s===2){return b&c|b&d|c&d;}return b^c^d;}Sha.prototype._update=function(M){var w=this._w;var a=this._a|0;var b=this._b|0;var c=this._c|0;var d=this._d|0;var e=this._e|0;for(var i=0;i<16;++i){w[i]=M.readInt32BE(i*4);}for(;i<80;++i){w[i]=w[i-3]^w[i-8]^w[i-14]^w[i-16];}for(var j=0;j<80;++j){var s=~~(j/20);var t=rotl5(a)+ft(s,b,c,d)+e+w[j]+K[s]|0;e=d;d=c;c=rotl30(b);b=a;a=t;}this._a=a+this._a|0;this._b=b+this._b|0;this._c=c+this._c|0;this._d=d+this._d|0;this._e=e+this._e|0;};Sha.prototype._hash=function(){var H=Buffer.allocUnsafe(20);H.writeInt32BE(this._a|0,0);H.writeInt32BE(this._b|0,4);H.writeInt32BE(this._c|0,8);H.writeInt32BE(this._d|0,12);H.writeInt32BE(this._e|0,16);return H;};module.exports=Sha;},{"./hash":294,"inherits":189,"safe-buffer":291}],297:[function(require,module,exports){'use strict';/*
6134
+ */var inherits=require('inherits');var Hash=require('./hash');var Buffer=require('safe-buffer').Buffer;var K=[0x5a827999,0x6ed9eba1,0x8f1bbcdc|0,0xca62c1d6|0];var W=new Array(80);function Sha(){this.init();this._w=W;Hash.call(this,64,56);}inherits(Sha,Hash);Sha.prototype.init=function(){this._a=0x67452301;this._b=0xefcdab89;this._c=0x98badcfe;this._d=0x10325476;this._e=0xc3d2e1f0;return this;};function rotl5(num){return num<<5|num>>>27;}function rotl30(num){return num<<30|num>>>2;}function ft(s,b,c,d){if(s===0){return b&c|~b&d;}if(s===2){return b&c|b&d|c&d;}return b^c^d;}Sha.prototype._update=function(M){var w=this._w;var a=this._a|0;var b=this._b|0;var c=this._c|0;var d=this._d|0;var e=this._e|0;for(var i=0;i<16;++i){w[i]=M.readInt32BE(i*4);}for(;i<80;++i){w[i]=w[i-3]^w[i-8]^w[i-14]^w[i-16];}for(var j=0;j<80;++j){var s=~~(j/20);var t=rotl5(a)+ft(s,b,c,d)+e+w[j]+K[s]|0;e=d;d=c;c=rotl30(b);b=a;a=t;}this._a=a+this._a|0;this._b=b+this._b|0;this._c=c+this._c|0;this._d=d+this._d|0;this._e=e+this._e|0;};Sha.prototype._hash=function(){var H=Buffer.allocUnsafe(20);H.writeInt32BE(this._a|0,0);H.writeInt32BE(this._b|0,4);H.writeInt32BE(this._c|0,8);H.writeInt32BE(this._d|0,12);H.writeInt32BE(this._e|0,16);return H;};module.exports=Sha;},{"./hash":296,"inherits":190,"safe-buffer":293}],299:[function(require,module,exports){'use strict';/*
5787
6135
  * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
5788
6136
  * in FIPS PUB 180-1
5789
6137
  * Version 2.1a Copyright Paul Johnston 2000 - 2002.
5790
6138
  * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
5791
6139
  * Distributed under the BSD License
5792
6140
  * See http://pajhome.org.uk/crypt/md5 for details.
5793
- */var inherits=require('inherits');var Hash=require('./hash');var Buffer=require('safe-buffer').Buffer;var K=[0x5a827999,0x6ed9eba1,0x8f1bbcdc|0,0xca62c1d6|0];var W=new Array(80);function Sha1(){this.init();this._w=W;Hash.call(this,64,56);}inherits(Sha1,Hash);Sha1.prototype.init=function(){this._a=0x67452301;this._b=0xefcdab89;this._c=0x98badcfe;this._d=0x10325476;this._e=0xc3d2e1f0;return this;};function rotl1(num){return num<<1|num>>>31;}function rotl5(num){return num<<5|num>>>27;}function rotl30(num){return num<<30|num>>>2;}function ft(s,b,c,d){if(s===0){return b&c|~b&d;}if(s===2){return b&c|b&d|c&d;}return b^c^d;}Sha1.prototype._update=function(M){var w=this._w;var a=this._a|0;var b=this._b|0;var c=this._c|0;var d=this._d|0;var e=this._e|0;for(var i=0;i<16;++i){w[i]=M.readInt32BE(i*4);}for(;i<80;++i){w[i]=rotl1(w[i-3]^w[i-8]^w[i-14]^w[i-16]);}for(var j=0;j<80;++j){var s=~~(j/20);var t=rotl5(a)+ft(s,b,c,d)+e+w[j]+K[s]|0;e=d;d=c;c=rotl30(b);b=a;a=t;}this._a=a+this._a|0;this._b=b+this._b|0;this._c=c+this._c|0;this._d=d+this._d|0;this._e=e+this._e|0;};Sha1.prototype._hash=function(){var H=Buffer.allocUnsafe(20);H.writeInt32BE(this._a|0,0);H.writeInt32BE(this._b|0,4);H.writeInt32BE(this._c|0,8);H.writeInt32BE(this._d|0,12);H.writeInt32BE(this._e|0,16);return H;};module.exports=Sha1;},{"./hash":294,"inherits":189,"safe-buffer":291}],298:[function(require,module,exports){'use strict';/**
6141
+ */var inherits=require('inherits');var Hash=require('./hash');var Buffer=require('safe-buffer').Buffer;var K=[0x5a827999,0x6ed9eba1,0x8f1bbcdc|0,0xca62c1d6|0];var W=new Array(80);function Sha1(){this.init();this._w=W;Hash.call(this,64,56);}inherits(Sha1,Hash);Sha1.prototype.init=function(){this._a=0x67452301;this._b=0xefcdab89;this._c=0x98badcfe;this._d=0x10325476;this._e=0xc3d2e1f0;return this;};function rotl1(num){return num<<1|num>>>31;}function rotl5(num){return num<<5|num>>>27;}function rotl30(num){return num<<30|num>>>2;}function ft(s,b,c,d){if(s===0){return b&c|~b&d;}if(s===2){return b&c|b&d|c&d;}return b^c^d;}Sha1.prototype._update=function(M){var w=this._w;var a=this._a|0;var b=this._b|0;var c=this._c|0;var d=this._d|0;var e=this._e|0;for(var i=0;i<16;++i){w[i]=M.readInt32BE(i*4);}for(;i<80;++i){w[i]=rotl1(w[i-3]^w[i-8]^w[i-14]^w[i-16]);}for(var j=0;j<80;++j){var s=~~(j/20);var t=rotl5(a)+ft(s,b,c,d)+e+w[j]+K[s]|0;e=d;d=c;c=rotl30(b);b=a;a=t;}this._a=a+this._a|0;this._b=b+this._b|0;this._c=c+this._c|0;this._d=d+this._d|0;this._e=e+this._e|0;};Sha1.prototype._hash=function(){var H=Buffer.allocUnsafe(20);H.writeInt32BE(this._a|0,0);H.writeInt32BE(this._b|0,4);H.writeInt32BE(this._c|0,8);H.writeInt32BE(this._d|0,12);H.writeInt32BE(this._e|0,16);return H;};module.exports=Sha1;},{"./hash":296,"inherits":190,"safe-buffer":293}],300:[function(require,module,exports){'use strict';/**
5794
6142
  * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
5795
6143
  * in FIPS 180-2
5796
6144
  * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
5797
6145
  * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
5798
6146
  *
5799
6147
  */var inherits=require('inherits');var Sha256=require('./sha256');var Hash=require('./hash');var Buffer=require('safe-buffer').Buffer;var W=new Array(64);function Sha224(){this.init();this._w=W;// new Array(64)
5800
- Hash.call(this,64,56);}inherits(Sha224,Sha256);Sha224.prototype.init=function(){this._a=0xc1059ed8;this._b=0x367cd507;this._c=0x3070dd17;this._d=0xf70e5939;this._e=0xffc00b31;this._f=0x68581511;this._g=0x64f98fa7;this._h=0xbefa4fa4;return this;};Sha224.prototype._hash=function(){var H=Buffer.allocUnsafe(28);H.writeInt32BE(this._a,0);H.writeInt32BE(this._b,4);H.writeInt32BE(this._c,8);H.writeInt32BE(this._d,12);H.writeInt32BE(this._e,16);H.writeInt32BE(this._f,20);H.writeInt32BE(this._g,24);return H;};module.exports=Sha224;},{"./hash":294,"./sha256":299,"inherits":189,"safe-buffer":291}],299:[function(require,module,exports){'use strict';/**
6148
+ Hash.call(this,64,56);}inherits(Sha224,Sha256);Sha224.prototype.init=function(){this._a=0xc1059ed8;this._b=0x367cd507;this._c=0x3070dd17;this._d=0xf70e5939;this._e=0xffc00b31;this._f=0x68581511;this._g=0x64f98fa7;this._h=0xbefa4fa4;return this;};Sha224.prototype._hash=function(){var H=Buffer.allocUnsafe(28);H.writeInt32BE(this._a,0);H.writeInt32BE(this._b,4);H.writeInt32BE(this._c,8);H.writeInt32BE(this._d,12);H.writeInt32BE(this._e,16);H.writeInt32BE(this._f,20);H.writeInt32BE(this._g,24);return H;};module.exports=Sha224;},{"./hash":296,"./sha256":301,"inherits":190,"safe-buffer":293}],301:[function(require,module,exports){'use strict';/**
5801
6149
  * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
5802
6150
  * in FIPS 180-2
5803
6151
  * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
5804
6152
  * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
5805
6153
  *
5806
6154
  */var inherits=require('inherits');var Hash=require('./hash');var Buffer=require('safe-buffer').Buffer;var K=[0x428A2F98,0x71374491,0xB5C0FBCF,0xE9B5DBA5,0x3956C25B,0x59F111F1,0x923F82A4,0xAB1C5ED5,0xD807AA98,0x12835B01,0x243185BE,0x550C7DC3,0x72BE5D74,0x80DEB1FE,0x9BDC06A7,0xC19BF174,0xE49B69C1,0xEFBE4786,0x0FC19DC6,0x240CA1CC,0x2DE92C6F,0x4A7484AA,0x5CB0A9DC,0x76F988DA,0x983E5152,0xA831C66D,0xB00327C8,0xBF597FC7,0xC6E00BF3,0xD5A79147,0x06CA6351,0x14292967,0x27B70A85,0x2E1B2138,0x4D2C6DFC,0x53380D13,0x650A7354,0x766A0ABB,0x81C2C92E,0x92722C85,0xA2BFE8A1,0xA81A664B,0xC24B8B70,0xC76C51A3,0xD192E819,0xD6990624,0xF40E3585,0x106AA070,0x19A4C116,0x1E376C08,0x2748774C,0x34B0BCB5,0x391C0CB3,0x4ED8AA4A,0x5B9CCA4F,0x682E6FF3,0x748F82EE,0x78A5636F,0x84C87814,0x8CC70208,0x90BEFFFA,0xA4506CEB,0xBEF9A3F7,0xC67178F2];var W=new Array(64);function Sha256(){this.init();this._w=W;// new Array(64)
5807
- Hash.call(this,64,56);}inherits(Sha256,Hash);Sha256.prototype.init=function(){this._a=0x6a09e667;this._b=0xbb67ae85;this._c=0x3c6ef372;this._d=0xa54ff53a;this._e=0x510e527f;this._f=0x9b05688c;this._g=0x1f83d9ab;this._h=0x5be0cd19;return this;};function ch(x,y,z){return z^x&(y^z);}function maj(x,y,z){return x&y|z&(x|y);}function sigma0(x){return(x>>>2|x<<30)^(x>>>13|x<<19)^(x>>>22|x<<10);}function sigma1(x){return(x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7);}function gamma0(x){return(x>>>7|x<<25)^(x>>>18|x<<14)^x>>>3;}function gamma1(x){return(x>>>17|x<<15)^(x>>>19|x<<13)^x>>>10;}Sha256.prototype._update=function(M){var w=this._w;var a=this._a|0;var b=this._b|0;var c=this._c|0;var d=this._d|0;var e=this._e|0;var f=this._f|0;var g=this._g|0;var h=this._h|0;for(var i=0;i<16;++i){w[i]=M.readInt32BE(i*4);}for(;i<64;++i){w[i]=gamma1(w[i-2])+w[i-7]+gamma0(w[i-15])+w[i-16]|0;}for(var j=0;j<64;++j){var T1=h+sigma1(e)+ch(e,f,g)+K[j]+w[j]|0;var T2=sigma0(a)+maj(a,b,c)|0;h=g;g=f;f=e;e=d+T1|0;d=c;c=b;b=a;a=T1+T2|0;}this._a=a+this._a|0;this._b=b+this._b|0;this._c=c+this._c|0;this._d=d+this._d|0;this._e=e+this._e|0;this._f=f+this._f|0;this._g=g+this._g|0;this._h=h+this._h|0;};Sha256.prototype._hash=function(){var H=Buffer.allocUnsafe(32);H.writeInt32BE(this._a,0);H.writeInt32BE(this._b,4);H.writeInt32BE(this._c,8);H.writeInt32BE(this._d,12);H.writeInt32BE(this._e,16);H.writeInt32BE(this._f,20);H.writeInt32BE(this._g,24);H.writeInt32BE(this._h,28);return H;};module.exports=Sha256;},{"./hash":294,"inherits":189,"safe-buffer":291}],300:[function(require,module,exports){'use strict';var inherits=require('inherits');var SHA512=require('./sha512');var Hash=require('./hash');var Buffer=require('safe-buffer').Buffer;var W=new Array(160);function Sha384(){this.init();this._w=W;Hash.call(this,128,112);}inherits(Sha384,SHA512);Sha384.prototype.init=function(){this._ah=0xcbbb9d5d;this._bh=0x629a292a;this._ch=0x9159015a;this._dh=0x152fecd8;this._eh=0x67332667;this._fh=0x8eb44a87;this._gh=0xdb0c2e0d;this._hh=0x47b5481d;this._al=0xc1059ed8;this._bl=0x367cd507;this._cl=0x3070dd17;this._dl=0xf70e5939;this._el=0xffc00b31;this._fl=0x68581511;this._gl=0x64f98fa7;this._hl=0xbefa4fa4;return this;};Sha384.prototype._hash=function(){var H=Buffer.allocUnsafe(48);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset);H.writeInt32BE(l,offset+4);}writeInt64BE(this._ah,this._al,0);writeInt64BE(this._bh,this._bl,8);writeInt64BE(this._ch,this._cl,16);writeInt64BE(this._dh,this._dl,24);writeInt64BE(this._eh,this._el,32);writeInt64BE(this._fh,this._fl,40);return H;};module.exports=Sha384;},{"./hash":294,"./sha512":301,"inherits":189,"safe-buffer":291}],301:[function(require,module,exports){'use strict';var inherits=require('inherits');var Hash=require('./hash');var Buffer=require('safe-buffer').Buffer;var K=[0x428a2f98,0xd728ae22,0x71374491,0x23ef65cd,0xb5c0fbcf,0xec4d3b2f,0xe9b5dba5,0x8189dbbc,0x3956c25b,0xf348b538,0x59f111f1,0xb605d019,0x923f82a4,0xaf194f9b,0xab1c5ed5,0xda6d8118,0xd807aa98,0xa3030242,0x12835b01,0x45706fbe,0x243185be,0x4ee4b28c,0x550c7dc3,0xd5ffb4e2,0x72be5d74,0xf27b896f,0x80deb1fe,0x3b1696b1,0x9bdc06a7,0x25c71235,0xc19bf174,0xcf692694,0xe49b69c1,0x9ef14ad2,0xefbe4786,0x384f25e3,0x0fc19dc6,0x8b8cd5b5,0x240ca1cc,0x77ac9c65,0x2de92c6f,0x592b0275,0x4a7484aa,0x6ea6e483,0x5cb0a9dc,0xbd41fbd4,0x76f988da,0x831153b5,0x983e5152,0xee66dfab,0xa831c66d,0x2db43210,0xb00327c8,0x98fb213f,0xbf597fc7,0xbeef0ee4,0xc6e00bf3,0x3da88fc2,0xd5a79147,0x930aa725,0x06ca6351,0xe003826f,0x14292967,0x0a0e6e70,0x27b70a85,0x46d22ffc,0x2e1b2138,0x5c26c926,0x4d2c6dfc,0x5ac42aed,0x53380d13,0x9d95b3df,0x650a7354,0x8baf63de,0x766a0abb,0x3c77b2a8,0x81c2c92e,0x47edaee6,0x92722c85,0x1482353b,0xa2bfe8a1,0x4cf10364,0xa81a664b,0xbc423001,0xc24b8b70,0xd0f89791,0xc76c51a3,0x0654be30,0xd192e819,0xd6ef5218,0xd6990624,0x5565a910,0xf40e3585,0x5771202a,0x106aa070,0x32bbd1b8,0x19a4c116,0xb8d2d0c8,0x1e376c08,0x5141ab53,0x2748774c,0xdf8eeb99,0x34b0bcb5,0xe19b48a8,0x391c0cb3,0xc5c95a63,0x4ed8aa4a,0xe3418acb,0x5b9cca4f,0x7763e373,0x682e6ff3,0xd6b2b8a3,0x748f82ee,0x5defb2fc,0x78a5636f,0x43172f60,0x84c87814,0xa1f0ab72,0x8cc70208,0x1a6439ec,0x90befffa,0x23631e28,0xa4506ceb,0xde82bde9,0xbef9a3f7,0xb2c67915,0xc67178f2,0xe372532b,0xca273ece,0xea26619c,0xd186b8c7,0x21c0c207,0xeada7dd6,0xcde0eb1e,0xf57d4f7f,0xee6ed178,0x06f067aa,0x72176fba,0x0a637dc5,0xa2c898a6,0x113f9804,0xbef90dae,0x1b710b35,0x131c471b,0x28db77f5,0x23047d84,0x32caab7b,0x40c72493,0x3c9ebe0a,0x15c9bebc,0x431d67c4,0x9c100d4c,0x4cc5d4be,0xcb3e42b6,0x597f299c,0xfc657e2a,0x5fcb6fab,0x3ad6faec,0x6c44198c,0x4a475817];var W=new Array(160);function Sha512(){this.init();this._w=W;Hash.call(this,128,112);}inherits(Sha512,Hash);Sha512.prototype.init=function(){this._ah=0x6a09e667;this._bh=0xbb67ae85;this._ch=0x3c6ef372;this._dh=0xa54ff53a;this._eh=0x510e527f;this._fh=0x9b05688c;this._gh=0x1f83d9ab;this._hh=0x5be0cd19;this._al=0xf3bcc908;this._bl=0x84caa73b;this._cl=0xfe94f82b;this._dl=0x5f1d36f1;this._el=0xade682d1;this._fl=0x2b3e6c1f;this._gl=0xfb41bd6b;this._hl=0x137e2179;return this;};function Ch(x,y,z){return z^x&(y^z);}function maj(x,y,z){return x&y|z&(x|y);}function sigma0(x,xl){return(x>>>28|xl<<4)^(xl>>>2|x<<30)^(xl>>>7|x<<25);}function sigma1(x,xl){return(x>>>14|xl<<18)^(x>>>18|xl<<14)^(xl>>>9|x<<23);}function Gamma0(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^x>>>7;}function Gamma0l(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^(x>>>7|xl<<25);}function Gamma1(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^x>>>6;}function Gamma1l(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^(x>>>6|xl<<26);}function getCarry(a,b){return a>>>0<b>>>0?1:0;}Sha512.prototype._update=function(M){var w=this._w;var ah=this._ah|0;var bh=this._bh|0;var ch=this._ch|0;var dh=this._dh|0;var eh=this._eh|0;var fh=this._fh|0;var gh=this._gh|0;var hh=this._hh|0;var al=this._al|0;var bl=this._bl|0;var cl=this._cl|0;var dl=this._dl|0;var el=this._el|0;var fl=this._fl|0;var gl=this._gl|0;var hl=this._hl|0;for(var i=0;i<32;i+=2){w[i]=M.readInt32BE(i*4);w[i+1]=M.readInt32BE(i*4+4);}for(;i<160;i+=2){var xh=w[i-15*2];var xl=w[i-15*2+1];var gamma0=Gamma0(xh,xl);var gamma0l=Gamma0l(xl,xh);xh=w[i-2*2];xl=w[i-2*2+1];var gamma1=Gamma1(xh,xl);var gamma1l=Gamma1l(xl,xh);// w[i] = gamma0 + w[i - 7] + gamma1 + w[i - 16]
6155
+ Hash.call(this,64,56);}inherits(Sha256,Hash);Sha256.prototype.init=function(){this._a=0x6a09e667;this._b=0xbb67ae85;this._c=0x3c6ef372;this._d=0xa54ff53a;this._e=0x510e527f;this._f=0x9b05688c;this._g=0x1f83d9ab;this._h=0x5be0cd19;return this;};function ch(x,y,z){return z^x&(y^z);}function maj(x,y,z){return x&y|z&(x|y);}function sigma0(x){return(x>>>2|x<<30)^(x>>>13|x<<19)^(x>>>22|x<<10);}function sigma1(x){return(x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7);}function gamma0(x){return(x>>>7|x<<25)^(x>>>18|x<<14)^x>>>3;}function gamma1(x){return(x>>>17|x<<15)^(x>>>19|x<<13)^x>>>10;}Sha256.prototype._update=function(M){var w=this._w;var a=this._a|0;var b=this._b|0;var c=this._c|0;var d=this._d|0;var e=this._e|0;var f=this._f|0;var g=this._g|0;var h=this._h|0;for(var i=0;i<16;++i){w[i]=M.readInt32BE(i*4);}for(;i<64;++i){w[i]=gamma1(w[i-2])+w[i-7]+gamma0(w[i-15])+w[i-16]|0;}for(var j=0;j<64;++j){var T1=h+sigma1(e)+ch(e,f,g)+K[j]+w[j]|0;var T2=sigma0(a)+maj(a,b,c)|0;h=g;g=f;f=e;e=d+T1|0;d=c;c=b;b=a;a=T1+T2|0;}this._a=a+this._a|0;this._b=b+this._b|0;this._c=c+this._c|0;this._d=d+this._d|0;this._e=e+this._e|0;this._f=f+this._f|0;this._g=g+this._g|0;this._h=h+this._h|0;};Sha256.prototype._hash=function(){var H=Buffer.allocUnsafe(32);H.writeInt32BE(this._a,0);H.writeInt32BE(this._b,4);H.writeInt32BE(this._c,8);H.writeInt32BE(this._d,12);H.writeInt32BE(this._e,16);H.writeInt32BE(this._f,20);H.writeInt32BE(this._g,24);H.writeInt32BE(this._h,28);return H;};module.exports=Sha256;},{"./hash":296,"inherits":190,"safe-buffer":293}],302:[function(require,module,exports){'use strict';var inherits=require('inherits');var SHA512=require('./sha512');var Hash=require('./hash');var Buffer=require('safe-buffer').Buffer;var W=new Array(160);function Sha384(){this.init();this._w=W;Hash.call(this,128,112);}inherits(Sha384,SHA512);Sha384.prototype.init=function(){this._ah=0xcbbb9d5d;this._bh=0x629a292a;this._ch=0x9159015a;this._dh=0x152fecd8;this._eh=0x67332667;this._fh=0x8eb44a87;this._gh=0xdb0c2e0d;this._hh=0x47b5481d;this._al=0xc1059ed8;this._bl=0x367cd507;this._cl=0x3070dd17;this._dl=0xf70e5939;this._el=0xffc00b31;this._fl=0x68581511;this._gl=0x64f98fa7;this._hl=0xbefa4fa4;return this;};Sha384.prototype._hash=function(){var H=Buffer.allocUnsafe(48);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset);H.writeInt32BE(l,offset+4);}writeInt64BE(this._ah,this._al,0);writeInt64BE(this._bh,this._bl,8);writeInt64BE(this._ch,this._cl,16);writeInt64BE(this._dh,this._dl,24);writeInt64BE(this._eh,this._el,32);writeInt64BE(this._fh,this._fl,40);return H;};module.exports=Sha384;},{"./hash":296,"./sha512":303,"inherits":190,"safe-buffer":293}],303:[function(require,module,exports){'use strict';var inherits=require('inherits');var Hash=require('./hash');var Buffer=require('safe-buffer').Buffer;var K=[0x428a2f98,0xd728ae22,0x71374491,0x23ef65cd,0xb5c0fbcf,0xec4d3b2f,0xe9b5dba5,0x8189dbbc,0x3956c25b,0xf348b538,0x59f111f1,0xb605d019,0x923f82a4,0xaf194f9b,0xab1c5ed5,0xda6d8118,0xd807aa98,0xa3030242,0x12835b01,0x45706fbe,0x243185be,0x4ee4b28c,0x550c7dc3,0xd5ffb4e2,0x72be5d74,0xf27b896f,0x80deb1fe,0x3b1696b1,0x9bdc06a7,0x25c71235,0xc19bf174,0xcf692694,0xe49b69c1,0x9ef14ad2,0xefbe4786,0x384f25e3,0x0fc19dc6,0x8b8cd5b5,0x240ca1cc,0x77ac9c65,0x2de92c6f,0x592b0275,0x4a7484aa,0x6ea6e483,0x5cb0a9dc,0xbd41fbd4,0x76f988da,0x831153b5,0x983e5152,0xee66dfab,0xa831c66d,0x2db43210,0xb00327c8,0x98fb213f,0xbf597fc7,0xbeef0ee4,0xc6e00bf3,0x3da88fc2,0xd5a79147,0x930aa725,0x06ca6351,0xe003826f,0x14292967,0x0a0e6e70,0x27b70a85,0x46d22ffc,0x2e1b2138,0x5c26c926,0x4d2c6dfc,0x5ac42aed,0x53380d13,0x9d95b3df,0x650a7354,0x8baf63de,0x766a0abb,0x3c77b2a8,0x81c2c92e,0x47edaee6,0x92722c85,0x1482353b,0xa2bfe8a1,0x4cf10364,0xa81a664b,0xbc423001,0xc24b8b70,0xd0f89791,0xc76c51a3,0x0654be30,0xd192e819,0xd6ef5218,0xd6990624,0x5565a910,0xf40e3585,0x5771202a,0x106aa070,0x32bbd1b8,0x19a4c116,0xb8d2d0c8,0x1e376c08,0x5141ab53,0x2748774c,0xdf8eeb99,0x34b0bcb5,0xe19b48a8,0x391c0cb3,0xc5c95a63,0x4ed8aa4a,0xe3418acb,0x5b9cca4f,0x7763e373,0x682e6ff3,0xd6b2b8a3,0x748f82ee,0x5defb2fc,0x78a5636f,0x43172f60,0x84c87814,0xa1f0ab72,0x8cc70208,0x1a6439ec,0x90befffa,0x23631e28,0xa4506ceb,0xde82bde9,0xbef9a3f7,0xb2c67915,0xc67178f2,0xe372532b,0xca273ece,0xea26619c,0xd186b8c7,0x21c0c207,0xeada7dd6,0xcde0eb1e,0xf57d4f7f,0xee6ed178,0x06f067aa,0x72176fba,0x0a637dc5,0xa2c898a6,0x113f9804,0xbef90dae,0x1b710b35,0x131c471b,0x28db77f5,0x23047d84,0x32caab7b,0x40c72493,0x3c9ebe0a,0x15c9bebc,0x431d67c4,0x9c100d4c,0x4cc5d4be,0xcb3e42b6,0x597f299c,0xfc657e2a,0x5fcb6fab,0x3ad6faec,0x6c44198c,0x4a475817];var W=new Array(160);function Sha512(){this.init();this._w=W;Hash.call(this,128,112);}inherits(Sha512,Hash);Sha512.prototype.init=function(){this._ah=0x6a09e667;this._bh=0xbb67ae85;this._ch=0x3c6ef372;this._dh=0xa54ff53a;this._eh=0x510e527f;this._fh=0x9b05688c;this._gh=0x1f83d9ab;this._hh=0x5be0cd19;this._al=0xf3bcc908;this._bl=0x84caa73b;this._cl=0xfe94f82b;this._dl=0x5f1d36f1;this._el=0xade682d1;this._fl=0x2b3e6c1f;this._gl=0xfb41bd6b;this._hl=0x137e2179;return this;};function Ch(x,y,z){return z^x&(y^z);}function maj(x,y,z){return x&y|z&(x|y);}function sigma0(x,xl){return(x>>>28|xl<<4)^(xl>>>2|x<<30)^(xl>>>7|x<<25);}function sigma1(x,xl){return(x>>>14|xl<<18)^(x>>>18|xl<<14)^(xl>>>9|x<<23);}function Gamma0(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^x>>>7;}function Gamma0l(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^(x>>>7|xl<<25);}function Gamma1(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^x>>>6;}function Gamma1l(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^(x>>>6|xl<<26);}function getCarry(a,b){return a>>>0<b>>>0?1:0;}Sha512.prototype._update=function(M){var w=this._w;var ah=this._ah|0;var bh=this._bh|0;var ch=this._ch|0;var dh=this._dh|0;var eh=this._eh|0;var fh=this._fh|0;var gh=this._gh|0;var hh=this._hh|0;var al=this._al|0;var bl=this._bl|0;var cl=this._cl|0;var dl=this._dl|0;var el=this._el|0;var fl=this._fl|0;var gl=this._gl|0;var hl=this._hl|0;for(var i=0;i<32;i+=2){w[i]=M.readInt32BE(i*4);w[i+1]=M.readInt32BE(i*4+4);}for(;i<160;i+=2){var xh=w[i-15*2];var xl=w[i-15*2+1];var gamma0=Gamma0(xh,xl);var gamma0l=Gamma0l(xl,xh);xh=w[i-2*2];xl=w[i-2*2+1];var gamma1=Gamma1(xh,xl);var gamma1l=Gamma1l(xl,xh);// w[i] = gamma0 + w[i - 7] + gamma1 + w[i - 16]
5808
6156
  var Wi7h=w[i-7*2];var Wi7l=w[i-7*2+1];var Wi16h=w[i-16*2];var Wi16l=w[i-16*2+1];var Wil=gamma0l+Wi7l|0;var Wih=gamma0+Wi7h+getCarry(Wil,gamma0l)|0;Wil=Wil+gamma1l|0;Wih=Wih+gamma1+getCarry(Wil,gamma1l)|0;Wil=Wil+Wi16l|0;Wih=Wih+Wi16h+getCarry(Wil,Wi16l)|0;w[i]=Wih;w[i+1]=Wil;}for(var j=0;j<160;j+=2){Wih=w[j];Wil=w[j+1];var majh=maj(ah,bh,ch);var majl=maj(al,bl,cl);var sigma0h=sigma0(ah,al);var sigma0l=sigma0(al,ah);var sigma1h=sigma1(eh,el);var sigma1l=sigma1(el,eh);// t1 = h + sigma1 + ch + K[j] + w[j]
5809
6157
  var Kih=K[j];var Kil=K[j+1];var chh=Ch(eh,fh,gh);var chl=Ch(el,fl,gl);var t1l=hl+sigma1l|0;var t1h=hh+sigma1h+getCarry(t1l,hl)|0;t1l=t1l+chl|0;t1h=t1h+chh+getCarry(t1l,chl)|0;t1l=t1l+Kil|0;t1h=t1h+Kih+getCarry(t1l,Kil)|0;t1l=t1l+Wil|0;t1h=t1h+Wih+getCarry(t1l,Wil)|0;// t2 = sigma0 + maj
5810
- var t2l=sigma0l+majl|0;var t2h=sigma0h+majh+getCarry(t2l,sigma0l)|0;hh=gh;hl=gl;gh=fh;gl=fl;fh=eh;fl=el;el=dl+t1l|0;eh=dh+t1h+getCarry(el,dl)|0;dh=ch;dl=cl;ch=bh;cl=bl;bh=ah;bl=al;al=t1l+t2l|0;ah=t1h+t2h+getCarry(al,t1l)|0;}this._al=this._al+al|0;this._bl=this._bl+bl|0;this._cl=this._cl+cl|0;this._dl=this._dl+dl|0;this._el=this._el+el|0;this._fl=this._fl+fl|0;this._gl=this._gl+gl|0;this._hl=this._hl+hl|0;this._ah=this._ah+ah+getCarry(this._al,al)|0;this._bh=this._bh+bh+getCarry(this._bl,bl)|0;this._ch=this._ch+ch+getCarry(this._cl,cl)|0;this._dh=this._dh+dh+getCarry(this._dl,dl)|0;this._eh=this._eh+eh+getCarry(this._el,el)|0;this._fh=this._fh+fh+getCarry(this._fl,fl)|0;this._gh=this._gh+gh+getCarry(this._gl,gl)|0;this._hh=this._hh+hh+getCarry(this._hl,hl)|0;};Sha512.prototype._hash=function(){var H=Buffer.allocUnsafe(64);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset);H.writeInt32BE(l,offset+4);}writeInt64BE(this._ah,this._al,0);writeInt64BE(this._bh,this._bl,8);writeInt64BE(this._ch,this._cl,16);writeInt64BE(this._dh,this._dl,24);writeInt64BE(this._eh,this._el,32);writeInt64BE(this._fh,this._fl,40);writeInt64BE(this._gh,this._gl,48);writeInt64BE(this._hh,this._hl,56);return H;};module.exports=Sha512;},{"./hash":294,"inherits":189,"safe-buffer":291}],302:[function(require,module,exports){'use strict';var inspect=require('object-inspect');var $TypeError=require('es-errors/type');/*
6158
+ var t2l=sigma0l+majl|0;var t2h=sigma0h+majh+getCarry(t2l,sigma0l)|0;hh=gh;hl=gl;gh=fh;gl=fl;fh=eh;fl=el;el=dl+t1l|0;eh=dh+t1h+getCarry(el,dl)|0;dh=ch;dl=cl;ch=bh;cl=bl;bh=ah;bl=al;al=t1l+t2l|0;ah=t1h+t2h+getCarry(al,t1l)|0;}this._al=this._al+al|0;this._bl=this._bl+bl|0;this._cl=this._cl+cl|0;this._dl=this._dl+dl|0;this._el=this._el+el|0;this._fl=this._fl+fl|0;this._gl=this._gl+gl|0;this._hl=this._hl+hl|0;this._ah=this._ah+ah+getCarry(this._al,al)|0;this._bh=this._bh+bh+getCarry(this._bl,bl)|0;this._ch=this._ch+ch+getCarry(this._cl,cl)|0;this._dh=this._dh+dh+getCarry(this._dl,dl)|0;this._eh=this._eh+eh+getCarry(this._el,el)|0;this._fh=this._fh+fh+getCarry(this._fl,fl)|0;this._gh=this._gh+gh+getCarry(this._gl,gl)|0;this._hh=this._hh+hh+getCarry(this._hl,hl)|0;};Sha512.prototype._hash=function(){var H=Buffer.allocUnsafe(64);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset);H.writeInt32BE(l,offset+4);}writeInt64BE(this._ah,this._al,0);writeInt64BE(this._bh,this._bl,8);writeInt64BE(this._ch,this._cl,16);writeInt64BE(this._dh,this._dl,24);writeInt64BE(this._eh,this._el,32);writeInt64BE(this._fh,this._fl,40);writeInt64BE(this._gh,this._gl,48);writeInt64BE(this._hh,this._hl,56);return H;};module.exports=Sha512;},{"./hash":296,"inherits":190,"safe-buffer":293}],304:[function(require,module,exports){'use strict';var inspect=require('object-inspect');var $TypeError=require('es-errors/type');/*
5811
6159
  * This function traverses the list returning the node corresponding to the given key.
5812
6160
  *
5813
6161
  * That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list.
@@ -5819,16 +6167,14 @@ curr.next=/** @type {NonNullable<typeof list.next>} */list.next;list.next=curr;/
5819
6167
  }return curr;}}};/** @type {import('./list.d.ts').listGet} */var listGet=function(objects,key){if(!objects){return void undefined;}var node=listGetNode(objects,key);return node&&node.value;};/** @type {import('./list.d.ts').listSet} */var listSet=function(objects,key,value){var node=listGetNode(objects,key);if(node){node.value=value;}else{// Prepend the new node to the beginning of the list
5820
6168
  objects.next=/** @type {import('./list.d.ts').ListNode<typeof value, typeof key>} */{// eslint-disable-line no-param-reassign, no-extra-parens
5821
6169
  key:key,next:objects.next,value:value};}};/** @type {import('./list.d.ts').listHas} */var listHas=function(objects,key){if(!objects){return false;}return!!listGetNode(objects,key);};/** @type {import('./list.d.ts').listDelete} */// eslint-disable-next-line consistent-return
5822
- var listDelete=function(objects,key){if(objects){return listGetNode(objects,key,true);}};/** @type {import('.')} */module.exports=function getSideChannelList(){/** @typedef {ReturnType<typeof getSideChannelList>} Channel *//** @typedef {Parameters<Channel['get']>[0]} K *//** @typedef {Parameters<Channel['set']>[1]} V *//** @type {import('./list.d.ts').RootNode<V, K> | undefined} */var $o;/** @type {Channel} */var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError('Side channel does not contain '+inspect(key));}},'delete':function(key){var root=$o&&$o.next;var deletedNode=listDelete($o,key);if(deletedNode&&root&&root===deletedNode){$o=void undefined;}return!!deletedNode;},get:function(key){return listGet($o,key);},has:function(key){return listHas($o,key);},set:function(key,value){if(!$o){// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head
6170
+ var listDelete=function(objects,key){if(objects){return listGetNode(objects,key,true);}};/** @type {import('.')} */module.exports=function getSideChannelList(){/** @typedef {ReturnType<typeof getSideChannelList>} Channel *//** @typedef {Parameters<Channel['get']>[0]} K *//** @typedef {Parameters<Channel['set']>[1]} V *//** @type {import('./list.d.ts').RootNode<V, K> | undefined} */var $o;/** @type {Channel} */var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError('Side channel does not contain '+inspect(key));}},'delete':function(key){var deletedNode=listDelete($o,key);if(deletedNode&&$o&&!$o.next){$o=void undefined;}return!!deletedNode;},get:function(key){return listGet($o,key);},has:function(key){return listHas($o,key);},set:function(key,value){if(!$o){// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head
5823
6171
  $o={next:void undefined};}// eslint-disable-next-line no-extra-parens
5824
- listSet(/** @type {NonNullable<typeof $o>} */$o,key,value);}};// @ts-expect-error TODO: figure out why this is erroring
5825
- return channel;};},{"es-errors/type":138,"object-inspect":241}],303:[function(require,module,exports){'use strict';var GetIntrinsic=require('get-intrinsic');var callBound=require('call-bound');var inspect=require('object-inspect');var $TypeError=require('es-errors/type');var $Map=GetIntrinsic('%Map%',true);/** @type {<K, V>(thisArg: Map<K, V>, key: K) => V} */var $mapGet=callBound('Map.prototype.get',true);/** @type {<K, V>(thisArg: Map<K, V>, key: K, value: V) => void} */var $mapSet=callBound('Map.prototype.set',true);/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */var $mapHas=callBound('Map.prototype.has',true);/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */var $mapDelete=callBound('Map.prototype.delete',true);/** @type {<K, V>(thisArg: Map<K, V>) => number} */var $mapSize=callBound('Map.prototype.size',true);/** @type {import('.')} */module.exports=!!$Map&&/** @type {Exclude<import('.'), false>} */function getSideChannelMap(){/** @typedef {ReturnType<typeof getSideChannelMap>} Channel *//** @typedef {Parameters<Channel['get']>[0]} K *//** @typedef {Parameters<Channel['set']>[1]} V *//** @type {Map<K, V> | undefined} */var $m;/** @type {Channel} */var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError('Side channel does not contain '+inspect(key));}},'delete':function(key){if($m){var result=$mapDelete($m,key);if($mapSize($m)===0){$m=void undefined;}return result;}return false;},get:function(key){// eslint-disable-line consistent-return
6172
+ listSet(/** @type {NonNullable<typeof $o>} */$o,key,value);}};return channel;};},{"es-errors/type":138,"object-inspect":243}],305:[function(require,module,exports){'use strict';var GetIntrinsic=require('get-intrinsic');var callBound=require('call-bound');var inspect=require('object-inspect');var $TypeError=require('es-errors/type');var $Map=GetIntrinsic('%Map%',true);/** @type {<K, V>(thisArg: Map<K, V>, key: K) => V} */var $mapGet=callBound('Map.prototype.get',true);/** @type {<K, V>(thisArg: Map<K, V>, key: K, value: V) => void} */var $mapSet=callBound('Map.prototype.set',true);/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */var $mapHas=callBound('Map.prototype.has',true);/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */var $mapDelete=callBound('Map.prototype.delete',true);/** @type {<K, V>(thisArg: Map<K, V>) => number} */var $mapSize=callBound('Map.prototype.size',true);/** @type {import('.')} */module.exports=!!$Map&&/** @type {Exclude<import('.'), false>} */function getSideChannelMap(){/** @typedef {ReturnType<typeof getSideChannelMap>} Channel *//** @typedef {Parameters<Channel['get']>[0]} K *//** @typedef {Parameters<Channel['set']>[1]} V *//** @type {Map<K, V> | undefined} */var $m;/** @type {Channel} */var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError('Side channel does not contain '+inspect(key));}},'delete':function(key){if($m){var result=$mapDelete($m,key);if($mapSize($m)===0){$m=void undefined;}return result;}return false;},get:function(key){// eslint-disable-line consistent-return
5826
6173
  if($m){return $mapGet($m,key);}},has:function(key){if($m){return $mapHas($m,key);}return false;},set:function(key,value){if(!$m){// @ts-expect-error TS can't handle narrowing a variable inside a closure
5827
6174
  $m=new $Map();}$mapSet($m,key,value);}};// @ts-expect-error TODO: figure out why TS is erroring here
5828
- return channel;};},{"call-bound":92,"es-errors/type":138,"get-intrinsic":162,"object-inspect":241}],304:[function(require,module,exports){'use strict';var GetIntrinsic=require('get-intrinsic');var callBound=require('call-bound');var inspect=require('object-inspect');var getSideChannelMap=require('side-channel-map');var $TypeError=require('es-errors/type');var $WeakMap=GetIntrinsic('%WeakMap%',true);/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => V} */var $weakMapGet=callBound('WeakMap.prototype.get',true);/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K, value: V) => void} */var $weakMapSet=callBound('WeakMap.prototype.set',true);/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */var $weakMapHas=callBound('WeakMap.prototype.has',true);/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */var $weakMapDelete=callBound('WeakMap.prototype.delete',true);/** @type {import('.')} */module.exports=$WeakMap?/** @type {Exclude<import('.'), false>} */function getSideChannelWeakMap(){/** @typedef {ReturnType<typeof getSideChannelWeakMap>} Channel *//** @typedef {Parameters<Channel['get']>[0]} K *//** @typedef {Parameters<Channel['set']>[1]} V *//** @type {WeakMap<K & object, V> | undefined} */var $wm;/** @type {Channel | undefined} */var $m;/** @type {Channel} */var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError('Side channel does not contain '+inspect(key));}},'delete':function(key){if($WeakMap&&key&&(typeof key==='object'||typeof key==='function')){if($wm){return $weakMapDelete($wm,key);}}else if(getSideChannelMap){if($m){return $m['delete'](key);}}return false;},get:function(key){if($WeakMap&&key&&(typeof key==='object'||typeof key==='function')){if($wm){return $weakMapGet($wm,key);}}return $m&&$m.get(key);},has:function(key){if($WeakMap&&key&&(typeof key==='object'||typeof key==='function')){if($wm){return $weakMapHas($wm,key);}}return!!$m&&$m.has(key);},set:function(key,value){if($WeakMap&&key&&(typeof key==='object'||typeof key==='function')){if(!$wm){$wm=new $WeakMap();}$weakMapSet($wm,key,value);}else if(getSideChannelMap){if(!$m){$m=getSideChannelMap();}// eslint-disable-next-line no-extra-parens
6175
+ return channel;};},{"call-bound":92,"es-errors/type":138,"get-intrinsic":163,"object-inspect":243}],306:[function(require,module,exports){'use strict';var GetIntrinsic=require('get-intrinsic');var callBound=require('call-bound');var inspect=require('object-inspect');var getSideChannelMap=require('side-channel-map');var $TypeError=require('es-errors/type');var $WeakMap=GetIntrinsic('%WeakMap%',true);/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => V} */var $weakMapGet=callBound('WeakMap.prototype.get',true);/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K, value: V) => void} */var $weakMapSet=callBound('WeakMap.prototype.set',true);/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */var $weakMapHas=callBound('WeakMap.prototype.has',true);/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */var $weakMapDelete=callBound('WeakMap.prototype.delete',true);/** @type {import('.')} */module.exports=$WeakMap?/** @type {Exclude<import('.'), false>} */function getSideChannelWeakMap(){/** @typedef {ReturnType<typeof getSideChannelWeakMap>} Channel *//** @typedef {Parameters<Channel['get']>[0]} K *//** @typedef {Parameters<Channel['set']>[1]} V *//** @type {WeakMap<K & object, V> | undefined} */var $wm;/** @type {Channel | undefined} */var $m;/** @type {Channel} */var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError('Side channel does not contain '+inspect(key));}},'delete':function(key){if($WeakMap&&key&&(typeof key==='object'||typeof key==='function')){if($wm){return $weakMapDelete($wm,key);}}else if(getSideChannelMap){if($m){return $m['delete'](key);}}return false;},get:function(key){if($WeakMap&&key&&(typeof key==='object'||typeof key==='function')){if($wm){return $weakMapGet($wm,key);}}return $m&&$m.get(key);},has:function(key){if($WeakMap&&key&&(typeof key==='object'||typeof key==='function')){if($wm){return $weakMapHas($wm,key);}}return!!$m&&$m.has(key);},set:function(key,value){if($WeakMap&&key&&(typeof key==='object'||typeof key==='function')){if(!$wm){$wm=new $WeakMap();}$weakMapSet($wm,key,value);}else if(getSideChannelMap){if(!$m){$m=getSideChannelMap();}// eslint-disable-next-line no-extra-parens
5829
6176
  /** @type {NonNullable<typeof $m>} */$m.set(key,value);}}};// @ts-expect-error TODO: figure out why this is erroring
5830
- return channel;}:getSideChannelMap;},{"call-bound":92,"es-errors/type":138,"get-intrinsic":162,"object-inspect":241,"side-channel-map":303}],305:[function(require,module,exports){'use strict';var $TypeError=require('es-errors/type');var inspect=require('object-inspect');var getSideChannelList=require('side-channel-list');var getSideChannelMap=require('side-channel-map');var getSideChannelWeakMap=require('side-channel-weakmap');var makeChannel=getSideChannelWeakMap||getSideChannelMap||getSideChannelList;/** @type {import('.')} */module.exports=function getSideChannel(){/** @typedef {ReturnType<typeof getSideChannel>} Channel *//** @type {Channel | undefined} */var $channelData;/** @type {Channel} */var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError('Side channel does not contain '+inspect(key));}},'delete':function(key){return!!$channelData&&$channelData['delete'](key);},get:function(key){return $channelData&&$channelData.get(key);},has:function(key){return!!$channelData&&$channelData.has(key);},set:function(key,value){if(!$channelData){$channelData=makeChannel();}$channelData.set(key,value);}};// @ts-expect-error TODO: figure out why this is erroring
5831
- return channel;};},{"es-errors/type":138,"object-inspect":241,"side-channel-list":302,"side-channel-map":303,"side-channel-weakmap":304}],306:[function(require,module,exports){(function(Buffer){(function(){/*! simple-concat. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */module.exports=function(stream,cb){var chunks=[];stream.on('data',function(chunk){chunks.push(chunk);});stream.once('end',function(){if(cb)cb(null,Buffer.concat(chunks));cb=null;});stream.once('error',function(err){if(cb)cb(err);cb=null;});};}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":83}],307:[function(require,module,exports){(function(Buffer){(function(){/*! simple-get. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */module.exports=simpleGet;const concat=require('simple-concat');const decompressResponse=require('decompress-response');// excluded from browser build
6177
+ return channel;}:getSideChannelMap;},{"call-bound":92,"es-errors/type":138,"get-intrinsic":163,"object-inspect":243,"side-channel-map":305}],307:[function(require,module,exports){'use strict';var $TypeError=require('es-errors/type');var inspect=require('object-inspect');var getSideChannelList=require('side-channel-list');var getSideChannelMap=require('side-channel-map');var getSideChannelWeakMap=require('side-channel-weakmap');var makeChannel=getSideChannelWeakMap||getSideChannelMap||getSideChannelList;/** @type {import('.')} */module.exports=function getSideChannel(){/** @typedef {ReturnType<typeof getSideChannel>} Channel *//** @type {Channel | undefined} */var $channelData;/** @type {Channel} */var channel={assert:function(key){if(!channel.has(key)){var keyDesc=key&&Object(key)===key?'the given object key':inspect(key);throw new $TypeError('Side channel does not contain '+keyDesc);}},'delete':function(key){return!!$channelData&&$channelData['delete'](key);},get:function(key){return $channelData&&$channelData.get(key);},has:function(key){return!!$channelData&&$channelData.has(key);},set:function(key,value){if(!$channelData){$channelData=makeChannel();}$channelData.set(key,value);}};return channel;};},{"es-errors/type":138,"object-inspect":243,"side-channel-list":304,"side-channel-map":305,"side-channel-weakmap":306}],308:[function(require,module,exports){(function(Buffer){(function(){/*! simple-concat. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */module.exports=function(stream,cb){var chunks=[];stream.on('data',function(chunk){chunks.push(chunk);});stream.once('end',function(){if(cb)cb(null,Buffer.concat(chunks));cb=null;});stream.once('error',function(err){if(cb)cb(err);cb=null;});};}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":83}],309:[function(require,module,exports){(function(Buffer){(function(){/*! simple-get. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */module.exports=simpleGet;const concat=require('simple-concat');const decompressResponse=require('decompress-response');// excluded from browser build
5832
6178
  const http=require('http');const https=require('https');const once=require('once');const querystring=require('querystring');const url=require('url');const isStream=o=>o!==null&&typeof o==='object'&&typeof o.pipe==='function';function simpleGet(opts,cb){opts=Object.assign({maxRedirects:10},typeof opts==='string'?{url:opts}:opts);cb=once(cb);if(opts.url){const{hostname,port,protocol,auth,path}=url.parse(opts.url);// eslint-disable-line node/no-deprecated-api
5833
6179
  delete opts.url;if(!hostname&&!port&&!protocol&&!auth)opts.path=path;// Relative redirect
5834
6180
  else Object.assign(opts,{hostname,port,protocol,auth,path});// Absolute redirect
@@ -5840,7 +6186,7 @@ res.resume();// Discard response
5840
6186
  const redirectHost=url.parse(opts.url).hostname;// eslint-disable-line node/no-deprecated-api
5841
6187
  // If redirected host is different than original host, drop headers to prevent cookie leak (#73)
5842
6188
  if(redirectHost!==null&&redirectHost!==originalHost){delete opts.headers.cookie;delete opts.headers.authorization;}if(opts.method==='POST'&&[301,302].includes(res.statusCode)){opts.method='GET';// On 301/302 redirect, change POST to GET (see #35)
5843
- delete opts.headers['content-length'];delete opts.headers['content-type'];}if(opts.maxRedirects--===0)return cb(new Error('too many redirects'));else return simpleGet(opts,cb);}const tryUnzip=typeof decompressResponse==='function'&&opts.method!=='HEAD';cb(null,tryUnzip?decompressResponse(res):res);});req.on('timeout',()=>{req.abort();cb(new Error('Request timed out'));});req.on('error',cb);if(isStream(body))body.on('error',cb).pipe(req);else req.end(body);return req;}simpleGet.concat=(opts,cb)=>{return simpleGet(opts,(err,res)=>{if(err)return cb(err);concat(res,(err,data)=>{if(err)return cb(err);if(opts.json){try{data=JSON.parse(data.toString());}catch(err){return cb(err,res,data);}}cb(null,res,data);});});};['get','post','put','patch','head','delete'].forEach(method=>{simpleGet[method]=(opts,cb)=>{if(typeof opts==='string')opts={url:opts};return simpleGet(Object.assign({method:method.toUpperCase()},opts),cb);};});}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":83,"decompress-response":38,"http":323,"https":187,"once":242,"querystring":272,"simple-concat":306,"url":349}],308:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
6189
+ delete opts.headers['content-length'];delete opts.headers['content-type'];}if(opts.maxRedirects--===0)return cb(new Error('too many redirects'));else return simpleGet(opts,cb);}const tryUnzip=typeof decompressResponse==='function'&&opts.method!=='HEAD';cb(null,tryUnzip?decompressResponse(res):res);});req.on('timeout',()=>{req.abort();cb(new Error('Request timed out'));});req.on('error',cb);if(isStream(body))body.on('error',cb).pipe(req);else req.end(body);return req;}simpleGet.concat=(opts,cb)=>{return simpleGet(opts,(err,res)=>{if(err)return cb(err);concat(res,(err,data)=>{if(err)return cb(err);if(opts.json){try{data=JSON.parse(data.toString());}catch(err){return cb(err,res,data);}}cb(null,res,data);});});};['get','post','put','patch','head','delete'].forEach(method=>{simpleGet[method]=(opts,cb)=>{if(typeof opts==='string')opts={url:opts};return simpleGet(Object.assign({method:method.toUpperCase()},opts),cb);};});}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":83,"decompress-response":38,"http":325,"https":188,"once":244,"querystring":274,"simple-concat":308,"url":351}],310:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
5844
6190
  //
5845
6191
  // Permission is hereby granted, free of charge, to any person obtaining a
5846
6192
  // copy of this software and associated documentation files (the
@@ -5869,13 +6215,13 @@ if(!dest._isStdio&&(!options||options.end!==false)){source.on('end',onend);sourc
5869
6215
  function onerror(er){cleanup();if(EE.listenerCount(this,'error')===0){throw er;// Unhandled stream error in pipe.
5870
6216
  }}source.on('error',onerror);dest.on('error',onerror);// remove all the event listeners that were added.
5871
6217
  function cleanup(){source.removeListener('data',ondata);dest.removeListener('drain',ondrain);source.removeListener('end',onend);source.removeListener('close',onclose);source.removeListener('error',onerror);dest.removeListener('error',onerror);source.removeListener('end',cleanup);source.removeListener('close',cleanup);dest.removeListener('close',cleanup);}source.on('end',cleanup);source.on('close',cleanup);dest.on('close',cleanup);dest.emit('pipe',source);// Allow for unix-like usage: A.pipe(B).pipe(C)
5872
- return dest;};},{"events":141,"inherits":189,"readable-stream/lib/_stream_duplex.js":310,"readable-stream/lib/_stream_passthrough.js":311,"readable-stream/lib/_stream_readable.js":312,"readable-stream/lib/_stream_transform.js":313,"readable-stream/lib/_stream_writable.js":314,"readable-stream/lib/internal/streams/end-of-stream.js":318,"readable-stream/lib/internal/streams/pipeline.js":320}],309:[function(require,module,exports){'use strict';function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass;}var codes={};function createErrorType(code,message,Base){if(!Base){Base=Error;}function getMessage(arg1,arg2,arg3){if(typeof message==='string'){return message;}else{return message(arg1,arg2,arg3);}}var NodeError=/*#__PURE__*/function(_Base){_inheritsLoose(NodeError,_Base);function NodeError(arg1,arg2,arg3){return _Base.call(this,getMessage(arg1,arg2,arg3))||this;}return NodeError;}(Base);NodeError.prototype.name=Base.name;NodeError.prototype.code=code;codes[code]=NodeError;}// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js
6218
+ return dest;};},{"events":141,"inherits":190,"readable-stream/lib/_stream_duplex.js":312,"readable-stream/lib/_stream_passthrough.js":313,"readable-stream/lib/_stream_readable.js":314,"readable-stream/lib/_stream_transform.js":315,"readable-stream/lib/_stream_writable.js":316,"readable-stream/lib/internal/streams/end-of-stream.js":320,"readable-stream/lib/internal/streams/pipeline.js":322}],311:[function(require,module,exports){'use strict';function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass;}var codes={};function createErrorType(code,message,Base){if(!Base){Base=Error;}function getMessage(arg1,arg2,arg3){if(typeof message==='string'){return message;}else{return message(arg1,arg2,arg3);}}var NodeError=/*#__PURE__*/function(_Base){_inheritsLoose(NodeError,_Base);function NodeError(arg1,arg2,arg3){return _Base.call(this,getMessage(arg1,arg2,arg3))||this;}return NodeError;}(Base);NodeError.prototype.name=Base.name;NodeError.prototype.code=code;codes[code]=NodeError;}// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js
5873
6219
  function oneOf(expected,thing){if(Array.isArray(expected)){var len=expected.length;expected=expected.map(function(i){return String(i);});if(len>2){return"one of ".concat(thing," ").concat(expected.slice(0,len-1).join(', '),", or ")+expected[len-1];}else if(len===2){return"one of ".concat(thing," ").concat(expected[0]," or ").concat(expected[1]);}else{return"of ".concat(thing," ").concat(expected[0]);}}else{return"of ".concat(thing," ").concat(String(expected));}}// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
5874
6220
  function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search;}// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
5875
6221
  function endsWith(str,search,this_len){if(this_len===undefined||this_len>str.length){this_len=str.length;}return str.substring(this_len-search.length,this_len)===search;}// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
5876
6222
  function includes(str,search,start){if(typeof start!=='number'){start=0;}if(start+search.length>str.length){return false;}else{return str.indexOf(search,start)!==-1;}}createErrorType('ERR_INVALID_OPT_VALUE',function(name,value){return'The value "'+value+'" is invalid for option "'+name+'"';},TypeError);createErrorType('ERR_INVALID_ARG_TYPE',function(name,expected,actual){// determiner: 'must be' or 'must not be'
5877
6223
  var determiner;if(typeof expected==='string'&&startsWith(expected,'not ')){determiner='must not be';expected=expected.replace(/^not /,'');}else{determiner='must be';}var msg;if(endsWith(name,' argument')){// For cases like 'first argument'
5878
- msg="The ".concat(name," ").concat(determiner," ").concat(oneOf(expected,'type'));}else{var type=includes(name,'.')?'property':'argument';msg="The \"".concat(name,"\" ").concat(type," ").concat(determiner," ").concat(oneOf(expected,'type'));}msg+=". Received type ".concat(typeof actual);return msg;},TypeError);createErrorType('ERR_STREAM_PUSH_AFTER_EOF','stream.push() after EOF');createErrorType('ERR_METHOD_NOT_IMPLEMENTED',function(name){return'The '+name+' method is not implemented';});createErrorType('ERR_STREAM_PREMATURE_CLOSE','Premature close');createErrorType('ERR_STREAM_DESTROYED',function(name){return'Cannot call '+name+' after a stream was destroyed';});createErrorType('ERR_MULTIPLE_CALLBACK','Callback called multiple times');createErrorType('ERR_STREAM_CANNOT_PIPE','Cannot pipe, not readable');createErrorType('ERR_STREAM_WRITE_AFTER_END','write after end');createErrorType('ERR_STREAM_NULL_VALUES','May not write null values to stream',TypeError);createErrorType('ERR_UNKNOWN_ENCODING',function(arg){return'Unknown encoding: '+arg;},TypeError);createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT','stream.unshift() after end event');module.exports.codes=codes;},{}],310:[function(require,module,exports){(function(process){(function(){// Copyright Joyent, Inc. and other Node contributors.
6224
+ msg="The ".concat(name," ").concat(determiner," ").concat(oneOf(expected,'type'));}else{var type=includes(name,'.')?'property':'argument';msg="The \"".concat(name,"\" ").concat(type," ").concat(determiner," ").concat(oneOf(expected,'type'));}msg+=". Received type ".concat(typeof actual);return msg;},TypeError);createErrorType('ERR_STREAM_PUSH_AFTER_EOF','stream.push() after EOF');createErrorType('ERR_METHOD_NOT_IMPLEMENTED',function(name){return'The '+name+' method is not implemented';});createErrorType('ERR_STREAM_PREMATURE_CLOSE','Premature close');createErrorType('ERR_STREAM_DESTROYED',function(name){return'Cannot call '+name+' after a stream was destroyed';});createErrorType('ERR_MULTIPLE_CALLBACK','Callback called multiple times');createErrorType('ERR_STREAM_CANNOT_PIPE','Cannot pipe, not readable');createErrorType('ERR_STREAM_WRITE_AFTER_END','write after end');createErrorType('ERR_STREAM_NULL_VALUES','May not write null values to stream',TypeError);createErrorType('ERR_UNKNOWN_ENCODING',function(arg){return'Unknown encoding: '+arg;},TypeError);createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT','stream.unshift() after end event');module.exports.codes=codes;},{}],312:[function(require,module,exports){(function(process){(function(){// Copyright Joyent, Inc. and other Node contributors.
5879
6225
  //
5880
6226
  // Permission is hereby granted, free of charge, to any person obtaining a
5881
6227
  // copy of this software and associated documentation files (the
@@ -5920,7 +6266,7 @@ enumerable:false,get:function get(){if(this._readableState===undefined||this._wr
5920
6266
  // has not been initialized yet
5921
6267
  if(this._readableState===undefined||this._writableState===undefined){return;}// backward compatibility, the user is explicitly
5922
6268
  // managing destroyed
5923
- this._readableState.destroyed=value;this._writableState.destroyed=value;}});}).call(this);}).call(this,require('_process'));},{"./_stream_readable":312,"./_stream_writable":314,"_process":256,"inherits":189}],311:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
6269
+ this._readableState.destroyed=value;this._writableState.destroyed=value;}});}).call(this);}).call(this,require('_process'));},{"./_stream_readable":314,"./_stream_writable":316,"_process":258,"inherits":190}],313:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
5924
6270
  //
5925
6271
  // Permission is hereby granted, free of charge, to any person obtaining a
5926
6272
  // copy of this software and associated documentation files (the
@@ -5943,7 +6289,7 @@ this._readableState.destroyed=value;this._writableState.destroyed=value;}});}).c
5943
6289
  // a passthrough stream.
5944
6290
  // basically just the most minimal sort of Transform stream.
5945
6291
  // Every written chunk gets output as-is.
5946
- 'use strict';module.exports=PassThrough;var Transform=require('./_stream_transform');require('inherits')(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options);}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk);};},{"./_stream_transform":313,"inherits":189}],312:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
6292
+ 'use strict';module.exports=PassThrough;var Transform=require('./_stream_transform');require('inherits')(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options);}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk);};},{"./_stream_transform":315,"inherits":190}],314:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
5947
6293
  //
5948
6294
  // Permission is hereby granted, free of charge, to any person obtaining a
5949
6295
  // copy of this software and associated documentation files (the
@@ -6195,7 +6541,7 @@ if(state.decoder)ret=state.buffer.join('');else if(state.buffer.length===1)ret=s
6195
6541
  ret=state.buffer.consume(n,state.decoder);}return ret;}function endReadable(stream){var state=stream._readableState;debug('endReadable',state.endEmitted);if(!state.endEmitted){state.ended=true;process.nextTick(endReadableNT,state,stream);}}function endReadableNT(state,stream){debug('endReadableNT',state.endEmitted,state.length);// Check that we didn't get one last unshift.
6196
6542
  if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit('end');if(state.autoDestroy){// In case of duplex streams we need a way to detect
6197
6543
  // if the writable side is ready for autoDestroy as well
6198
- var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy();}}}}if(typeof Symbol==='function'){Readable.from=function(iterable,opts){if(from===undefined){from=require('./internal/streams/from');}return from(Readable,iterable,opts);};}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i;}return-1;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":309,"./_stream_duplex":310,"./internal/streams/async_iterator":315,"./internal/streams/buffer_list":316,"./internal/streams/destroy":317,"./internal/streams/from":319,"./internal/streams/state":321,"./internal/streams/stream":322,"_process":256,"buffer":83,"events":141,"inherits":189,"string_decoder/":342,"util":38}],313:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
6544
+ var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy();}}}}if(typeof Symbol==='function'){Readable.from=function(iterable,opts){if(from===undefined){from=require('./internal/streams/from');}return from(Readable,iterable,opts);};}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i;}return-1;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":311,"./_stream_duplex":312,"./internal/streams/async_iterator":317,"./internal/streams/buffer_list":318,"./internal/streams/destroy":319,"./internal/streams/from":321,"./internal/streams/state":323,"./internal/streams/stream":324,"_process":258,"buffer":83,"events":141,"inherits":190,"string_decoder/":344,"util":38}],315:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
6199
6545
  //
6200
6546
  // Permission is hereby granted, free of charge, to any person obtaining a
6201
6547
  // copy of this software and associated documentation files (the
@@ -6281,7 +6627,7 @@ ts.needTransform=true;}};Transform.prototype._destroy=function(err,cb){Duplex.pr
6281
6627
  stream.push(data);// TODO(BridgeAR): Write a test for these two error cases
6282
6628
  // if there's nothing in the write buffer, then that means
6283
6629
  // that nothing more will ever be provided
6284
- if(stream._writableState.length)throw new ERR_TRANSFORM_WITH_LENGTH_0();if(stream._transformState.transforming)throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();return stream.push(null);}},{"../errors":309,"./_stream_duplex":310,"inherits":189}],314:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
6630
+ if(stream._writableState.length)throw new ERR_TRANSFORM_WITH_LENGTH_0();if(stream._transformState.transforming)throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();return stream.push(null);}},{"../errors":311,"./_stream_duplex":312,"inherits":190}],316:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
6285
6631
  //
6286
6632
  // Permission is hereby granted, free of charge, to any person obtaining a
6287
6633
  // copy of this software and associated documentation files (the
@@ -6416,7 +6762,7 @@ enumerable:false,get:function get(){if(this._writableState===undefined){return f
6416
6762
  // has not been initialized yet
6417
6763
  if(!this._writableState){return;}// backward compatibility, the user is explicitly
6418
6764
  // managing destroyed
6419
- this._writableState.destroyed=value;}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err);};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":309,"./_stream_duplex":310,"./internal/streams/destroy":317,"./internal/streams/state":321,"./internal/streams/stream":322,"_process":256,"buffer":83,"inherits":189,"util-deprecate":350}],315:[function(require,module,exports){(function(process){(function(){'use strict';var _Object$setPrototypeO;function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var finished=require('./end-of-stream');var kLastResolve=Symbol('lastResolve');var kLastReject=Symbol('lastReject');var kError=Symbol('error');var kEnded=Symbol('ended');var kLastPromise=Symbol('lastPromise');var kHandlePromise=Symbol('handlePromise');var kStream=Symbol('stream');function createIterResult(value,done){return{value:value,done:done};}function readAndResolve(iter){var resolve=iter[kLastResolve];if(resolve!==null){var data=iter[kStream].read();// we defer if data is null
6765
+ this._writableState.destroyed=value;}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err);};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":311,"./_stream_duplex":312,"./internal/streams/destroy":319,"./internal/streams/state":323,"./internal/streams/stream":324,"_process":258,"buffer":83,"inherits":190,"util-deprecate":352}],317:[function(require,module,exports){(function(process){(function(){'use strict';var _Object$setPrototypeO;function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var finished=require('./end-of-stream');var kLastResolve=Symbol('lastResolve');var kLastReject=Symbol('lastReject');var kError=Symbol('error');var kEnded=Symbol('ended');var kLastPromise=Symbol('lastPromise');var kHandlePromise=Symbol('handlePromise');var kStream=Symbol('stream');function createIterResult(value,done){return{value:value,done:done};}function readAndResolve(iter){var resolve=iter[kLastResolve];if(resolve!==null){var data=iter[kStream].read();// we defer if data is null
6420
6766
  // we can be expecting either 'end' or
6421
6767
  // 'error'
6422
6768
  if(data!==null){iter[kLastPromise]=null;iter[kLastResolve]=null;iter[kLastReject]=null;resolve(createIterResult(data,false));}}}function onReadable(iter){// we wait for the next tick, because it might
@@ -6438,7 +6784,7 @@ var data=this[kStream].read();if(data!==null){return Promise.resolve(createIterR
6438
6784
  // Readable class this is attached to
6439
6785
  return new Promise(function(resolve,reject){_this2[kStream].destroy(null,function(err){if(err){reject(err);return;}resolve(createIterResult(undefined,true));});});}),_Object$setPrototypeO),AsyncIteratorPrototype);var createReadableStreamAsyncIterator=function createReadableStreamAsyncIterator(stream){var _Object$create;var iterator=Object.create(ReadableStreamAsyncIteratorPrototype,(_Object$create={},_defineProperty(_Object$create,kStream,{value:stream,writable:true}),_defineProperty(_Object$create,kLastResolve,{value:null,writable:true}),_defineProperty(_Object$create,kLastReject,{value:null,writable:true}),_defineProperty(_Object$create,kError,{value:null,writable:true}),_defineProperty(_Object$create,kEnded,{value:stream._readableState.endEmitted,writable:true}),_defineProperty(_Object$create,kHandlePromise,{value:function value(resolve,reject){var data=iterator[kStream].read();if(data){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;resolve(createIterResult(data,false));}else{iterator[kLastResolve]=resolve;iterator[kLastReject]=reject;}},writable:true}),_Object$create));iterator[kLastPromise]=null;finished(stream,function(err){if(err&&err.code!=='ERR_STREAM_PREMATURE_CLOSE'){var reject=iterator[kLastReject];// reject if we are waiting for data in the Promise
6440
6786
  // returned by next() and store the error
6441
- if(reject!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;reject(err);}iterator[kError]=err;return;}var resolve=iterator[kLastResolve];if(resolve!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;resolve(createIterResult(undefined,true));}iterator[kEnded]=true;});stream.on('readable',onReadable.bind(null,iterator));return iterator;};module.exports=createReadableStreamAsyncIterator;}).call(this);}).call(this,require('_process'));},{"./end-of-stream":318,"_process":256}],316:[function(require,module,exports){'use strict';function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var _require=require('buffer'),Buffer=_require.Buffer;var _require2=require('util'),inspect=_require2.inspect;var custom=inspect&&inspect.custom||'inspect';function copyBuffer(src,target,offset){Buffer.prototype.copy.call(src,target,offset);}module.exports=/*#__PURE__*/function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0;}_createClass(BufferList,[{key:"push",value:function push(v){var entry={data:v,next:null};if(this.length>0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length;}},{key:"unshift",value:function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length;}},{key:"shift",value:function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret;}},{key:"clear",value:function clear(){this.head=this.tail=null;this.length=0;}},{key:"join",value:function join(s){if(this.length===0)return'';var p=this.head;var ret=''+p.data;while(p=p.next)ret+=s+p.data;return ret;}},{key:"concat",value:function concat(n){if(this.length===0)return Buffer.alloc(0);var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next;}return ret;}// Consumes a specified amount of bytes or characters from the buffered data.
6787
+ if(reject!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;reject(err);}iterator[kError]=err;return;}var resolve=iterator[kLastResolve];if(resolve!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;resolve(createIterResult(undefined,true));}iterator[kEnded]=true;});stream.on('readable',onReadable.bind(null,iterator));return iterator;};module.exports=createReadableStreamAsyncIterator;}).call(this);}).call(this,require('_process'));},{"./end-of-stream":320,"_process":258}],318:[function(require,module,exports){'use strict';function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var _require=require('buffer'),Buffer=_require.Buffer;var _require2=require('util'),inspect=_require2.inspect;var custom=inspect&&inspect.custom||'inspect';function copyBuffer(src,target,offset){Buffer.prototype.copy.call(src,target,offset);}module.exports=/*#__PURE__*/function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0;}_createClass(BufferList,[{key:"push",value:function push(v){var entry={data:v,next:null};if(this.length>0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length;}},{key:"unshift",value:function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length;}},{key:"shift",value:function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret;}},{key:"clear",value:function clear(){this.head=this.tail=null;this.length=0;}},{key:"join",value:function join(s){if(this.length===0)return'';var p=this.head;var ret=''+p.data;while(p=p.next)ret+=s+p.data;return ret;}},{key:"concat",value:function concat(n){if(this.length===0)return Buffer.alloc(0);var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next;}return ret;}// Consumes a specified amount of bytes or characters from the buffered data.
6442
6788
  },{key:"consume",value:function consume(n,hasStrings){var ret;if(n<this.head.data.length){// `slice` is the same for buffers and strings.
6443
6789
  ret=this.head.data.slice(0,n);this.head.data=this.head.data.slice(n);}else if(n===this.head.data.length){// First chunk is a perfect match.
6444
6790
  ret=this.shift();}else{// Result spans more than one buffer.
@@ -6447,7 +6793,7 @@ ret=hasStrings?this._getString(n):this._getBuffer(n);}return ret;}},{key:"first"
6447
6793
  },{key:"_getBuffer",value:function _getBuffer(n){var ret=Buffer.allocUnsafe(n);var p=this.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null;}else{this.head=p;p.data=buf.slice(nb);}break;}++c;}this.length-=c;return ret;}// Make sure the linked list only shows the minimal necessary information.
6448
6794
  },{key:custom,value:function value(_,options){return inspect(this,_objectSpread(_objectSpread({},options),{},{// Only inspect one level.
6449
6795
  depth:0,// It should not recurse.
6450
- customInspect:false}));}}]);return BufferList;}();},{"buffer":83,"util":38}],317:[function(require,module,exports){(function(process){(function(){'use strict';// undocumented cb() API, needed for core, not for public API
6796
+ customInspect:false}));}}]);return BufferList;}();},{"buffer":83,"util":38}],319:[function(require,module,exports){(function(process){(function(){'use strict';// undocumented cb() API, needed for core, not for public API
6451
6797
  function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err);}else if(err){if(!this._writableState){process.nextTick(emitErrorNT,this,err);}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,err);}}return this;}// we set destroyed to true before firing error callbacks in order
6452
6798
  // to make it re-entrance safe in case destroy() is called within callbacks
6453
6799
  if(this._readableState){this._readableState.destroyed=true;}// if this is a duplex stream mark the writable part as destroyed as well
@@ -6456,21 +6802,21 @@ if(this._writableState){this._writableState.destroyed=true;}this._destroy(err||n
6456
6802
  // For now when you opt-in to autoDestroy we allow
6457
6803
  // the error to be emitted nextTick. In a future
6458
6804
  // semver major update we should change the default to this.
6459
- var rState=stream._readableState;var wState=stream._writableState;if(rState&&rState.autoDestroy||wState&&wState.autoDestroy)stream.destroy(err);else stream.emit('error',err);}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy};}).call(this);}).call(this,require('_process'));},{"_process":256}],318:[function(require,module,exports){// Ported from https://github.com/mafintosh/end-of-stream with
6805
+ var rState=stream._readableState;var wState=stream._writableState;if(rState&&rState.autoDestroy||wState&&wState.autoDestroy)stream.destroy(err);else stream.emit('error',err);}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy};}).call(this);}).call(this,require('_process'));},{"_process":258}],320:[function(require,module,exports){// Ported from https://github.com/mafintosh/end-of-stream with
6460
6806
  // permission from the author, Mathias Buus (@mafintosh).
6461
6807
  'use strict';var ERR_STREAM_PREMATURE_CLOSE=require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;function once(callback){var called=false;return function(){if(called)return;called=true;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}callback.apply(this,args);};}function noop(){}function isRequest(stream){return stream.setHeader&&typeof stream.abort==='function';}function eos(stream,opts,callback){if(typeof opts==='function')return eos(stream,null,opts);if(!opts)opts={};callback=once(callback||noop);var readable=opts.readable||opts.readable!==false&&stream.readable;var writable=opts.writable||opts.writable!==false&&stream.writable;var onlegacyfinish=function onlegacyfinish(){if(!stream.writable)onfinish();};var writableEnded=stream._writableState&&stream._writableState.finished;var onfinish=function onfinish(){writable=false;writableEnded=true;if(!readable)callback.call(stream);};var readableEnded=stream._readableState&&stream._readableState.endEmitted;var onend=function onend(){readable=false;readableEnded=true;if(!writable)callback.call(stream);};var onerror=function onerror(err){callback.call(stream,err);};var onclose=function onclose(){var err;if(readable&&!readableEnded){if(!stream._readableState||!stream._readableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE();return callback.call(stream,err);}if(writable&&!writableEnded){if(!stream._writableState||!stream._writableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE();return callback.call(stream,err);}};var onrequest=function onrequest(){stream.req.on('finish',onfinish);};if(isRequest(stream)){stream.on('complete',onfinish);stream.on('abort',onclose);if(stream.req)onrequest();else stream.on('request',onrequest);}else if(writable&&!stream._writableState){// legacy streams
6462
- stream.on('end',onlegacyfinish);stream.on('close',onlegacyfinish);}stream.on('end',onend);stream.on('finish',onfinish);if(opts.error!==false)stream.on('error',onerror);stream.on('close',onclose);return function(){stream.removeListener('complete',onfinish);stream.removeListener('abort',onclose);stream.removeListener('request',onrequest);if(stream.req)stream.req.removeListener('finish',onfinish);stream.removeListener('end',onlegacyfinish);stream.removeListener('close',onlegacyfinish);stream.removeListener('finish',onfinish);stream.removeListener('end',onend);stream.removeListener('error',onerror);stream.removeListener('close',onclose);};}module.exports=eos;},{"../../../errors":309}],319:[function(require,module,exports){module.exports=function(){throw new Error('Readable.from is not available in the browser');};},{}],320:[function(require,module,exports){// Ported from https://github.com/mafintosh/pump with
6808
+ stream.on('end',onlegacyfinish);stream.on('close',onlegacyfinish);}stream.on('end',onend);stream.on('finish',onfinish);if(opts.error!==false)stream.on('error',onerror);stream.on('close',onclose);return function(){stream.removeListener('complete',onfinish);stream.removeListener('abort',onclose);stream.removeListener('request',onrequest);if(stream.req)stream.req.removeListener('finish',onfinish);stream.removeListener('end',onlegacyfinish);stream.removeListener('close',onlegacyfinish);stream.removeListener('finish',onfinish);stream.removeListener('end',onend);stream.removeListener('error',onerror);stream.removeListener('close',onclose);};}module.exports=eos;},{"../../../errors":311}],321:[function(require,module,exports){module.exports=function(){throw new Error('Readable.from is not available in the browser');};},{}],322:[function(require,module,exports){// Ported from https://github.com/mafintosh/pump with
6463
6809
  // permission from the author, Mathias Buus (@mafintosh).
6464
6810
  'use strict';var eos;function once(callback){var called=false;return function(){if(called)return;called=true;callback.apply(void 0,arguments);};}var _require$codes=require('../../../errors').codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(err){// Rethrow the error if it exists to avoid swallowing it
6465
6811
  if(err)throw err;}function isRequest(stream){return stream.setHeader&&typeof stream.abort==='function';}function destroyer(stream,reading,writing,callback){callback=once(callback);var closed=false;stream.on('close',function(){closed=true;});if(eos===undefined)eos=require('./end-of-stream');eos(stream,{readable:reading,writable:writing},function(err){if(err)return callback(err);closed=true;callback();});var destroyed=false;return function(err){if(closed)return;if(destroyed)return;destroyed=true;// request.destroy just do .end - .abort is what we want
6466
- if(isRequest(stream))return stream.abort();if(typeof stream.destroy==='function')return stream.destroy();callback(err||new ERR_STREAM_DESTROYED('pipe'));};}function call(fn){fn();}function pipe(from,to){return from.pipe(to);}function popCallback(streams){if(!streams.length)return noop;if(typeof streams[streams.length-1]!=='function')return noop;return streams.pop();}function pipeline(){for(var _len=arguments.length,streams=new Array(_len),_key=0;_key<_len;_key++){streams[_key]=arguments[_key];}var callback=popCallback(streams);if(Array.isArray(streams[0]))streams=streams[0];if(streams.length<2){throw new ERR_MISSING_ARGS('streams');}var error;var destroys=streams.map(function(stream,i){var reading=i<streams.length-1;var writing=i>0;return destroyer(stream,reading,writing,function(err){if(!error)error=err;if(err)destroys.forEach(call);if(reading)return;destroys.forEach(call);callback(error);});});return streams.reduce(pipe);}module.exports=pipeline;},{"../../../errors":309,"./end-of-stream":318}],321:[function(require,module,exports){'use strict';var ERR_INVALID_OPT_VALUE=require('../../../errors').codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null;}function getHighWaterMark(state,options,duplexKey,isDuplex){var hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!(isFinite(hwm)&&Math.floor(hwm)===hwm)||hwm<0){var name=isDuplex?duplexKey:'highWaterMark';throw new ERR_INVALID_OPT_VALUE(name,hwm);}return Math.floor(hwm);}// Default value
6467
- return state.objectMode?16:16*1024;}module.exports={getHighWaterMark:getHighWaterMark};},{"../../../errors":309}],322:[function(require,module,exports){arguments[4][74][0].apply(exports,arguments);},{"dup":74,"events":141}],323:[function(require,module,exports){(function(global){(function(){var ClientRequest=require('./lib/request');var response=require('./lib/response');var extend=require('xtend');var statusCodes=require('builtin-status-codes');var url=require('url');var http=exports;http.request=function(opts,cb){if(typeof opts==='string')opts=url.parse(opts);else opts=extend(opts);// Normally, the page is loaded from http or https, so not specifying a protocol
6812
+ if(isRequest(stream))return stream.abort();if(typeof stream.destroy==='function')return stream.destroy();callback(err||new ERR_STREAM_DESTROYED('pipe'));};}function call(fn){fn();}function pipe(from,to){return from.pipe(to);}function popCallback(streams){if(!streams.length)return noop;if(typeof streams[streams.length-1]!=='function')return noop;return streams.pop();}function pipeline(){for(var _len=arguments.length,streams=new Array(_len),_key=0;_key<_len;_key++){streams[_key]=arguments[_key];}var callback=popCallback(streams);if(Array.isArray(streams[0]))streams=streams[0];if(streams.length<2){throw new ERR_MISSING_ARGS('streams');}var error;var destroys=streams.map(function(stream,i){var reading=i<streams.length-1;var writing=i>0;return destroyer(stream,reading,writing,function(err){if(!error)error=err;if(err)destroys.forEach(call);if(reading)return;destroys.forEach(call);callback(error);});});return streams.reduce(pipe);}module.exports=pipeline;},{"../../../errors":311,"./end-of-stream":320}],323:[function(require,module,exports){'use strict';var ERR_INVALID_OPT_VALUE=require('../../../errors').codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null;}function getHighWaterMark(state,options,duplexKey,isDuplex){var hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!(isFinite(hwm)&&Math.floor(hwm)===hwm)||hwm<0){var name=isDuplex?duplexKey:'highWaterMark';throw new ERR_INVALID_OPT_VALUE(name,hwm);}return Math.floor(hwm);}// Default value
6813
+ return state.objectMode?16:16*1024;}module.exports={getHighWaterMark:getHighWaterMark};},{"../../../errors":311}],324:[function(require,module,exports){arguments[4][74][0].apply(exports,arguments);},{"dup":74,"events":141}],325:[function(require,module,exports){(function(global){(function(){var ClientRequest=require('./lib/request');var response=require('./lib/response');var extend=require('xtend');var statusCodes=require('builtin-status-codes');var url=require('url');var http=exports;http.request=function(opts,cb){if(typeof opts==='string')opts=url.parse(opts);else opts=extend(opts);// Normally, the page is loaded from http or https, so not specifying a protocol
6468
6814
  // will result in a (valid) protocol-relative url. However, this won't work if
6469
6815
  // the protocol is something else, like 'file:'
6470
6816
  var defaultProtocol=global.location.protocol.search(/^https?:$/)===-1?'http:':'';var protocol=opts.protocol||defaultProtocol;var host=opts.hostname||opts.host;var port=opts.port;var path=opts.path||'/';// Necessary for IPv6 addresses
6471
6817
  if(host&&host.indexOf(':')!==-1)host='['+host+']';// This may be a relative url. The browser should always be able to interpret it correctly.
6472
6818
  opts.url=(host?protocol+'//'+host:'')+(port?':'+port:'')+path;opts.method=(opts.method||'GET').toUpperCase();opts.headers=opts.headers||{};// Also valid opts.auth, opts.mode
6473
- var req=new ClientRequest(opts);if(cb)req.on('response',cb);return req;};http.get=function get(opts,cb){var req=http.request(opts,cb);req.end();return req;};http.ClientRequest=ClientRequest;http.IncomingMessage=response.IncomingMessage;http.Agent=function(){};http.Agent.defaultMaxSockets=4;http.globalAgent=new http.Agent();http.STATUS_CODES=statusCodes;http.METHODS=['CHECKOUT','CONNECT','COPY','DELETE','GET','HEAD','LOCK','M-SEARCH','MERGE','MKACTIVITY','MKCOL','MOVE','NOTIFY','OPTIONS','PATCH','POST','PROPFIND','PROPPATCH','PURGE','PUT','REPORT','SEARCH','SUBSCRIBE','TRACE','UNLOCK','UNSUBSCRIBE'];}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./lib/request":325,"./lib/response":326,"builtin-status-codes":84,"url":349,"xtend":357}],324:[function(require,module,exports){(function(global){(function(){exports.fetch=isFunction(global.fetch)&&isFunction(global.ReadableStream);exports.writableStream=isFunction(global.WritableStream);exports.abortController=isFunction(global.AbortController);// The xhr request to example.com may violate some restrictive CSP configurations,
6819
+ var req=new ClientRequest(opts);if(cb)req.on('response',cb);return req;};http.get=function get(opts,cb){var req=http.request(opts,cb);req.end();return req;};http.ClientRequest=ClientRequest;http.IncomingMessage=response.IncomingMessage;http.Agent=function(){};http.Agent.defaultMaxSockets=4;http.globalAgent=new http.Agent();http.STATUS_CODES=statusCodes;http.METHODS=['CHECKOUT','CONNECT','COPY','DELETE','GET','HEAD','LOCK','M-SEARCH','MERGE','MKACTIVITY','MKCOL','MOVE','NOTIFY','OPTIONS','PATCH','POST','PROPFIND','PROPPATCH','PURGE','PUT','REPORT','SEARCH','SUBSCRIBE','TRACE','UNLOCK','UNSUBSCRIBE'];}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./lib/request":327,"./lib/response":328,"builtin-status-codes":84,"url":351,"xtend":359}],326:[function(require,module,exports){(function(global){(function(){exports.fetch=isFunction(global.fetch)&&isFunction(global.ReadableStream);exports.writableStream=isFunction(global.WritableStream);exports.abortController=isFunction(global.AbortController);// The xhr request to example.com may violate some restrictive CSP configurations,
6474
6820
  // so if we're running in a browser that supports `fetch`, avoid calling getXHR()
6475
6821
  // and assume support for certain features below.
6476
6822
  var xhr;function getXHR(){// Cache the xhr value
@@ -6485,7 +6831,7 @@ exports.arraybuffer=exports.fetch||checkTypeSupport('arraybuffer');// These next
6485
6831
  exports.msstream=!exports.fetch&&checkTypeSupport('ms-stream');exports.mozchunkedarraybuffer=!exports.fetch&&checkTypeSupport('moz-chunked-arraybuffer');// If fetch is supported, then overrideMimeType will be supported too. Skip calling
6486
6832
  // getXHR().
6487
6833
  exports.overrideMimeType=exports.fetch||(getXHR()?isFunction(getXHR().overrideMimeType):false);function isFunction(value){return typeof value==='function';}xhr=null;// Help gc
6488
- }).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{}],325:[function(require,module,exports){(function(process,global,Buffer){(function(){var capability=require('./capability');var inherits=require('inherits');var response=require('./response');var stream=require('readable-stream');var IncomingMessage=response.IncomingMessage;var rStates=response.readyStates;function decideMode(preferBinary,useFetch){if(capability.fetch&&useFetch){return'fetch';}else if(capability.mozchunkedarraybuffer){return'moz-chunked-arraybuffer';}else if(capability.msstream){return'ms-stream';}else if(capability.arraybuffer&&preferBinary){return'arraybuffer';}else{return'text';}}var ClientRequest=module.exports=function(opts){var self=this;stream.Writable.call(self);self._opts=opts;self._body=[];self._headers={};if(opts.auth)self.setHeader('Authorization','Basic '+Buffer.from(opts.auth).toString('base64'));Object.keys(opts.headers).forEach(function(name){self.setHeader(name,opts.headers[name]);});var preferBinary;var useFetch=true;if(opts.mode==='disable-fetch'||'requestTimeout'in opts&&!capability.abortController){// If the use of XHR should be preferred. Not typically needed.
6834
+ }).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{}],327:[function(require,module,exports){(function(process,global,Buffer){(function(){var capability=require('./capability');var inherits=require('inherits');var response=require('./response');var stream=require('readable-stream');var IncomingMessage=response.IncomingMessage;var rStates=response.readyStates;function decideMode(preferBinary,useFetch){if(capability.fetch&&useFetch){return'fetch';}else if(capability.mozchunkedarraybuffer){return'moz-chunked-arraybuffer';}else if(capability.msstream){return'ms-stream';}else if(capability.arraybuffer&&preferBinary){return'arraybuffer';}else{return'text';}}var ClientRequest=module.exports=function(opts){var self=this;stream.Writable.call(self);self._opts=opts;self._body=[];self._headers={};if(opts.auth)self.setHeader('Authorization','Basic '+Buffer.from(opts.auth).toString('base64'));Object.keys(opts.headers).forEach(function(name){self.setHeader(name,opts.headers[name]);});var preferBinary;var useFetch=true;if(opts.mode==='disable-fetch'||'requestTimeout'in opts&&!capability.abortController){// If the use of XHR should be preferred. Not typically needed.
6489
6835
  useFetch=false;preferBinary=true;}else if(opts.mode==='prefer-streaming'){// If streaming is a high priority but binary compatibility and
6490
6836
  // the accuracy of the 'content-type' header aren't
6491
6837
  preferBinary=false;}else if(opts.mode==='allow-wrong-content-type'){// If streaming is more important than preserving the 'content-type' header
@@ -6502,7 +6848,7 @@ if(self._mode==='moz-chunked-arraybuffer'){xhr.onprogress=function(){self._onXHR
6502
6848
  * Even though the spec says it should be available in readyState 3,
6503
6849
  * accessing it throws an exception in IE8
6504
6850
  */function statusValid(xhr){try{var status=xhr.status;return status!==null&&status!==0;}catch(e){return false;}}ClientRequest.prototype._onXHRProgress=function(){var self=this;self._resetTimers(false);if(!statusValid(self._xhr)||self._destroyed)return;if(!self._response)self._connect();self._response._onXHRProgress(self._resetTimers.bind(self));};ClientRequest.prototype._connect=function(){var self=this;if(self._destroyed)return;self._response=new IncomingMessage(self._xhr,self._fetchResponse,self._mode,self._resetTimers.bind(self));self._response.on('error',function(err){self.emit('error',err);});self.emit('response',self._response);};ClientRequest.prototype._write=function(chunk,encoding,cb){var self=this;self._body.push(chunk);cb();};ClientRequest.prototype._resetTimers=function(done){var self=this;global.clearTimeout(self._socketTimer);self._socketTimer=null;if(done){global.clearTimeout(self._fetchTimer);self._fetchTimer=null;}else if(self._socketTimeout){self._socketTimer=global.setTimeout(function(){self.emit('timeout');},self._socketTimeout);}};ClientRequest.prototype.abort=ClientRequest.prototype.destroy=function(err){var self=this;self._destroyed=true;self._resetTimers(true);if(self._response)self._response._destroyed=true;if(self._xhr)self._xhr.abort();else if(self._fetchAbortController)self._fetchAbortController.abort();if(err)self.emit('error',err);};ClientRequest.prototype.end=function(data,encoding,cb){var self=this;if(typeof data==='function'){cb=data;data=undefined;}stream.Writable.prototype.end.call(self,data,encoding,cb);};ClientRequest.prototype.setTimeout=function(timeout,cb){var self=this;if(cb)self.once('timeout',cb);self._socketTimeout=timeout;self._resetTimers(false);};ClientRequest.prototype.flushHeaders=function(){};ClientRequest.prototype.setNoDelay=function(){};ClientRequest.prototype.setSocketKeepAlive=function(){};// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method
6505
- var unsafeHeaders=['accept-charset','accept-encoding','access-control-request-headers','access-control-request-method','connection','content-length','cookie','cookie2','date','dnt','expect','host','keep-alive','origin','referer','te','trailer','transfer-encoding','upgrade','via'];}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer);},{"./capability":324,"./response":326,"_process":256,"buffer":83,"inherits":189,"readable-stream":341}],326:[function(require,module,exports){(function(process,global,Buffer){(function(){var capability=require('./capability');var inherits=require('inherits');var stream=require('readable-stream');var rStates=exports.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4};var IncomingMessage=exports.IncomingMessage=function(xhr,response,mode,resetTimers){var self=this;stream.Readable.call(self);self._mode=mode;self.headers={};self.rawHeaders=[];self.trailers={};self.rawTrailers=[];// Fake the 'close' event, but only once 'end' fires
6851
+ var unsafeHeaders=['accept-charset','accept-encoding','access-control-request-headers','access-control-request-method','connection','content-length','cookie','cookie2','date','dnt','expect','host','keep-alive','origin','referer','te','trailer','transfer-encoding','upgrade','via'];}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer);},{"./capability":326,"./response":328,"_process":258,"buffer":83,"inherits":190,"readable-stream":343}],328:[function(require,module,exports){(function(process,global,Buffer){(function(){var capability=require('./capability');var inherits=require('inherits');var stream=require('readable-stream');var rStates=exports.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4};var IncomingMessage=exports.IncomingMessage=function(xhr,response,mode,resetTimers){var self=this;stream.Readable.call(self);self._mode=mode;self.headers={};self.rawHeaders=[];self.trailers={};self.rawTrailers=[];// Fake the 'close' event, but only once 'end' fires
6506
6852
  self.on('end',function(){// The nextTick is necessary to prevent the 'request' module from causing an infinite loop
6507
6853
  process.nextTick(function(){self.emit('close');});});if(mode==='fetch'){self._fetchResponse=response;self.url=response.url;self.statusCode=response.status;self.statusMessage=response.statusText;response.headers.forEach(function(header,key){self.headers[key.toLowerCase()]=header;self.rawHeaders.push(key,header);});if(capability.writableStream){var writable=new WritableStream({write:function(chunk){resetTimers(false);return new Promise(function(resolve,reject){if(self._destroyed){reject();}else if(self.push(Buffer.from(chunk))){resolve();}else{self._resumeFetch=resolve;}});},close:function(){resetTimers(true);if(!self._destroyed)self.push(null);},abort:function(err){resetTimers(true);if(!self._destroyed)self.emit('error',err);}});try{response.body.pipeTo(writable).catch(function(err){resetTimers(true);if(!self._destroyed)self.emit('error',err);});return;}catch(e){}// pipeTo method isn't defined. Can't find a better way to feature test this
6508
6854
  }// fallback for when writableStream or pipeTo aren't available
@@ -6510,7 +6856,7 @@ var reader=response.body.getReader();function read(){reader.read().then(function
6510
6856
  }}};inherits(IncomingMessage,stream.Readable);IncomingMessage.prototype._read=function(){var self=this;var resolve=self._resumeFetch;if(resolve){self._resumeFetch=null;resolve();}};IncomingMessage.prototype._onXHRProgress=function(resetTimers){var self=this;var xhr=self._xhr;var response=null;switch(self._mode){case'text':response=xhr.responseText;if(response.length>self._pos){var newData=response.substr(self._pos);if(self._charset==='x-user-defined'){var buffer=Buffer.alloc(newData.length);for(var i=0;i<newData.length;i++)buffer[i]=newData.charCodeAt(i)&0xff;self.push(buffer);}else{self.push(newData,self._charset);}self._pos=response.length;}break;case'arraybuffer':if(xhr.readyState!==rStates.DONE||!xhr.response)break;response=xhr.response;self.push(Buffer.from(new Uint8Array(response)));break;case'moz-chunked-arraybuffer':// take whole
6511
6857
  response=xhr.response;if(xhr.readyState!==rStates.LOADING||!response)break;self.push(Buffer.from(new Uint8Array(response)));break;case'ms-stream':response=xhr.response;if(xhr.readyState!==rStates.LOADING)break;var reader=new global.MSStreamReader();reader.onprogress=function(){if(reader.result.byteLength>self._pos){self.push(Buffer.from(new Uint8Array(reader.result.slice(self._pos))));self._pos=reader.result.byteLength;}};reader.onload=function(){resetTimers(true);self.push(null);};// reader.onerror = ??? // TODO: this
6512
6858
  reader.readAsArrayBuffer(response);break;}// The ms-stream case handles end separately in reader.onload()
6513
- if(self._xhr.readyState===rStates.DONE&&self._mode!=='ms-stream'){resetTimers(true);self.push(null);}};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer);},{"./capability":324,"_process":256,"buffer":83,"inherits":189,"readable-stream":341}],327:[function(require,module,exports){arguments[4][309][0].apply(exports,arguments);},{"dup":309}],328:[function(require,module,exports){(function(process){(function(){// Copyright Joyent, Inc. and other Node contributors.
6859
+ if(self._xhr.readyState===rStates.DONE&&self._mode!=='ms-stream'){resetTimers(true);self.push(null);}};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer);},{"./capability":326,"_process":258,"buffer":83,"inherits":190,"readable-stream":343}],329:[function(require,module,exports){arguments[4][311][0].apply(exports,arguments);},{"dup":311}],330:[function(require,module,exports){(function(process){(function(){// Copyright Joyent, Inc. and other Node contributors.
6514
6860
  //
6515
6861
  // Permission is hereby granted, free of charge, to any person obtaining a
6516
6862
  // copy of this software and associated documentation files (the
@@ -6555,7 +6901,7 @@ enumerable:false,get:function get(){if(this._readableState===undefined||this._wr
6555
6901
  // has not been initialized yet
6556
6902
  if(this._readableState===undefined||this._writableState===undefined){return;}// backward compatibility, the user is explicitly
6557
6903
  // managing destroyed
6558
- this._readableState.destroyed=value;this._writableState.destroyed=value;}});}).call(this);}).call(this,require('_process'));},{"./_stream_readable":330,"./_stream_writable":332,"_process":256,"inherits":189}],329:[function(require,module,exports){arguments[4][311][0].apply(exports,arguments);},{"./_stream_transform":331,"dup":311,"inherits":189}],330:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
6904
+ this._readableState.destroyed=value;this._writableState.destroyed=value;}});}).call(this);}).call(this,require('_process'));},{"./_stream_readable":332,"./_stream_writable":334,"_process":258,"inherits":190}],331:[function(require,module,exports){arguments[4][313][0].apply(exports,arguments);},{"./_stream_transform":333,"dup":313,"inherits":190}],332:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
6559
6905
  //
6560
6906
  // Permission is hereby granted, free of charge, to any person obtaining a
6561
6907
  // copy of this software and associated documentation files (the
@@ -6807,7 +7153,7 @@ if(state.decoder)ret=state.buffer.join('');else if(state.buffer.length===1)ret=s
6807
7153
  ret=state.buffer.consume(n,state.decoder);}return ret;}function endReadable(stream){var state=stream._readableState;debug('endReadable',state.endEmitted);if(!state.endEmitted){state.ended=true;process.nextTick(endReadableNT,state,stream);}}function endReadableNT(state,stream){debug('endReadableNT',state.endEmitted,state.length);// Check that we didn't get one last unshift.
6808
7154
  if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit('end');if(state.autoDestroy){// In case of duplex streams we need a way to detect
6809
7155
  // if the writable side is ready for autoDestroy as well
6810
- var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy();}}}}if(typeof Symbol==='function'){Readable.from=function(iterable,opts){if(from===undefined){from=require('./internal/streams/from');}return from(Readable,iterable,opts);};}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i;}return-1;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":327,"./_stream_duplex":328,"./internal/streams/async_iterator":333,"./internal/streams/buffer_list":334,"./internal/streams/destroy":335,"./internal/streams/from":337,"./internal/streams/state":339,"./internal/streams/stream":340,"_process":256,"buffer":83,"events":141,"inherits":189,"string_decoder/":342,"util":38}],331:[function(require,module,exports){arguments[4][313][0].apply(exports,arguments);},{"../errors":327,"./_stream_duplex":328,"dup":313,"inherits":189}],332:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
7156
+ var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy();}}}}if(typeof Symbol==='function'){Readable.from=function(iterable,opts){if(from===undefined){from=require('./internal/streams/from');}return from(Readable,iterable,opts);};}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i;}return-1;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":329,"./_stream_duplex":330,"./internal/streams/async_iterator":335,"./internal/streams/buffer_list":336,"./internal/streams/destroy":337,"./internal/streams/from":339,"./internal/streams/state":341,"./internal/streams/stream":342,"_process":258,"buffer":83,"events":141,"inherits":190,"string_decoder/":344,"util":38}],333:[function(require,module,exports){arguments[4][315][0].apply(exports,arguments);},{"../errors":329,"./_stream_duplex":330,"dup":315,"inherits":190}],334:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
6811
7157
  //
6812
7158
  // Permission is hereby granted, free of charge, to any person obtaining a
6813
7159
  // copy of this software and associated documentation files (the
@@ -6942,7 +7288,7 @@ enumerable:false,get:function get(){if(this._writableState===undefined){return f
6942
7288
  // has not been initialized yet
6943
7289
  if(!this._writableState){return;}// backward compatibility, the user is explicitly
6944
7290
  // managing destroyed
6945
- this._writableState.destroyed=value;}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err);};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":327,"./_stream_duplex":328,"./internal/streams/destroy":335,"./internal/streams/state":339,"./internal/streams/stream":340,"_process":256,"buffer":83,"inherits":189,"util-deprecate":350}],333:[function(require,module,exports){(function(process){(function(){'use strict';var _Object$setPrototypeO;function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var finished=require('./end-of-stream');var kLastResolve=Symbol('lastResolve');var kLastReject=Symbol('lastReject');var kError=Symbol('error');var kEnded=Symbol('ended');var kLastPromise=Symbol('lastPromise');var kHandlePromise=Symbol('handlePromise');var kStream=Symbol('stream');function createIterResult(value,done){return{value:value,done:done};}function readAndResolve(iter){var resolve=iter[kLastResolve];if(resolve!==null){var data=iter[kStream].read();// we defer if data is null
7291
+ this._writableState.destroyed=value;}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err);};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":329,"./_stream_duplex":330,"./internal/streams/destroy":337,"./internal/streams/state":341,"./internal/streams/stream":342,"_process":258,"buffer":83,"inherits":190,"util-deprecate":352}],335:[function(require,module,exports){(function(process){(function(){'use strict';var _Object$setPrototypeO;function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var finished=require('./end-of-stream');var kLastResolve=Symbol('lastResolve');var kLastReject=Symbol('lastReject');var kError=Symbol('error');var kEnded=Symbol('ended');var kLastPromise=Symbol('lastPromise');var kHandlePromise=Symbol('handlePromise');var kStream=Symbol('stream');function createIterResult(value,done){return{value:value,done:done};}function readAndResolve(iter){var resolve=iter[kLastResolve];if(resolve!==null){var data=iter[kStream].read();// we defer if data is null
6946
7292
  // we can be expecting either 'end' or
6947
7293
  // 'error'
6948
7294
  if(data!==null){iter[kLastPromise]=null;iter[kLastResolve]=null;iter[kLastReject]=null;resolve(createIterResult(data,false));}}}function onReadable(iter){// we wait for the next tick, because it might
@@ -6964,7 +7310,7 @@ var data=this[kStream].read();if(data!==null){return Promise.resolve(createIterR
6964
7310
  // Readable class this is attached to
6965
7311
  return new Promise(function(resolve,reject){_this2[kStream].destroy(null,function(err){if(err){reject(err);return;}resolve(createIterResult(undefined,true));});});}),_Object$setPrototypeO),AsyncIteratorPrototype);var createReadableStreamAsyncIterator=function createReadableStreamAsyncIterator(stream){var _Object$create;var iterator=Object.create(ReadableStreamAsyncIteratorPrototype,(_Object$create={},_defineProperty(_Object$create,kStream,{value:stream,writable:true}),_defineProperty(_Object$create,kLastResolve,{value:null,writable:true}),_defineProperty(_Object$create,kLastReject,{value:null,writable:true}),_defineProperty(_Object$create,kError,{value:null,writable:true}),_defineProperty(_Object$create,kEnded,{value:stream._readableState.endEmitted,writable:true}),_defineProperty(_Object$create,kHandlePromise,{value:function value(resolve,reject){var data=iterator[kStream].read();if(data){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;resolve(createIterResult(data,false));}else{iterator[kLastResolve]=resolve;iterator[kLastReject]=reject;}},writable:true}),_Object$create));iterator[kLastPromise]=null;finished(stream,function(err){if(err&&err.code!=='ERR_STREAM_PREMATURE_CLOSE'){var reject=iterator[kLastReject];// reject if we are waiting for data in the Promise
6966
7312
  // returned by next() and store the error
6967
- if(reject!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;reject(err);}iterator[kError]=err;return;}var resolve=iterator[kLastResolve];if(resolve!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;resolve(createIterResult(undefined,true));}iterator[kEnded]=true;});stream.on('readable',onReadable.bind(null,iterator));return iterator;};module.exports=createReadableStreamAsyncIterator;}).call(this);}).call(this,require('_process'));},{"./end-of-stream":336,"_process":256}],334:[function(require,module,exports){arguments[4][316][0].apply(exports,arguments);},{"buffer":83,"dup":316,"util":38}],335:[function(require,module,exports){(function(process){(function(){'use strict';// undocumented cb() API, needed for core, not for public API
7313
+ if(reject!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;reject(err);}iterator[kError]=err;return;}var resolve=iterator[kLastResolve];if(resolve!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;resolve(createIterResult(undefined,true));}iterator[kEnded]=true;});stream.on('readable',onReadable.bind(null,iterator));return iterator;};module.exports=createReadableStreamAsyncIterator;}).call(this);}).call(this,require('_process'));},{"./end-of-stream":338,"_process":258}],336:[function(require,module,exports){arguments[4][318][0].apply(exports,arguments);},{"buffer":83,"dup":318,"util":38}],337:[function(require,module,exports){(function(process){(function(){'use strict';// undocumented cb() API, needed for core, not for public API
6968
7314
  function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err);}else if(err){if(!this._writableState){process.nextTick(emitErrorNT,this,err);}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,err);}}return this;}// we set destroyed to true before firing error callbacks in order
6969
7315
  // to make it re-entrance safe in case destroy() is called within callbacks
6970
7316
  if(this._readableState){this._readableState.destroyed=true;}// if this is a duplex stream mark the writable part as destroyed as well
@@ -6973,7 +7319,7 @@ if(this._writableState){this._writableState.destroyed=true;}this._destroy(err||n
6973
7319
  // For now when you opt-in to autoDestroy we allow
6974
7320
  // the error to be emitted nextTick. In a future
6975
7321
  // semver major update we should change the default to this.
6976
- var rState=stream._readableState;var wState=stream._writableState;if(rState&&rState.autoDestroy||wState&&wState.autoDestroy)stream.destroy(err);else stream.emit('error',err);}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy};}).call(this);}).call(this,require('_process'));},{"_process":256}],336:[function(require,module,exports){arguments[4][318][0].apply(exports,arguments);},{"../../../errors":327,"dup":318}],337:[function(require,module,exports){arguments[4][319][0].apply(exports,arguments);},{"dup":319}],338:[function(require,module,exports){arguments[4][320][0].apply(exports,arguments);},{"../../../errors":327,"./end-of-stream":336,"dup":320}],339:[function(require,module,exports){arguments[4][321][0].apply(exports,arguments);},{"../../../errors":327,"dup":321}],340:[function(require,module,exports){arguments[4][74][0].apply(exports,arguments);},{"dup":74,"events":141}],341:[function(require,module,exports){exports=module.exports=require('./lib/_stream_readable.js');exports.Stream=exports;exports.Readable=exports;exports.Writable=require('./lib/_stream_writable.js');exports.Duplex=require('./lib/_stream_duplex.js');exports.Transform=require('./lib/_stream_transform.js');exports.PassThrough=require('./lib/_stream_passthrough.js');exports.finished=require('./lib/internal/streams/end-of-stream.js');exports.pipeline=require('./lib/internal/streams/pipeline.js');},{"./lib/_stream_duplex.js":328,"./lib/_stream_passthrough.js":329,"./lib/_stream_readable.js":330,"./lib/_stream_transform.js":331,"./lib/_stream_writable.js":332,"./lib/internal/streams/end-of-stream.js":336,"./lib/internal/streams/pipeline.js":338}],342:[function(require,module,exports){arguments[4][77][0].apply(exports,arguments);},{"dup":77,"safe-buffer":291}],343:[function(require,module,exports){(function(process){(function(){var Stream=require('stream');// through
7322
+ var rState=stream._readableState;var wState=stream._writableState;if(rState&&rState.autoDestroy||wState&&wState.autoDestroy)stream.destroy(err);else stream.emit('error',err);}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy};}).call(this);}).call(this,require('_process'));},{"_process":258}],338:[function(require,module,exports){arguments[4][320][0].apply(exports,arguments);},{"../../../errors":329,"dup":320}],339:[function(require,module,exports){arguments[4][321][0].apply(exports,arguments);},{"dup":321}],340:[function(require,module,exports){arguments[4][322][0].apply(exports,arguments);},{"../../../errors":329,"./end-of-stream":338,"dup":322}],341:[function(require,module,exports){arguments[4][323][0].apply(exports,arguments);},{"../../../errors":329,"dup":323}],342:[function(require,module,exports){arguments[4][74][0].apply(exports,arguments);},{"dup":74,"events":141}],343:[function(require,module,exports){exports=module.exports=require('./lib/_stream_readable.js');exports.Stream=exports;exports.Readable=exports;exports.Writable=require('./lib/_stream_writable.js');exports.Duplex=require('./lib/_stream_duplex.js');exports.Transform=require('./lib/_stream_transform.js');exports.PassThrough=require('./lib/_stream_passthrough.js');exports.finished=require('./lib/internal/streams/end-of-stream.js');exports.pipeline=require('./lib/internal/streams/pipeline.js');},{"./lib/_stream_duplex.js":330,"./lib/_stream_passthrough.js":331,"./lib/_stream_readable.js":332,"./lib/_stream_transform.js":333,"./lib/_stream_writable.js":334,"./lib/internal/streams/end-of-stream.js":338,"./lib/internal/streams/pipeline.js":340}],344:[function(require,module,exports){arguments[4][77][0].apply(exports,arguments);},{"dup":77,"safe-buffer":293}],345:[function(require,module,exports){(function(process){(function(){var Stream=require('stream');// through
6977
7323
  //
6978
7324
  // a stream that does nothing but re-emit the input.
6979
7325
  // useful for aggregating a series of changing but not ending streams into one stream)
@@ -6988,13 +7334,13 @@ if(_ended)return stream;if(data===null)_ended=true;buffer.push(data);drain();ret
6988
7334
  stream.on('end',function(){stream.readable=false;if(!stream.writable&&stream.autoDestroy)process.nextTick(function(){stream.destroy();});});function _end(){stream.writable=false;end.call(stream);if(!stream.readable&&stream.autoDestroy)stream.destroy();}stream.end=function(data){if(ended)return;ended=true;if(arguments.length)stream.write(data);_end();// will emit or queue
6989
7335
  return stream;};stream.destroy=function(){if(destroyed)return;destroyed=true;ended=true;buffer.length=0;stream.writable=stream.readable=false;stream.emit('close');return stream;};stream.pause=function(){if(stream.paused)return;stream.paused=true;return stream;};stream.resume=function(){if(stream.paused){stream.paused=false;stream.emit('resume');}drain();//may have become paused again,
6990
7336
  //as drain emits 'data'.
6991
- if(!stream.paused)stream.emit('drain');return stream;};return stream;}}).call(this);}).call(this,require('_process'));},{"_process":256,"stream":308}],344:[function(require,module,exports){(function(setImmediate,clearImmediate){(function(){var nextTick=require('process/browser.js').nextTick;var apply=Function.prototype.apply;var slice=Array.prototype.slice;var immediateIds={};var nextImmediateId=0;// DOM APIs, for completeness
7337
+ if(!stream.paused)stream.emit('drain');return stream;};return stream;}}).call(this);}).call(this,require('_process'));},{"_process":258,"stream":310}],346:[function(require,module,exports){(function(setImmediate,clearImmediate){(function(){var nextTick=require('process/browser.js').nextTick;var apply=Function.prototype.apply;var slice=Array.prototype.slice;var immediateIds={};var nextImmediateId=0;// DOM APIs, for completeness
6992
7338
  exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout);};exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval);};exports.clearTimeout=exports.clearInterval=function(timeout){timeout.close();};function Timeout(id,clearFn){this._id=id;this._clearFn=clearFn;}Timeout.prototype.unref=Timeout.prototype.ref=function(){};Timeout.prototype.close=function(){this._clearFn.call(window,this._id);};// Does not start the time, just sets up the members needed.
6993
7339
  exports.enroll=function(item,msecs){clearTimeout(item._idleTimeoutId);item._idleTimeout=msecs;};exports.unenroll=function(item){clearTimeout(item._idleTimeoutId);item._idleTimeout=-1;};exports._unrefActive=exports.active=function(item){clearTimeout(item._idleTimeoutId);var msecs=item._idleTimeout;if(msecs>=0){item._idleTimeoutId=setTimeout(function onTimeout(){if(item._onTimeout)item._onTimeout();},msecs);}};// That's not how node.js implements it but the exposed api is the same.
6994
7340
  exports.setImmediate=typeof setImmediate==="function"?setImmediate:function(fn){var id=nextImmediateId++;var args=arguments.length<2?false:slice.call(arguments,1);immediateIds[id]=true;nextTick(function onNextTick(){if(immediateIds[id]){// fn.call() is faster so we optimize for the common use-case
6995
7341
  // @see http://jsperf.com/call-apply-segu
6996
7342
  if(args){fn.apply(null,args);}else{fn.call(null);}// Prevent ids from leaking
6997
- exports.clearImmediate(id);}});return id;};exports.clearImmediate=typeof clearImmediate==="function"?clearImmediate:function(id){delete immediateIds[id];};}).call(this);}).call(this,require("timers").setImmediate,require("timers").clearImmediate);},{"process/browser.js":256,"timers":344}],345:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var isArray=require('isarray');var typedArrayBuffer=require('typed-array-buffer');var isView=ArrayBuffer.isView||function isView(obj){try{typedArrayBuffer(obj);return true;}catch(e){return false;}};var useUint8Array=typeof Uint8Array!=='undefined';var useArrayBuffer=typeof ArrayBuffer!=='undefined'&&typeof Uint8Array!=='undefined';var useFromArrayBuffer=useArrayBuffer&&(Buffer.prototype instanceof Uint8Array||Buffer.TYPED_ARRAY_SUPPORT);module.exports=function toBuffer(data,encoding){if(Buffer.isBuffer(data)){if(data.constructor&&!('isBuffer'in data)){// probably a SlowBuffer
7343
+ exports.clearImmediate(id);}});return id;};exports.clearImmediate=typeof clearImmediate==="function"?clearImmediate:function(id){delete immediateIds[id];};}).call(this);}).call(this,require("timers").setImmediate,require("timers").clearImmediate);},{"process/browser.js":258,"timers":346}],347:[function(require,module,exports){'use strict';var Buffer=require('safe-buffer').Buffer;var isArray=require('isarray');var typedArrayBuffer=require('typed-array-buffer');var isView=ArrayBuffer.isView||function isView(obj){try{typedArrayBuffer(obj);return true;}catch(e){return false;}};var useUint8Array=typeof Uint8Array!=='undefined';var useArrayBuffer=typeof ArrayBuffer!=='undefined'&&typeof Uint8Array!=='undefined';var useFromArrayBuffer=useArrayBuffer&&(Buffer.prototype instanceof Uint8Array||Buffer.TYPED_ARRAY_SUPPORT);module.exports=function toBuffer(data,encoding){if(Buffer.isBuffer(data)){if(data.constructor&&!('isBuffer'in data)){// probably a SlowBuffer
6998
7344
  return Buffer.from(data);}return data;}if(typeof data==='string'){return Buffer.from(data,encoding);}/*
6999
7345
  * Wrap any TypedArray instances and DataViews
7000
7346
  * Makes sense only on engines with full TypedArray support -- let Buffer detect that
@@ -7015,8 +7361,8 @@ var uint8=data instanceof Uint8Array?data:new Uint8Array(data.buffer,data.byteOf
7015
7361
  * Old Buffer polyfill on an engine that doesn't have TypedArray support
7016
7362
  * Also, this is from a different Buffer polyfill implementation then we have, as instanceof check failed
7017
7363
  * Convert to our current Buffer implementation
7018
- */if(isArr||Buffer.isBuffer(data)&&data.constructor&&typeof data.constructor.isBuffer==='function'&&data.constructor.isBuffer(data)){return Buffer.from(data);}throw new TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.');};},{"isarray":346,"safe-buffer":291,"typed-array-buffer":347}],346:[function(require,module,exports){arguments[4][66][0].apply(exports,arguments);},{"dup":66}],347:[function(require,module,exports){'use strict';var $TypeError=require('es-errors/type');var callBound=require('call-bound');/** @type {undefined | ((thisArg: import('.').TypedArray) => Buffer<ArrayBufferLike>)} */var $typedArrayBuffer=callBound('TypedArray.prototype.buffer',true);var isTypedArray=require('is-typed-array');/** @type {import('.')} */// node <= 0.10, < 0.11.4 has a nonconfigurable own property instead of a prototype getter
7019
- module.exports=$typedArrayBuffer||function typedArrayBuffer(x){if(!isTypedArray(x)){throw new $TypeError('Not a Typed Array');}return x.buffer;};},{"call-bound":92,"es-errors/type":138,"is-typed-array":198}],348:[function(require,module,exports){(function(global){(function(){(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():typeof define==='function'&&define.amd?define('underscore',factory):(global=typeof globalThis!=='undefined'?globalThis:global||self,function(){var current=global._;var exports=global._=factory();exports.noConflict=function(){global._=current;return exports;};}());})(this,function(){// Underscore.js 1.13.8
7364
+ */if(isArr||Buffer.isBuffer(data)&&data.constructor&&typeof data.constructor.isBuffer==='function'&&data.constructor.isBuffer(data)){return Buffer.from(data);}throw new TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.');};},{"isarray":348,"safe-buffer":293,"typed-array-buffer":349}],348:[function(require,module,exports){arguments[4][66][0].apply(exports,arguments);},{"dup":66}],349:[function(require,module,exports){'use strict';var $TypeError=require('es-errors/type');var callBound=require('call-bound');/** @type {undefined | ((thisArg: import('.').TypedArray) => Buffer<ArrayBufferLike>)} */var $typedArrayBuffer=callBound('TypedArray.prototype.buffer',true);var isTypedArray=require('is-typed-array');/** @type {import('.')} */// node <= 0.10, < 0.11.4 has a nonconfigurable own property instead of a prototype getter
7365
+ module.exports=$typedArrayBuffer||function typedArrayBuffer(x){if(!isTypedArray(x)){throw new $TypeError('Not a Typed Array');}return x.buffer;};},{"call-bound":92,"es-errors/type":138,"is-typed-array":199}],350:[function(require,module,exports){(function(global){(function(){(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():typeof define==='function'&&define.amd?define('underscore',factory):(global=typeof globalThis!=='undefined'?globalThis:global||self,function(){var current=global._;var exports=global._=factory();exports.noConflict=function(){global._=current;return exports;};}());})(this,function(){// Underscore.js 1.13.8
7020
7366
  // https://underscorejs.org
7021
7367
  // (c) 2009-2026 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors
7022
7368
  // Underscore may be freely distributed under the MIT license.
@@ -7386,7 +7732,7 @@ each(['concat','join','slice'],function(name){var method=ArrayProto[name];_$1.pr
7386
7732
  var allExports={__proto__:null,VERSION:VERSION,restArguments:restArguments,isObject:isObject,isNull:isNull,isUndefined:isUndefined,isBoolean:isBoolean,isElement:isElement,isString:isString,isNumber:isNumber,isDate:isDate,isRegExp:isRegExp,isError:isError,isSymbol:isSymbol,isArrayBuffer:isArrayBuffer,isDataView:isDataView$1,isArray:isArray,isFunction:isFunction$1,isArguments:isArguments$1,isFinite:isFinite$1,isNaN:isNaN$1,isTypedArray:isTypedArray$1,isEmpty:isEmpty,isMatch:isMatch,isEqual:isEqual,isMap:isMap,isWeakMap:isWeakMap,isSet:isSet,isWeakSet:isWeakSet,keys:keys,allKeys:allKeys,values:values,pairs:pairs,invert:invert,functions:functions,methods:functions,extend:extend,extendOwn:extendOwn,assign:extendOwn,defaults:defaults,create:create,clone:clone,tap:tap,get:get,has:has,mapObject:mapObject,identity:identity,constant:constant,noop:noop,toPath:toPath$1,property:property,propertyOf:propertyOf,matcher:matcher,matches:matcher,times:times,random:random,now:now,escape:_escape,unescape:_unescape,templateSettings:templateSettings,template:template,result:result,uniqueId:uniqueId,chain:chain,iteratee:iteratee,partial:partial,bind:bind,bindAll:bindAll,memoize:memoize,delay:delay,defer:defer,throttle:throttle,debounce:debounce,wrap:wrap,negate:negate,compose:compose,after:after,before:before,once:once,findKey:findKey,findIndex:findIndex,findLastIndex:findLastIndex,sortedIndex:sortedIndex,indexOf:indexOf,lastIndexOf:lastIndexOf,find:find,detect:find,findWhere:findWhere,each:each,forEach:each,map:map,collect:map,reduce:reduce,foldl:reduce,inject:reduce,reduceRight:reduceRight,foldr:reduceRight,filter:filter,select:filter,reject:reject,every:every,all:every,some:some,any:some,contains:contains,includes:contains,include:contains,invoke:invoke,pluck:pluck,where:where,max:max,min:min,shuffle:shuffle,sample:sample,sortBy:sortBy,groupBy:groupBy,indexBy:indexBy,countBy:countBy,partition:partition,toArray:toArray,size:size,pick:pick,omit:omit,first:first,head:first,take:first,initial:initial,last:last,rest:rest,tail:rest,drop:rest,compact:compact,flatten:flatten,without:without,uniq:uniq,unique:uniq,union:union,intersection:intersection,difference:difference,unzip:unzip,transpose:unzip,zip:zip,object:object,range:range,chunk:chunk,mixin:mixin,'default':_$1};// Default Export
7387
7733
  // Add all of the Underscore functions to the wrapper object.
7388
7734
  var _=mixin(allExports);// Legacy Node.js API.
7389
- _._=_;return _;});}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{}],349:[function(require,module,exports){/*
7735
+ _._=_;return _;});}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{}],351:[function(require,module,exports){/*
7390
7736
  * Copyright Joyent, Inc. and other Node contributors.
7391
7737
  *
7392
7738
  * Permission is hereby granted, free of charge, to any person obtaining a
@@ -7564,7 +7910,7 @@ if(psychotic){result.hostname=isAbsolute?'':srcPath.length?srcPath.shift():'';re
7564
7910
  * this especially happens in cases like
7565
7911
  * url.resolveObject('mailto:local1@domain1', 'local2@domain2')
7566
7912
  */var authInHost=result.host&&result.host.indexOf('@')>0?result.host.split('@'):false;if(authInHost){result.auth=authInHost.shift();result.hostname=authInHost.shift();result.host=result.hostname;}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift('');}if(srcPath.length>0){result.pathname=srcPath.join('/');}else{result.pathname=null;result.path=null;}// to support request.http
7567
- if(result.pathname!==null||result.search!==null){result.path=(result.pathname?result.pathname:'')+(result.search?result.search:'');}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result;};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);if(port){port=port[0];if(port!==':'){this.port=port.substr(1);}host=host.substr(0,host.length-port.length);}if(host){this.hostname=host;}};exports.parse=urlParse;exports.resolve=urlResolve;exports.resolveObject=urlResolveObject;exports.format=urlFormat;exports.Url=Url;},{"punycode/":264,"qs":266}],350:[function(require,module,exports){(function(global){(function(){/**
7913
+ if(result.pathname!==null||result.search!==null){result.path=(result.pathname?result.pathname:'')+(result.search?result.search:'');}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result;};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);if(port){port=port[0];if(port!==':'){this.port=port.substr(1);}host=host.substr(0,host.length-port.length);}if(host){this.hostname=host;}};exports.parse=urlParse;exports.resolve=urlResolve;exports.resolveObject=urlResolveObject;exports.format=urlFormat;exports.Url=Url;},{"punycode/":266,"qs":268}],352:[function(require,module,exports){(function(global){(function(){/**
7568
7914
  * Module exports.
7569
7915
  */module.exports=deprecate;/**
7570
7916
  * Mark that a method should not be used.
@@ -7589,12 +7935,12 @@ if(result.pathname!==null||result.search!==null){result.path=(result.pathname?re
7589
7935
  * @returns {Boolean}
7590
7936
  * @api private
7591
7937
  */function config(name){// accessing global.localStorage can trigger a DOMException in sandboxed iframes
7592
- try{if(!global.localStorage)return false;}catch(_){return false;}var val=global.localStorage[name];if(null==val)return false;return String(val).toLowerCase()==='true';}}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{}],351:[function(require,module,exports){module.exports=function isBuffer(arg){return arg&&typeof arg==='object'&&typeof arg.copy==='function'&&typeof arg.fill==='function'&&typeof arg.readUInt8==='function';};},{}],352:[function(require,module,exports){// Currently in sync with Node.js lib/internal/util/types.js
7938
+ try{if(!global.localStorage)return false;}catch(_){return false;}var val=global.localStorage[name];if(null==val)return false;return String(val).toLowerCase()==='true';}}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{}],353:[function(require,module,exports){module.exports=function isBuffer(arg){return arg&&typeof arg==='object'&&typeof arg.copy==='function'&&typeof arg.fill==='function'&&typeof arg.readUInt8==='function';};},{}],354:[function(require,module,exports){// Currently in sync with Node.js lib/internal/util/types.js
7593
7939
  // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9
7594
7940
  'use strict';var isArgumentsObject=require('is-arguments');var isGeneratorFunction=require('is-generator-function');var whichTypedArray=require('which-typed-array');var isTypedArray=require('is-typed-array');function uncurryThis(f){return f.call.bind(f);}var BigIntSupported=typeof BigInt!=='undefined';var SymbolSupported=typeof Symbol!=='undefined';var ObjectToString=uncurryThis(Object.prototype.toString);var numberValue=uncurryThis(Number.prototype.valueOf);var stringValue=uncurryThis(String.prototype.valueOf);var booleanValue=uncurryThis(Boolean.prototype.valueOf);if(BigIntSupported){var bigIntValue=uncurryThis(BigInt.prototype.valueOf);}if(SymbolSupported){var symbolValue=uncurryThis(Symbol.prototype.valueOf);}function checkBoxedPrimitive(value,prototypeValueOf){if(typeof value!=='object'){return false;}try{prototypeValueOf(value);return true;}catch(e){return false;}}exports.isArgumentsObject=isArgumentsObject;exports.isGeneratorFunction=isGeneratorFunction;exports.isTypedArray=isTypedArray;// Taken from here and modified for better browser support
7595
7941
  // https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js
7596
7942
  function isPromise(input){return typeof Promise!=='undefined'&&input instanceof Promise||input!==null&&typeof input==='object'&&typeof input.then==='function'&&typeof input.catch==='function';}exports.isPromise=isPromise;function isArrayBufferView(value){if(typeof ArrayBuffer!=='undefined'&&ArrayBuffer.isView){return ArrayBuffer.isView(value);}return isTypedArray(value)||isDataView(value);}exports.isArrayBufferView=isArrayBufferView;function isUint8Array(value){return whichTypedArray(value)==='Uint8Array';}exports.isUint8Array=isUint8Array;function isUint8ClampedArray(value){return whichTypedArray(value)==='Uint8ClampedArray';}exports.isUint8ClampedArray=isUint8ClampedArray;function isUint16Array(value){return whichTypedArray(value)==='Uint16Array';}exports.isUint16Array=isUint16Array;function isUint32Array(value){return whichTypedArray(value)==='Uint32Array';}exports.isUint32Array=isUint32Array;function isInt8Array(value){return whichTypedArray(value)==='Int8Array';}exports.isInt8Array=isInt8Array;function isInt16Array(value){return whichTypedArray(value)==='Int16Array';}exports.isInt16Array=isInt16Array;function isInt32Array(value){return whichTypedArray(value)==='Int32Array';}exports.isInt32Array=isInt32Array;function isFloat32Array(value){return whichTypedArray(value)==='Float32Array';}exports.isFloat32Array=isFloat32Array;function isFloat64Array(value){return whichTypedArray(value)==='Float64Array';}exports.isFloat64Array=isFloat64Array;function isBigInt64Array(value){return whichTypedArray(value)==='BigInt64Array';}exports.isBigInt64Array=isBigInt64Array;function isBigUint64Array(value){return whichTypedArray(value)==='BigUint64Array';}exports.isBigUint64Array=isBigUint64Array;function isMapToString(value){return ObjectToString(value)==='[object Map]';}isMapToString.working=typeof Map!=='undefined'&&isMapToString(new Map());function isMap(value){if(typeof Map==='undefined'){return false;}return isMapToString.working?isMapToString(value):value instanceof Map;}exports.isMap=isMap;function isSetToString(value){return ObjectToString(value)==='[object Set]';}isSetToString.working=typeof Set!=='undefined'&&isSetToString(new Set());function isSet(value){if(typeof Set==='undefined'){return false;}return isSetToString.working?isSetToString(value):value instanceof Set;}exports.isSet=isSet;function isWeakMapToString(value){return ObjectToString(value)==='[object WeakMap]';}isWeakMapToString.working=typeof WeakMap!=='undefined'&&isWeakMapToString(new WeakMap());function isWeakMap(value){if(typeof WeakMap==='undefined'){return false;}return isWeakMapToString.working?isWeakMapToString(value):value instanceof WeakMap;}exports.isWeakMap=isWeakMap;function isWeakSetToString(value){return ObjectToString(value)==='[object WeakSet]';}isWeakSetToString.working=typeof WeakSet!=='undefined'&&isWeakSetToString(new WeakSet());function isWeakSet(value){return isWeakSetToString(value);}exports.isWeakSet=isWeakSet;function isArrayBufferToString(value){return ObjectToString(value)==='[object ArrayBuffer]';}isArrayBufferToString.working=typeof ArrayBuffer!=='undefined'&&isArrayBufferToString(new ArrayBuffer());function isArrayBuffer(value){if(typeof ArrayBuffer==='undefined'){return false;}return isArrayBufferToString.working?isArrayBufferToString(value):value instanceof ArrayBuffer;}exports.isArrayBuffer=isArrayBuffer;function isDataViewToString(value){return ObjectToString(value)==='[object DataView]';}isDataViewToString.working=typeof ArrayBuffer!=='undefined'&&typeof DataView!=='undefined'&&isDataViewToString(new DataView(new ArrayBuffer(1),0,1));function isDataView(value){if(typeof DataView==='undefined'){return false;}return isDataViewToString.working?isDataViewToString(value):value instanceof DataView;}exports.isDataView=isDataView;// Store a copy of SharedArrayBuffer in case it's deleted elsewhere
7597
- var SharedArrayBufferCopy=typeof SharedArrayBuffer!=='undefined'?SharedArrayBuffer:undefined;function isSharedArrayBufferToString(value){return ObjectToString(value)==='[object SharedArrayBuffer]';}function isSharedArrayBuffer(value){if(typeof SharedArrayBufferCopy==='undefined'){return false;}if(typeof isSharedArrayBufferToString.working==='undefined'){isSharedArrayBufferToString.working=isSharedArrayBufferToString(new SharedArrayBufferCopy());}return isSharedArrayBufferToString.working?isSharedArrayBufferToString(value):value instanceof SharedArrayBufferCopy;}exports.isSharedArrayBuffer=isSharedArrayBuffer;function isAsyncFunction(value){return ObjectToString(value)==='[object AsyncFunction]';}exports.isAsyncFunction=isAsyncFunction;function isMapIterator(value){return ObjectToString(value)==='[object Map Iterator]';}exports.isMapIterator=isMapIterator;function isSetIterator(value){return ObjectToString(value)==='[object Set Iterator]';}exports.isSetIterator=isSetIterator;function isGeneratorObject(value){return ObjectToString(value)==='[object Generator]';}exports.isGeneratorObject=isGeneratorObject;function isWebAssemblyCompiledModule(value){return ObjectToString(value)==='[object WebAssembly.Module]';}exports.isWebAssemblyCompiledModule=isWebAssemblyCompiledModule;function isNumberObject(value){return checkBoxedPrimitive(value,numberValue);}exports.isNumberObject=isNumberObject;function isStringObject(value){return checkBoxedPrimitive(value,stringValue);}exports.isStringObject=isStringObject;function isBooleanObject(value){return checkBoxedPrimitive(value,booleanValue);}exports.isBooleanObject=isBooleanObject;function isBigIntObject(value){return BigIntSupported&&checkBoxedPrimitive(value,bigIntValue);}exports.isBigIntObject=isBigIntObject;function isSymbolObject(value){return SymbolSupported&&checkBoxedPrimitive(value,symbolValue);}exports.isSymbolObject=isSymbolObject;function isBoxedPrimitive(value){return isNumberObject(value)||isStringObject(value)||isBooleanObject(value)||isBigIntObject(value)||isSymbolObject(value);}exports.isBoxedPrimitive=isBoxedPrimitive;function isAnyArrayBuffer(value){return typeof Uint8Array!=='undefined'&&(isArrayBuffer(value)||isSharedArrayBuffer(value));}exports.isAnyArrayBuffer=isAnyArrayBuffer;['isProxy','isExternal','isModuleNamespaceObject'].forEach(function(method){Object.defineProperty(exports,method,{enumerable:false,value:function(){throw new Error(method+' is not supported in userland');}});});},{"is-arguments":190,"is-generator-function":192,"is-typed-array":198,"which-typed-array":355}],353:[function(require,module,exports){(function(process){(function(){// Copyright Joyent, Inc. and other Node contributors.
7943
+ var SharedArrayBufferCopy=typeof SharedArrayBuffer!=='undefined'?SharedArrayBuffer:undefined;function isSharedArrayBufferToString(value){return ObjectToString(value)==='[object SharedArrayBuffer]';}function isSharedArrayBuffer(value){if(typeof SharedArrayBufferCopy==='undefined'){return false;}if(typeof isSharedArrayBufferToString.working==='undefined'){isSharedArrayBufferToString.working=isSharedArrayBufferToString(new SharedArrayBufferCopy());}return isSharedArrayBufferToString.working?isSharedArrayBufferToString(value):value instanceof SharedArrayBufferCopy;}exports.isSharedArrayBuffer=isSharedArrayBuffer;function isAsyncFunction(value){return ObjectToString(value)==='[object AsyncFunction]';}exports.isAsyncFunction=isAsyncFunction;function isMapIterator(value){return ObjectToString(value)==='[object Map Iterator]';}exports.isMapIterator=isMapIterator;function isSetIterator(value){return ObjectToString(value)==='[object Set Iterator]';}exports.isSetIterator=isSetIterator;function isGeneratorObject(value){return ObjectToString(value)==='[object Generator]';}exports.isGeneratorObject=isGeneratorObject;function isWebAssemblyCompiledModule(value){return ObjectToString(value)==='[object WebAssembly.Module]';}exports.isWebAssemblyCompiledModule=isWebAssemblyCompiledModule;function isNumberObject(value){return checkBoxedPrimitive(value,numberValue);}exports.isNumberObject=isNumberObject;function isStringObject(value){return checkBoxedPrimitive(value,stringValue);}exports.isStringObject=isStringObject;function isBooleanObject(value){return checkBoxedPrimitive(value,booleanValue);}exports.isBooleanObject=isBooleanObject;function isBigIntObject(value){return BigIntSupported&&checkBoxedPrimitive(value,bigIntValue);}exports.isBigIntObject=isBigIntObject;function isSymbolObject(value){return SymbolSupported&&checkBoxedPrimitive(value,symbolValue);}exports.isSymbolObject=isSymbolObject;function isBoxedPrimitive(value){return isNumberObject(value)||isStringObject(value)||isBooleanObject(value)||isBigIntObject(value)||isSymbolObject(value);}exports.isBoxedPrimitive=isBoxedPrimitive;function isAnyArrayBuffer(value){return typeof Uint8Array!=='undefined'&&(isArrayBuffer(value)||isSharedArrayBuffer(value));}exports.isAnyArrayBuffer=isAnyArrayBuffer;['isProxy','isExternal','isModuleNamespaceObject'].forEach(function(method){Object.defineProperty(exports,method,{enumerable:false,value:function(){throw new Error(method+' is not supported in userland');}});});},{"is-arguments":191,"is-generator-function":193,"is-typed-array":199,"which-typed-array":357}],355:[function(require,module,exports){(function(process){(function(){// Copyright Joyent, Inc. and other Node contributors.
7598
7944
  //
7599
7945
  // Permission is hereby granted, free of charge, to any person obtaining a
7600
7946
  // copy of this software and associated documentation files (the
@@ -7674,24 +8020,27 @@ if(!reason){var newReason=new Error('Promise was rejected with a falsy value');n
7674
8020
  // and that the callback throwing will reject the promise.
7675
8021
  function callbackified(){var args=[];for(var i=0;i<arguments.length;i++){args.push(arguments[i]);}var maybeCb=args.pop();if(typeof maybeCb!=='function'){throw new TypeError('The last argument must be of type Function');}var self=this;var cb=function(){return maybeCb.apply(self,arguments);};// In true node style we process the callback on `nextTick` with all the
7676
8022
  // implications (stack, `uncaughtException`, `async_hooks`)
7677
- original.apply(this,args).then(function(ret){process.nextTick(cb.bind(null,null,ret));},function(rej){process.nextTick(callbackifyOnRejected.bind(null,rej,cb));});}Object.setPrototypeOf(callbackified,Object.getPrototypeOf(original));Object.defineProperties(callbackified,getOwnPropertyDescriptors(original));return callbackified;}exports.callbackify=callbackify;}).call(this);}).call(this,require('_process'));},{"./support/isBuffer":351,"./support/types":352,"_process":256,"inherits":189}],354:[function(require,module,exports){var indexOf=function(xs,item){if(xs.indexOf)return xs.indexOf(item);else for(var i=0;i<xs.length;i++){if(xs[i]===item)return i;}return-1;};var Object_keys=function(obj){if(Object.keys)return Object.keys(obj);else{var res=[];for(var key in obj)res.push(key);return res;}};var forEach=function(xs,fn){if(xs.forEach)return xs.forEach(fn);else for(var i=0;i<xs.length;i++){fn(xs[i],i,xs);}};var defineProp=function(){try{Object.defineProperty({},'_',{});return function(obj,name,value){Object.defineProperty(obj,name,{writable:true,enumerable:false,configurable:true,value:value});};}catch(e){return function(obj,name,value){obj[name]=value;};}}();var globals=['Array','Boolean','Date','Error','EvalError','Function','Infinity','JSON','Math','NaN','Number','Object','RangeError','ReferenceError','RegExp','String','SyntaxError','TypeError','URIError','decodeURI','decodeURIComponent','encodeURI','encodeURIComponent','escape','eval','isFinite','isNaN','parseFloat','parseInt','undefined','unescape'];function Context(){}Context.prototype={};var Script=exports.Script=function NodeScript(code){if(!(this instanceof Script))return new Script(code);this.code=code;};Script.prototype.runInContext=function(context){if(!(context instanceof Context)){throw new TypeError("needs a 'context' argument.");}var iframe=document.createElement('iframe');if(!iframe.style)iframe.style={};iframe.style.display='none';document.body.appendChild(iframe);var win=iframe.contentWindow;var wEval=win.eval,wExecScript=win.execScript;if(!wEval&&wExecScript){// win.eval() magically appears when this is called in IE:
8023
+ original.apply(this,args).then(function(ret){process.nextTick(cb.bind(null,null,ret));},function(rej){process.nextTick(callbackifyOnRejected.bind(null,rej,cb));});}Object.setPrototypeOf(callbackified,Object.getPrototypeOf(original));Object.defineProperties(callbackified,getOwnPropertyDescriptors(original));return callbackified;}exports.callbackify=callbackify;}).call(this);}).call(this,require('_process'));},{"./support/isBuffer":353,"./support/types":354,"_process":258,"inherits":190}],356:[function(require,module,exports){var indexOf=function(xs,item){if(xs.indexOf)return xs.indexOf(item);else for(var i=0;i<xs.length;i++){if(xs[i]===item)return i;}return-1;};var Object_keys=function(obj){if(Object.keys)return Object.keys(obj);else{var res=[];for(var key in obj)res.push(key);return res;}};var forEach=function(xs,fn){if(xs.forEach)return xs.forEach(fn);else for(var i=0;i<xs.length;i++){fn(xs[i],i,xs);}};var defineProp=function(){try{Object.defineProperty({},'_',{});return function(obj,name,value){Object.defineProperty(obj,name,{writable:true,enumerable:false,configurable:true,value:value});};}catch(e){return function(obj,name,value){obj[name]=value;};}}();var globals=['Array','Boolean','Date','Error','EvalError','Function','Infinity','JSON','Math','NaN','Number','Object','RangeError','ReferenceError','RegExp','String','SyntaxError','TypeError','URIError','decodeURI','decodeURIComponent','encodeURI','encodeURIComponent','escape','eval','isFinite','isNaN','parseFloat','parseInt','undefined','unescape'];function Context(){}Context.prototype={};var Script=exports.Script=function NodeScript(code){if(!(this instanceof Script))return new Script(code);this.code=code;};Script.prototype.runInContext=function(context){if(!(context instanceof Context)){throw new TypeError("needs a 'context' argument.");}var iframe=document.createElement('iframe');if(!iframe.style)iframe.style={};iframe.style.display='none';document.body.appendChild(iframe);var win=iframe.contentWindow;var wEval=win.eval,wExecScript=win.execScript;if(!wEval&&wExecScript){// win.eval() magically appears when this is called in IE:
7678
8024
  wExecScript.call(win,'null');wEval=win.eval;}forEach(Object_keys(context),function(key){win[key]=context[key];});forEach(globals,function(key){if(context[key]){win[key]=context[key];}});var winKeys=Object_keys(win);var res=wEval.call(win,this.code);forEach(Object_keys(win),function(key){// Avoid copying circular objects like `top` and `window` by only
7679
8025
  // updating existing context properties or new properties in the `win`
7680
8026
  // that was only introduced after the eval.
7681
8027
  if(key in context||indexOf(winKeys,key)===-1){context[key]=win[key];}});forEach(globals,function(key){if(!(key in context)){defineProp(context,key,win[key]);}});document.body.removeChild(iframe);return res;};Script.prototype.runInThisContext=function(){return eval(this.code);// maybe...
7682
- };Script.prototype.runInNewContext=function(context){var ctx=Script.createContext(context);var res=this.runInContext(ctx);if(context){forEach(Object_keys(ctx),function(key){context[key]=ctx[key];});}return res;};forEach(Object_keys(Script.prototype),function(name){exports[name]=Script[name]=function(code){var s=Script(code);return s[name].apply(s,[].slice.call(arguments,1));};});exports.isContext=function(context){return context instanceof Context;};exports.createScript=function(code){return exports.Script(code);};exports.createContext=Script.createContext=function(context){var copy=new Context();if(typeof context==='object'){forEach(Object_keys(context),function(key){copy[key]=context[key];});}return copy;};},{}],355:[function(require,module,exports){(function(global){(function(){'use strict';var forEach=require('for-each');var availableTypedArrays=require('available-typed-arrays');var callBind=require('call-bind');var callBound=require('call-bound');var gOPD=require('gopd');var getProto=require('get-proto');var $toString=callBound('Object.prototype.toString');var hasToStringTag=require('has-tostringtag/shams')();var g=typeof globalThis==='undefined'?global:globalThis;var typedArrays=availableTypedArrays();var $slice=callBound('String.prototype.slice');/** @type {<T = unknown>(array: readonly T[], value: unknown) => number} */var $indexOf=callBound('Array.prototype.indexOf',true)||function indexOf(array,value){for(var i=0;i<array.length;i+=1){if(array[i]===value){return i;}}return-1;};/** @typedef {import('./types').Getter} Getter *//** @type {import('./types').Cache} */var cache={__proto__:null};if(hasToStringTag&&gOPD&&getProto){forEach(typedArrays,function(typedArray){var arr=new g[typedArray]();if(Symbol.toStringTag in arr&&getProto){var proto=getProto(arr);// @ts-expect-error TS won't narrow inside a closure
8028
+ };Script.prototype.runInNewContext=function(context){var ctx=Script.createContext(context);var res=this.runInContext(ctx);if(context){forEach(Object_keys(ctx),function(key){context[key]=ctx[key];});}return res;};forEach(Object_keys(Script.prototype),function(name){exports[name]=Script[name]=function(code){var s=Script(code);return s[name].apply(s,[].slice.call(arguments,1));};});exports.isContext=function(context){return context instanceof Context;};exports.createScript=function(code){return exports.Script(code);};exports.createContext=Script.createContext=function(context){var copy=new Context();if(typeof context==='object'){forEach(Object_keys(context),function(key){copy[key]=context[key];});}return copy;};},{}],357:[function(require,module,exports){(function(global){(function(){'use strict';var forEach=require('for-each');var availableTypedArrays=require('available-typed-arrays');var callBind=require('call-bind');var callBound=require('call-bound');var gOPD=require('gopd');var getProto=require('get-proto');var $toString=callBound('Object.prototype.toString');var hasToStringTag=require('has-tostringtag/shams')();var g=typeof globalThis==='undefined'?global:globalThis;var typedArrays=availableTypedArrays();var $slice=callBound('String.prototype.slice');/** @import { BoundSet, BoundSlice, Cache, Getter } from './types' *//** @import { TypedArrayName } from '.' *//** @type {<T = unknown>(array: readonly T[], value: unknown) => number} */var $indexOf=callBound('Array.prototype.indexOf',true)||function indexOf(array,value){for(var i=0;i<array.length;i+=1){if(array[i]===value){return i;}}return-1;};/** @type {Cache} */var cache={__proto__:null};if(hasToStringTag&&gOPD&&getProto){forEach(typedArrays,function(typedArray){var arr=new g[typedArray]();if(Symbol.toStringTag in arr&&getProto){var proto=getProto(arr);// @ts-expect-error TS won't narrow inside a closure
7683
8029
  var descriptor=gOPD(proto,Symbol.toStringTag);if(!descriptor&&proto){var superProto=getProto(proto);// @ts-expect-error TS won't narrow inside a closure
7684
- descriptor=gOPD(superProto,Symbol.toStringTag);}if(descriptor&&descriptor.get){var bound=callBind(descriptor.get);cache[(/** @type {`$${import('.').TypedArrayName}`} */'$'+typedArray)]=bound;}}});}else{forEach(typedArrays,function(typedArray){var arr=new g[typedArray]();var fn=arr.slice||arr.set;if(fn){var bound=/** @type {import('./types').BoundSlice | import('./types').BoundSet} */// @ts-expect-error TODO FIXME
7685
- callBind(fn);cache[(/** @type {`$${import('.').TypedArrayName}`} */'$'+typedArray)]=bound;}});}/** @type {(value: object) => false | import('.').TypedArrayName} */var tryTypedArrays=function tryAllTypedArrays(value){/** @type {ReturnType<typeof tryAllTypedArrays>} */var found=false;forEach(/** @type {Record<`\$${import('.').TypedArrayName}`, Getter>} */cache,/** @type {(getter: Getter, name: `\$${import('.').TypedArrayName}`) => void} */function(getter,typedArray){if(!found){try{// @ts-expect-error a throw is fine here
7686
- if('$'+getter(value)===typedArray){found=/** @type {import('.').TypedArrayName} */$slice(typedArray,1);}}catch(e){/**/}}});return found;};/** @type {(value: object) => false | import('.').TypedArrayName} */var trySlices=function tryAllSlices(value){/** @type {ReturnType<typeof tryAllSlices>} */var found=false;forEach(/** @type {Record<`\$${import('.').TypedArrayName}`, Getter>} */cache,/** @type {(getter: Getter, name: `\$${import('.').TypedArrayName}`) => void} */function(getter,name){if(!found){try{// @ts-expect-error a throw is fine here
7687
- getter(value);found=/** @type {import('.').TypedArrayName} */$slice(name,1);}catch(e){/**/}}});return found;};/** @type {import('.')} */module.exports=function whichTypedArray(value){if(!value||typeof value!=='object'){return false;}if(!hasToStringTag){/** @type {string} */var tag=$slice($toString(value),8,-1);if($indexOf(typedArrays,tag)>-1){return tag;}if(tag!=='Object'){return false;}// node < 0.6 hits here on real Typed Arrays
8030
+ descriptor=gOPD(superProto,Symbol.toStringTag);}if(descriptor&&descriptor.get){var bound=callBind(descriptor.get);cache[(/** @type {`$${TypedArrayName}`} */'$'+typedArray)]=bound;}}});}else{forEach(typedArrays,function(typedArray){var arr=new g[typedArray]();var fn=arr.slice||arr.set;if(fn){var bound=/** @type {BoundSlice | BoundSet} */// @ts-expect-error TODO FIXME
8031
+ callBind(fn);cache[(/** @type {`$${TypedArrayName}`} */'$'+typedArray)]=bound;}});}/** @type {(value: object) => false | TypedArrayName} */function tryTypedArrays(value){/** @type {ReturnType<typeof tryTypedArrays>} */var found=false;forEach(/** @type {Record<`$${TypedArrayName}`, Getter>} */cache,/** @param {Getter} getter @param {`$${TypedArrayName}`} typedArray */function(getter,typedArray){if(!found){try{// @ts-expect-error a throw is fine here
8032
+ if('$'+getter(value)===typedArray){found=/** @type {TypedArrayName} */$slice(typedArray,1);}}catch(e){/**/}}});return found;}/** @type {(value: object) => false | TypedArrayName} */function trySlices(value){/** @type {ReturnType<typeof trySlices>} */var found=false;forEach(/** @type {Record<`$${TypedArrayName}`, Getter>} */cache,/** @param {Getter} getter @param {`$${TypedArrayName}`} name */function(getter,name){if(!found){try{// @ts-expect-error a throw is fine here
8033
+ getter(value);found=/** @type {TypedArrayName} */$slice(name,1);}catch(e){/**/}}});return found;}/** @type {(tag: unknown) => tag is typeof typedArrays[number]} */function isTATag(tag){return $indexOf(typedArrays,tag)>-1;}/**
8034
+ * @type {import('.')}
8035
+ * @param {unknown} value
8036
+ */module.exports=function whichTypedArray(value){if(!value||typeof value!=='object'){return false;}if(!hasToStringTag){var tag=$slice($toString(value),8,-1);if(isTATag(tag)){return tag;}if(tag!=='Object'){return false;}// node < 0.6 hits here on real Typed Arrays
7688
8037
  return trySlices(value);}if(!gOPD){return null;}// unknown engine
7689
- return tryTypedArrays(value);};}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"available-typed-arrays":34,"call-bind":91,"call-bound":92,"for-each":143,"get-proto":165,"gopd":167,"has-tostringtag/shams":171}],356:[function(require,module,exports){// Returns a wrapper function that returns a wrapped callback
8038
+ return tryTypedArrays(value);};}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"available-typed-arrays":34,"call-bind":91,"call-bound":92,"for-each":143,"get-proto":166,"gopd":168,"has-tostringtag/shams":172}],358:[function(require,module,exports){// Returns a wrapper function that returns a wrapped callback
7690
8039
  // The wrapper function should do some stuff, and return a
7691
8040
  // presumably different callback function.
7692
8041
  // This makes sure that own properties are retained, so that
7693
8042
  // decorations and such are not lost along the way.
7694
- module.exports=wrappy;function wrappy(fn,cb){if(fn&&cb)return wrappy(fn)(cb);if(typeof fn!=='function')throw new TypeError('need wrapper function');Object.keys(fn).forEach(function(k){wrapper[k]=fn[k];});return wrapper;function wrapper(){var args=new Array(arguments.length);for(var i=0;i<args.length;i++){args[i]=arguments[i];}var ret=fn.apply(this,args);var cb=args[args.length-1];if(typeof ret==='function'&&ret!==cb){Object.keys(cb).forEach(function(k){ret[k]=cb[k];});}return ret;}}},{}],357:[function(require,module,exports){module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;function extend(){var target={};for(var i=0;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;}},{}],358:[function(require,module,exports){/**
8043
+ module.exports=wrappy;function wrappy(fn,cb){if(fn&&cb)return wrappy(fn)(cb);if(typeof fn!=='function')throw new TypeError('need wrapper function');Object.keys(fn).forEach(function(k){wrapper[k]=fn[k];});return wrapper;function wrapper(){var args=new Array(arguments.length);for(var i=0;i<args.length;i++){args[i]=arguments[i];}var ret=fn.apply(this,args);var cb=args[args.length-1];if(typeof ret==='function'&&ret!==cb){Object.keys(cb).forEach(function(k){ret[k]=cb[k];});}return ret;}}},{}],359:[function(require,module,exports){module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;function extend(){var target={};for(var i=0;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;}},{}],360:[function(require,module,exports){/**
7695
8044
  * Meadow Endpoints Service Data Broker Library
7696
8045
  *
7697
8046
  * @license MIT
@@ -7728,7 +8077,7 @@ if(this._EnabledBehaviorSets.Create){this.connectRoute(pServiceServer,'postWithB
7728
8077
  // Registered AFTER the literal /Upsert(s) routes so those win on the
7729
8078
  // :IDRecord match.
7730
8079
  this.connectRoute(pServiceServer,'putWithBodyParser',`/:IDRecord`,this._Endpoints.Update,`the internal behavior _Endpoints.Update (by-id PUT)`);this.connectRoute(pServiceServer,'patchWithBodyParser',`/:IDRecord`,this._Endpoints.Update,`the internal behavior _Endpoints.Update (by-id PATCH)`);}if(this._EnabledBehaviorSets.Delete){this.connectRoute(pServiceServer,'del',``,this._Endpoints.Delete,`the internal behavior _Endpoints.Delete`);this.connectRoute(pServiceServer,'del',`/:IDRecord`,this._Endpoints.Delete,`the internal behavior _Endpoints.Delete`);this.connectRoute(pServiceServer,'get',`/Undelete/:IDRecord`,this._Endpoints.Undelete,`the internal behavior _Endpoints.Undelete`);}if(this._EnabledBehaviorSets.Count){this.connectRoute(pServiceServer,'get',`s/Count`,this._Endpoints.Count,`the internal behavior _Endpoints.Count`);this.connectRoute(pServiceServer,'get',`s/Count/By/:ByField/:ByValue`,this._Endpoints.CountBy,`the internal behavior _Endpoints.CountBy`);this.connectRoute(pServiceServer,'get',`s/Count/FilteredTo/:Filter`,this._Endpoints.Count,`the internal behavior _Endpoints.Count`);}}}// This is for backwards compatibility
7731
- function autoConstruct(pMeadow,pControllerOptions){return new MeadowEndpoints(pMeadow,pControllerOptions);}module.exports=MeadowEndpoints;module.exports.new=autoConstruct;module.exports.Meadow=libMeadow;module.exports.BaseController=libMeadowEndpointsControllerBase;},{"./controller/Meadow-Endpoints-Controller-Base.js":359,"./endpoints/count/Meadow-Endpoint-Count.js":366,"./endpoints/count/Meadow-Endpoint-CountBy.js":367,"./endpoints/create/Meadow-Endpoint-BulkCreate.js":368,"./endpoints/create/Meadow-Endpoint-Create.js":369,"./endpoints/delete/Meadow-Endpoint-Delete.js":371,"./endpoints/delete/Meadow-Endpoint-Undelete.js":372,"./endpoints/read/Meadow-Endpoint-Read.js":373,"./endpoints/read/Meadow-Endpoint-ReadDistinctList.js":374,"./endpoints/read/Meadow-Endpoint-ReadLiteList.js":375,"./endpoints/read/Meadow-Endpoint-ReadMax.js":376,"./endpoints/read/Meadow-Endpoint-ReadSelectList.js":377,"./endpoints/read/Meadow-Endpoint-Reads.js":378,"./endpoints/read/Meadow-Endpoint-ReadsBy.js":379,"./endpoints/schema/Meadow-Endpoint-New.js":382,"./endpoints/schema/Meadow-Endpoint-Schema.js":383,"./endpoints/schema/Meadow-Endpoint-Validate.js":384,"./endpoints/update/Meadow-Endpoint-BulkUpdate.js":385,"./endpoints/update/Meadow-Endpoint-Update.js":386,"./endpoints/upsert/Meadow-Endpoint-BulkUpsert.js":388,"./endpoints/upsert/Meadow-Endpoint-BulkUpsertDetailed.js":389,"./endpoints/upsert/Meadow-Endpoint-Upsert.js":390,"meadow":216}],359:[function(require,module,exports){const libAsyncWaterfall=require('async/waterfall');const libBaseLogController=require('./components/Meadow-Endpoints-Controller-Log.js');const libBaseErrorController=require('./components/Meadow-Endpoints-Controller-Error.js');const libBaseBehaviorInjectionController=require('./components/Meadow-Endpoints-Controller-BehaviorInjection.js');const libMeadowEndpointsFilterParser=require('./utility/Meadow-Endpoints-Filter-Parser.js');const libMeadowEndpointsSessionMarshaler=require('./utility/Meadow-Endpoints-Session-Marshaler.js');const libMeadowEndpointsStreamRecordArray=require('./utility/Meadow-Endpoints-Stream-RecordArray.js');class MeadowEndpointControllerBase{/**
8080
+ function autoConstruct(pMeadow,pControllerOptions){return new MeadowEndpoints(pMeadow,pControllerOptions);}module.exports=MeadowEndpoints;module.exports.new=autoConstruct;module.exports.Meadow=libMeadow;module.exports.BaseController=libMeadowEndpointsControllerBase;},{"./controller/Meadow-Endpoints-Controller-Base.js":361,"./endpoints/count/Meadow-Endpoint-Count.js":368,"./endpoints/count/Meadow-Endpoint-CountBy.js":369,"./endpoints/create/Meadow-Endpoint-BulkCreate.js":370,"./endpoints/create/Meadow-Endpoint-Create.js":371,"./endpoints/delete/Meadow-Endpoint-Delete.js":373,"./endpoints/delete/Meadow-Endpoint-Undelete.js":374,"./endpoints/read/Meadow-Endpoint-Read.js":375,"./endpoints/read/Meadow-Endpoint-ReadDistinctList.js":376,"./endpoints/read/Meadow-Endpoint-ReadLiteList.js":377,"./endpoints/read/Meadow-Endpoint-ReadMax.js":378,"./endpoints/read/Meadow-Endpoint-ReadSelectList.js":379,"./endpoints/read/Meadow-Endpoint-Reads.js":380,"./endpoints/read/Meadow-Endpoint-ReadsBy.js":381,"./endpoints/schema/Meadow-Endpoint-New.js":384,"./endpoints/schema/Meadow-Endpoint-Schema.js":385,"./endpoints/schema/Meadow-Endpoint-Validate.js":386,"./endpoints/update/Meadow-Endpoint-BulkUpdate.js":387,"./endpoints/update/Meadow-Endpoint-Update.js":388,"./endpoints/upsert/Meadow-Endpoint-BulkUpsert.js":390,"./endpoints/upsert/Meadow-Endpoint-BulkUpsertDetailed.js":391,"./endpoints/upsert/Meadow-Endpoint-Upsert.js":392,"meadow":217}],361:[function(require,module,exports){const libAsyncWaterfall=require('async/waterfall');const libBaseLogController=require('./components/Meadow-Endpoints-Controller-Log.js');const libBaseErrorController=require('./components/Meadow-Endpoints-Controller-Error.js');const libBaseBehaviorInjectionController=require('./components/Meadow-Endpoints-Controller-BehaviorInjection.js');const libMeadowEndpointsFilterParser=require('./utility/Meadow-Endpoints-Filter-Parser.js');const libMeadowEndpointsSessionMarshaler=require('./utility/Meadow-Endpoints-Session-Marshaler.js');const libMeadowEndpointsStreamRecordArray=require('./utility/Meadow-Endpoints-Stream-RecordArray.js');class MeadowEndpointControllerBase{/**
7732
8081
  * @param {import('../Meadow-Endpoints.js')} pMeadowEndpoints
7733
8082
  */constructor(pMeadowEndpoints){this.DAL=pMeadowEndpoints.DAL;this.ControllerOptions=pMeadowEndpoints._ControllerOptions;// Application Services
7734
8083
  this._Settings=null;this._LogController=null;// Logic and Behavior
@@ -7744,8 +8093,23 @@ cloneAsyncSafeRequestState(pRequestState,pNewVerb){let tmpSafeRequestState={Pare
7744
8093
  _BeginDataRequestFunction(pRequest,pResponse,fNext){return fNext();}beginMeadowRequest(pRequest,pResponse,fNext){this._BeginDataRequestFunction(pRequest,pResponse,fNext);}// Override this to provide an alternate ending function that is run with every endpoint.
7745
8094
  _EndDataRequestFunction(pRequest,pResponse,fNext){return fNext();}endMeadowRequest(pRequest,pResponse,fNext){this._EndDataRequestFunction(pRequest,pResponse,fNext);}// Application Services
7746
8095
  get settings(){return this._Settings;}set settings(pSettings){this._Settings=pSettings;}get log(){return this._LogController;}set log(pLogController){this._LogController=pLogController;}// Logic and Behavior
7747
- get BehaviorInjection(){return this._BehaviorInjectionController;}set BehaviorInjection(pBehaviorInjectionController){this._BehaviorInjectionController=pBehaviorInjectionController;}get ErrorHandler(){return this._ErrorController;}set ErrorHandler(pErrorController){this._ErrorController=pErrorController;}parseFilter(pFilterString,pQuery){return this._FilterParser.parseFilter(pFilterString,pQuery);}doStreamRecordArray(pResponse,pRecords,fCallback){return this._StreamRecordArray.streamRecordArray(pResponse,pRecords,fCallback);}getSessionData(pRequest){return this._SessionMarshaler.getSessionData(pRequest);}}module.exports=MeadowEndpointControllerBase;// Export the base classes for the controller components, for inheritance
7748
- module.exports.BaseErrorController=libBaseErrorController;module.exports.BaseBehaviorInjectionController=libBaseBehaviorInjectionController;module.exports.BaseFilterParser=libMeadowEndpointsFilterParser;module.exports.BaseSessionMarshaler=libMeadowEndpointsSessionMarshaler;module.exports.BaseStreamRecordArray=libMeadowEndpointsStreamRecordArray;},{"./components/Meadow-Endpoints-Controller-BehaviorInjection.js":360,"./components/Meadow-Endpoints-Controller-Error.js":361,"./components/Meadow-Endpoints-Controller-Log.js":362,"./utility/Meadow-Endpoints-Filter-Parser.js":363,"./utility/Meadow-Endpoints-Session-Marshaler.js":364,"./utility/Meadow-Endpoints-Stream-RecordArray.js":365,"async/waterfall":33}],360:[function(require,module,exports){//TODO: This is only being referenced to allow compatibility with service_pieces
8096
+ get BehaviorInjection(){return this._BehaviorInjectionController;}set BehaviorInjection(pBehaviorInjectionController){this._BehaviorInjectionController=pBehaviorInjectionController;}get ErrorHandler(){return this._ErrorController;}set ErrorHandler(pErrorController){this._ErrorController=pErrorController;}parseFilter(pFilterString,pQuery){return this._FilterParser.parseFilter(pFilterString,pQuery);}doStreamRecordArray(pResponse,pRecords,fCallback){return this._StreamRecordArray.streamRecordArray(pResponse,pRecords,fCallback);}getSessionData(pRequest){return this._SessionMarshaler.getSessionData(pRequest);}/**
8097
+ * Stamp the request's session onto a meadow query so a downstream provider
8098
+ * can act under the caller's identity.
8099
+ *
8100
+ * Today only the MeadowEndpoints provider consumes this — when a beacon
8101
+ * fronts a remote meadow-endpoints API it presents this session upstream
8102
+ * (instead of its bound machine session) so the remote enforces row-level
8103
+ * auth as the real caller. SQL providers ignore the parameter. The override
8104
+ * rides the per-operation FoxHound query (concurrency-safe).
8105
+ *
8106
+ * No-op for the default/anonymous session (UserID 0 / SessionID 0x0000) —
8107
+ * those carry no identity, so the provider keeps its existing behavior.
8108
+ *
8109
+ * @param {object} pRequestState - the request state (carries SessionData + Query)
8110
+ * @returns {void}
8111
+ */stampSessionOverrideOnQuery(pRequestState){if(!pRequestState||!pRequestState.Query||!pRequestState.SessionData){return;}let tmpSession=pRequestState.SessionData;let tmpSessionID=tmpSession.SessionID;if(typeof tmpSessionID!=='string'||tmpSessionID.length<1||tmpSessionID==='0x0000'){return;}if(pRequestState.Query.query&&pRequestState.Query.query.parameters){pRequestState.Query.query.parameters.MeadowEndpointsSessionOverride={SessionID:tmpSessionID,CustomerID:tmpSession.CustomerID,UserID:tmpSession.UserID,UserRoleIndex:tmpSession.UserRoleIndex};}}}module.exports=MeadowEndpointControllerBase;// Export the base classes for the controller components, for inheritance
8112
+ module.exports.BaseErrorController=libBaseErrorController;module.exports.BaseBehaviorInjectionController=libBaseBehaviorInjectionController;module.exports.BaseFilterParser=libMeadowEndpointsFilterParser;module.exports.BaseSessionMarshaler=libMeadowEndpointsSessionMarshaler;module.exports.BaseStreamRecordArray=libMeadowEndpointsStreamRecordArray;},{"./components/Meadow-Endpoints-Controller-BehaviorInjection.js":362,"./components/Meadow-Endpoints-Controller-Error.js":363,"./components/Meadow-Endpoints-Controller-Log.js":364,"./utility/Meadow-Endpoints-Filter-Parser.js":365,"./utility/Meadow-Endpoints-Session-Marshaler.js":366,"./utility/Meadow-Endpoints-Stream-RecordArray.js":367,"async/waterfall":33}],362:[function(require,module,exports){//TODO: This is only being referenced to allow compatibility with service_pieces
7749
8113
  //TODO: There is risk of other incompatibilities until service_pieces is updated
7750
8114
  const libUnderscore=require('underscore');class MeadowEndpointsControllerBehaviorInjectionBase{/**
7751
8115
  * @param {import('../Meadow-Endpoints-Controller-Base.js')} pController
@@ -7787,7 +8151,7 @@ this._Templates[pTemplateHash]=pTemplate;this._TemplateFunctions[pTemplateHash]=
7787
8151
  if(tmpTemplateFunction===false){// If the template doesn't exist, try to use the passed-in default and set that as the template.
7788
8152
  // Otherwise make it empty.
7789
8153
  this.setTemplate(pTemplateHash,typeof pDefaultTemplate==='undefined'?'':pDefaultTemplate);tmpTemplateFunction=this.getTemplateFunction(pTemplateHash);}// Now process and return the underscore template.
7790
- return tmpTemplateFunction(tmpTemplateData);}}module.exports=MeadowEndpointsControllerBehaviorInjectionBase;},{"underscore":348}],361:[function(require,module,exports){/**
8154
+ return tmpTemplateFunction(tmpTemplateData);}}module.exports=MeadowEndpointsControllerBehaviorInjectionBase;},{"underscore":350}],363:[function(require,module,exports){/**
7791
8155
  * Error object extended with the extra response-shape metadata
7792
8156
  * meadow-endpoints attaches: an HTTP StatusCode and a flag telling
7793
8157
  * the error handler whether to include a stack trace in the response.
@@ -7806,13 +8170,13 @@ if(!this._Controller.ControllerOptions.SendErrorStatusCodes){let tmpStatusCode=p
7806
8170
  prepareRequestContextOutputObject(pObjectToPopulate,pRequest,pRequestState,pError){// Internally created errors supress stack traces
7807
8171
  if(pError){pObjectToPopulate.Error=pError.message;pObjectToPopulate.Code=pError.code;pObjectToPopulate.StatusCode=pError.StatusCode;if(!pError.SuppressSoftwareTrace){pObjectToPopulate.Stack=pError.stack;}if(pRequestState.hasOwnProperty('Record')){pObjectToPopulate.Record=pRequestState.Record;}if(pRequestState.hasOwnProperty('Query')&&typeof pRequestState.Query=='object'){if(pRequestState.Query.query){if(typeof pRequestState.Query.query.body=='string'){pObjectToPopulate.Query=pRequestState.Query.query.body;}if(typeof pRequestState.Query.query.parameters=='object'){pObjectToPopulate.QueryParameters=pRequestState.Query.query.parameters;pObjectToPopulate.RebuiltQueryString=typeof pObjectToPopulate.Query=='string'?pObjectToPopulate.Query:'';// This gnarly bit of code attempts to reconstruct a non prepared string version of the query, to help.
7808
8172
  let tmpQueryParameterSet=Object.keys(pObjectToPopulate.QueryParameters);for(let i=0;i<tmpQueryParameterSet.length;i++){switch(typeof tmpQueryParameterSet[i]){case'number':pObjectToPopulate.RebuiltQueryString=pObjectToPopulate.RebuiltQueryString.replace(new RegExp(`:${tmpQueryParameterSet[i]}\\b`,'g'),`'${pObjectToPopulate.QueryParameters[tmpQueryParameterSet[i]]}'`);break;case'string':// TODO: This may need more ... nuance...
7809
- default:pObjectToPopulate.RebuiltQueryString=pObjectToPopulate.RebuiltQueryString.replace(new RegExp(`:${tmpQueryParameterSet[i]}\\b`,'g'),pObjectToPopulate.QueryParameters[tmpQueryParameterSet[i]]);break;}}}}}}return pObjectToPopulate;}}module.exports=MeadowEndpointsControllerErrorBase;},{}],362:[function(require,module,exports){class MeadowEndpointsControllerLogBase{/**
8173
+ default:pObjectToPopulate.RebuiltQueryString=pObjectToPopulate.RebuiltQueryString.replace(new RegExp(`:${tmpQueryParameterSet[i]}\\b`,'g'),pObjectToPopulate.QueryParameters[tmpQueryParameterSet[i]]);break;}}}}}}return pObjectToPopulate;}}module.exports=MeadowEndpointsControllerErrorBase;},{}],364:[function(require,module,exports){class MeadowEndpointsControllerLogBase{/**
7810
8174
  * @param {import('../Meadow-Endpoints-Controller-Base.js')} pController
7811
8175
  */constructor(pController){this._Controller=pController;}// This is called for every successful request log line. Be careful what you add in overloads!
7812
8176
  prepareLogData(pRequest,pRequestState,pLogData){// TODO: Discuss if these should be configurations
7813
8177
  if(pRequestState.hasOwnProperty('Record')){if(pRequestState.Record.hasOwnProperty(this._Controller.DAL.defaultIdentifier)){pLogData[this._Controller.DAL.defaultIdentifier]=pRequestState.Record[this._Controller.DAL.defaultIdentifier];}if(pRequestState.Record.hasOwnProperty(this._Controller.DAL.defaultGUIdentifier)){pLogData[this._Controller.DAL.defaultGUIdentifier]=pRequestState.Record[this._Controller.DAL.defaultGUIdentifier];}}if(pRequestState.hasOwnProperty('UpdatedRecords')){pLogData.UpdatedRecordCount=pRequestState.UpdatedRecords.length;}if(pRequestState.hasOwnProperty('CreatedRecords')){pLogData.UpdatedRecordCount=pRequestState.CreatedRecords.length;}if(pRequestState.hasOwnProperty('UpsertedRecords')){pLogData.UpdatedRecordCount=pRequestState.UpsertedRecords.length;}return pLogData;}// This is called whenever an endpoint is completed successfully
7814
8178
  requestCompletedSuccessfully(pRequest,pRequestState,pActionSummary){let tmpLogData={SessionID:pRequestState.SessionData.SessionID,RequestID:pRequest.RequestUUID,RequestURL:pRequest.url,Scope:this._Controller.DAL.scope,Action:`${this._Controller.DAL.scope}-${pRequestState.Verb}`,Verb:pRequestState.Verb};this._Controller.log.info(pActionSummary,this.prepareLogData(pRequest,pRequestState,tmpLogData));}// This is called whenever an endpoint is completed successfully
7815
- logRequestError(pRequest,pRequestState,pError){let tmpErrorLogData={SessionID:pRequestState.SessionData.SessionID,RequestID:pRequest.RequestUUID,RequestURL:pRequest.url,Scope:this._Controller.DAL.scope,Action:`${this._Controller.DAL.scope}-${pRequestState.Verb}`,Verb:pRequestState.Verb};tmpErrorLogData=this._Controller.ErrorHandler.prepareRequestContextOutputObject(tmpErrorLogData,pRequest,pRequestState,pError);this._Controller.log.error(pError.message,this.prepareLogData(pRequest,pRequestState,tmpErrorLogData));}trace(pLogText,pLogObject){this._Controller.DAL.log.trace(pLogText,pLogObject);}debug(pLogText,pLogObject){this._Controller.DAL.log.debug(pLogText,pLogObject);}info(pLogText,pLogObject){this._Controller.DAL.log.info(pLogText,pLogObject);}warn(pLogText,pLogObject){this._Controller.DAL.log.warn(pLogText,pLogObject);}error(pLogText,pLogObject){this._Controller.DAL.log.error(pLogText,pLogObject);}fatal(pLogText,pLogObject){this._Controller.DAL.log.fatal(pLogText,pLogObject);}}module.exports=MeadowEndpointsControllerLogBase;},{}],363:[function(require,module,exports){/**
8179
+ logRequestError(pRequest,pRequestState,pError){let tmpErrorLogData={SessionID:pRequestState.SessionData.SessionID,RequestID:pRequest.RequestUUID,RequestURL:pRequest.url,Scope:this._Controller.DAL.scope,Action:`${this._Controller.DAL.scope}-${pRequestState.Verb}`,Verb:pRequestState.Verb};tmpErrorLogData=this._Controller.ErrorHandler.prepareRequestContextOutputObject(tmpErrorLogData,pRequest,pRequestState,pError);this._Controller.log.error(pError.message,this.prepareLogData(pRequest,pRequestState,tmpErrorLogData));}trace(pLogText,pLogObject){this._Controller.DAL.log.trace(pLogText,pLogObject);}debug(pLogText,pLogObject){this._Controller.DAL.log.debug(pLogText,pLogObject);}info(pLogText,pLogObject){this._Controller.DAL.log.info(pLogText,pLogObject);}warn(pLogText,pLogObject){this._Controller.DAL.log.warn(pLogText,pLogObject);}error(pLogText,pLogObject){this._Controller.DAL.log.error(pLogText,pLogObject);}fatal(pLogText,pLogObject){this._Controller.DAL.log.fatal(pLogText,pLogObject);}}module.exports=MeadowEndpointsControllerLogBase;},{}],365:[function(require,module,exports){/**
7816
8180
  * Meadow Endpoint Utility Class - Parse a Filter String and put it into a Query.
7817
8181
  *
7818
8182
  * @license MIT
@@ -7826,12 +8190,12 @@ logRequestError(pRequest,pRequestState,pError){let tmpErrorLogData={SessionID:pR
7826
8190
  * @param {any} pQuery - The foxhound query object to populate.
7827
8191
  *
7828
8192
  * @return {boolean} - True if the filter was parsed successfully, false otherwise.
7829
- */parseFilter(pFilterString,pQuery){return parse(pFilterString,pQuery);}}module.exports=MeadowEndpointsFilterParser;},{"meadow-filter":211}],364:[function(require,module,exports){class MeadowEndpointsSessionMarshaler{/**
8193
+ */parseFilter(pFilterString,pQuery){return parse(pFilterString,pQuery);}}module.exports=MeadowEndpointsFilterParser;},{"meadow-filter":212}],366:[function(require,module,exports){class MeadowEndpointsSessionMarshaler{/**
7830
8194
  * @param {import('../Meadow-Endpoints-Controller-Base.js')} pController
7831
8195
  */constructor(pController){this._Controller=pController;}getSessionData(pRequest){let tmpSession=Object.assign({},this._Controller.settings.MeadowEndpointsDefaultSessionObject);let tmpHeaderSessionString;switch(this._Controller.settings.MeadowEndpointsSessionDataSource||'Request'){default:this._Controller.log.warn(`Unknown session source configured: ${this._Controller.settings.MeadowEndpointsSessionDataSource} - defaulting to Request for backward compatibility`);case'Request':// noop - already set by orator-session
7832
8196
  tmpSession=this._Controller.extend(tmpSession,pRequest.UserSession);break;case'None':break;case'Header':try{tmpHeaderSessionString=pRequest.headers['x-trusted-session'];if(!tmpHeaderSessionString){break;}const tmpHeaderSession=JSON.parse(tmpHeaderSessionString);tmpSession=this._Controller.extend(tmpSession,tmpHeaderSession);}catch(pError){this._Controller.log.error(`Meadow Endpoints attempted to process a Header Session String with value [${tmpHeaderSessionString}] and failed -- likely culprit is bad JSON.`);}break;}// Do we keep this here for backwards compatibility?
7833
8197
  // Yes this makes sense here.
7834
- pRequest.UserSession=tmpSession;return tmpSession;}}module.exports=MeadowEndpointsSessionMarshaler;},{}],365:[function(require,module,exports){/**
8198
+ pRequest.UserSession=tmpSession;return tmpSession;}}module.exports=MeadowEndpointsSessionMarshaler;},{}],367:[function(require,module,exports){/**
7835
8199
  * Meadow Endpoint Streamer - Stream an array of recods as JSON to an output stream.
7836
8200
  */const libAsyncEachSeries=require('async/eachSeries');const JSONStream=require('JSONStream');class MeadowEndpointsStreamRecordArray{/**
7837
8201
  * @param {import('../Meadow-Endpoints-Controller-Base.js')} pController
@@ -7839,12 +8203,12 @@ pRequest.UserSession=tmpSession;return tmpSession;}}module.exports=MeadowEndpoin
7839
8203
  let tmpChunkSize=typeof pChunkSize=='number'?pChunkSize:0;let tmpChunkCache=typeof pChunkCache!='undefined'?pChunkCache:[];if(tmpChunkSize<=0){return tmpChunkCache;}while(tmpInputArray.length){tmpChunkCache.push(tmpInputArray.splice(0,tmpChunkSize));}return tmpChunkCache;}streamRecordArray(pResponse,pRecords,fCallback){// for meadow invoke, writeHead isn't provided, so just call send(), which is the shim it uses...
7840
8204
  // also, for small arrays, don't bother with the async serialization; this threshold could use tuning
7841
8205
  if(!pResponse.writeHead||!Array.isArray(pRecords)||pRecords.length<2500){pResponse.send(pRecords);return fCallback();}pResponse.writeHead(200,{'content-type':'application/json'});const recordJsonMarshaller=JSONStream.stringify();recordJsonMarshaller.pipe(pResponse);// we write the records in chunks; doing one per loop is very inefficient, doing all is the same as not doing this at all
7842
- libAsyncEachSeries(this.chunk(pRecords,1000),(pRecordChunk,fNext)=>{pRecordChunk.forEach(recordJsonMarshaller.write);setTimeout(fNext,0);},error=>{recordJsonMarshaller.end();fCallback(error);});}}module.exports=MeadowEndpointsStreamRecordArray;},{"JSONStream":1,"async/eachSeries":19}],366:[function(require,module,exports){/**
8206
+ libAsyncEachSeries(this.chunk(pRecords,1000),(pRecordChunk,fNext)=>{pRecordChunk.forEach(recordJsonMarshaller.write);setTimeout(fNext,0);},error=>{recordJsonMarshaller.end();fCallback(error);});}}module.exports=MeadowEndpointsStreamRecordArray;},{"JSONStream":1,"async/eachSeries":19}],368:[function(require,module,exports){/**
7843
8207
  * Meadow Endpoint - Count a Record
7844
- */const doAPIEndpointCount=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Count');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;if(typeof pRequest.params.Filter==='string'){// If a filter has been passed in, parse it and add the values to the query.
7845
- this.parseFilter(pRequest.params.Filter,tmpRequestState.Query);}else if(pRequest.params.Filter){tmpRequestState.Query.setFilter(pRequest.params.Filter);}return fStageComplete();},fBehaviorInjector(`Count-QueryConfiguration`),fStageComplete=>{this.DAL.doCount(tmpRequestState.Query,(pError,pQuery,pCount)=>{tmpRequestState.Result={Count:pCount};return fStageComplete(pError);});},fStageComplete=>{pResponse.send(tmpRequestState.Result);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Delivered recordset count of ${tmpRequestState.Result.Count} for ${this.DAL.scope}.`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointCount;},{}],367:[function(require,module,exports){/**
8208
+ */const doAPIEndpointCount=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Count');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);if(typeof pRequest.params.Filter==='string'){// If a filter has been passed in, parse it and add the values to the query.
8209
+ this.parseFilter(pRequest.params.Filter,tmpRequestState.Query);}else if(pRequest.params.Filter){tmpRequestState.Query.setFilter(pRequest.params.Filter);}return fStageComplete();},fBehaviorInjector(`Count-QueryConfiguration`),fStageComplete=>{this.DAL.doCount(tmpRequestState.Query,(pError,pQuery,pCount)=>{tmpRequestState.Result={Count:pCount};return fStageComplete(pError);});},fStageComplete=>{pResponse.send(tmpRequestState.Result);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Delivered recordset count of ${tmpRequestState.Result.Count} for ${this.DAL.scope}.`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointCount;},{}],369:[function(require,module,exports){/**
7846
8210
  * Meadow Endpoint - Count a Record filtered by a single value
7847
- */const doAPIEndpointCountBy=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'CountBy');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;tmpRequestState.Query.addFilter(pRequest.params.ByField,pRequest.params.ByValue,'=','AND','RequestByField');return fStageComplete();},fBehaviorInjector(`CountBy-QueryConfiguration`),fStageComplete=>{this.DAL.doCount(tmpRequestState.Query,(pError,pQuery,pCount)=>{tmpRequestState.Result={Count:pCount};return fStageComplete(pError);});},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,'Delivered recordset count of '+tmpRequestState.Result.Count+'.');pResponse.send(tmpRequestState.Result);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointCountBy;},{}],368:[function(require,module,exports){/**
8211
+ */const doAPIEndpointCountBy=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'CountBy');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);tmpRequestState.Query.addFilter(pRequest.params.ByField,pRequest.params.ByValue,'=','AND','RequestByField');return fStageComplete();},fBehaviorInjector(`CountBy-QueryConfiguration`),fStageComplete=>{this.DAL.doCount(tmpRequestState.Query,(pError,pQuery,pCount)=>{tmpRequestState.Result={Count:pCount};return fStageComplete(pError);});},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,'Delivered recordset count of '+tmpRequestState.Result.Count+'.');pResponse.send(tmpRequestState.Result);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointCountBy;},{}],370:[function(require,module,exports){/**
7848
8212
  * Meadow Endpoint - Create a set of Record in Bulk
7849
8213
  */const doCreate=require('./Meadow-Operation-Create.js');const doAPIEndpointBulkCreate=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'CreateBulk');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};tmpRequestState.CreatedRecords=[];this.waterfall([fStageComplete=>{if(!Array.isArray(pRequest.body)){return fStageComplete(this.ErrorHandler.getError('Bulk record create failure - a valid array of records to create is required.',500));}pRequest.RecordsToBulkCreate=pRequest.body;return fStageComplete();},// Endpoint-level pre-request hook for bulk creates. Mirror of
7850
8214
  // Create-PreRequest in the singular Create endpoint — fires
@@ -7852,7 +8216,7 @@ this.parseFilter(pRequest.params.Filter,tmpRequestState.Query);}else if(pRequest
7852
8216
  // operation. Use cases include bulk idempotency suppression /
7853
8217
  // dedup across the incoming batch.
7854
8218
  fBehaviorInjector(`CreateBulk-PreRequest`),fBehaviorInjector(`CreateBulk-PreOperation`),fStageComplete=>{// TODO: Research parallelism opportunities from custom routes
7855
- this.eachLimit(pRequest.RecordsToBulkCreate,1,(pRecord,fCallback)=>{doCreate.call(this,pRecord,pRequest,tmpRequestState,pResponse,fCallback);},fStageComplete);},fBehaviorInjector(`CreateBulk-PostOperation`),fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.CreatedRecords,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Bulk created ${tmpRequestState.CreatedRecords.length} records`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointBulkCreate;},{"./Meadow-Operation-Create.js":370}],369:[function(require,module,exports){/**
8219
+ this.eachLimit(pRequest.RecordsToBulkCreate,1,(pRecord,fCallback)=>{doCreate.call(this,pRecord,pRequest,tmpRequestState,pResponse,fCallback);},fStageComplete);},fBehaviorInjector(`CreateBulk-PostOperation`),fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.CreatedRecords,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Bulk created ${tmpRequestState.CreatedRecords.length} records`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointBulkCreate;},{"./Meadow-Operation-Create.js":372}],371:[function(require,module,exports){/**
7856
8220
  * Meadow Endpoint - Create a Record
7857
8221
  */const doCreate=require('./Meadow-Operation-Create.js');const doAPIEndpointCreate=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Create');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{if(typeof pRequest.body!=='object'){return fStageComplete(this.ErrorHandler.getError('Record create failure - a valid record is required.',500));}return fStageComplete();},// Endpoint-level pre-request hook. Runs after the body-type check
7858
8222
  // but before any operation work, mirroring ME 2.x's
@@ -7861,17 +8225,17 @@ this.eachLimit(pRequest.RecordsToBulkCreate,1,(pRecord,fCallback)=>{doCreate.cal
7861
8225
  // if the row already exists). Handlers can abort the operation
7862
8226
  // by calling fStageComplete with a truthy error or by fully
7863
8227
  // writing pResponse and returning a sentinel.
7864
- fBehaviorInjector(`Create-PreRequest`),fStageComplete=>{doCreate.call(this,pRequest.body,pRequest,tmpRequestState,pResponse,fStageComplete);},fStageComplete=>{if(tmpRequestState.RecordCreateError){return fStageComplete(tmpRequestState.RecordCreateErrorObject);}if(tmpRequestState.CreatedRecords.length<1){return fStageComplete(this.ErrorHandler.getError('Unknown record create failure - no created records returned.',500));}tmpRequestState.Record=tmpRequestState.CreatedRecords[0];return fStageComplete();},fStageComplete=>{pResponse.send(tmpRequestState.Record);return fStageComplete();},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Created a ${this.DAL.scope} record ID ${tmpRequestState.Record[this.DAL.defaultIdentifier]}`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointCreate;},{"./Meadow-Operation-Create.js":370}],370:[function(require,module,exports){/**
8228
+ fBehaviorInjector(`Create-PreRequest`),fStageComplete=>{doCreate.call(this,pRequest.body,pRequest,tmpRequestState,pResponse,fStageComplete);},fStageComplete=>{if(tmpRequestState.RecordCreateError){return fStageComplete(tmpRequestState.RecordCreateErrorObject);}if(tmpRequestState.CreatedRecords.length<1){return fStageComplete(this.ErrorHandler.getError('Unknown record create failure - no created records returned.',500));}tmpRequestState.Record=tmpRequestState.CreatedRecords[0];return fStageComplete();},fStageComplete=>{pResponse.send(tmpRequestState.Record);return fStageComplete();},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Created a ${this.DAL.scope} record ID ${tmpRequestState.Record[this.DAL.defaultIdentifier]}`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointCreate;},{"./Meadow-Operation-Create.js":372}],372:[function(require,module,exports){/**
7865
8229
  * Meadow Operation - Create a record function
7866
8230
  */const doCreate=function(pRecord,pRequest,pRequestState,pResponse,fCallback){// This is a virtual operation
7867
8231
  let tmpRequestState=this.cloneAsyncSafeRequestState(pRequestState,'doCreate');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};if(!Array.isArray(tmpRequestState.ParentRequestState.CreatedRecords)){tmpRequestState.ParentRequestState.CreatedRecords=[];}this.waterfall([fStageComplete=>{tmpRequestState.RecordToCreate=pRecord;//Make sure record gets created with a customerID
7868
8232
  if(!tmpRequestState.RecordToCreate.hasOwnProperty('IDCustomer')&&this.DAL.jsonSchema&&this.DAL.jsonSchema.properties&&this.DAL.jsonSchema.properties.hasOwnProperty('IDCustomer')){tmpRequestState.RecordToCreate.IDCustomer=tmpRequestState.SessionData.CustomerID||0;}return fStageComplete();},fStageComplete=>{this.BehaviorInjection.runBehavior(`Create-PreOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{// Prepare create query
7869
- tmpRequestState.Query=this.DAL.query;tmpRequestState.Query.setIDUser(tmpRequestState.SessionData.UserID);tmpRequestState.Query.addRecord(tmpRequestState.RecordToCreate);return fStageComplete();},fStageComplete=>{this.BehaviorInjection.runBehavior(`Create-QueryConfiguration`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{// Do the actual create operation with the DAL
7870
- this.DAL.doCreate(tmpRequestState.Query,(pError,pQuery,pReadQuery,pNewRecord)=>{if(pError){return fStageComplete(pError);}if(!pNewRecord){return fStageComplete(this.ErrorHandler.getError(`Error in DAL Create: No record returned from persistence engine.`,500));}tmpRequestState.Record=pNewRecord;return fStageComplete();});},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Create-PostOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{tmpRequestState.ParentRequestState.CreatedRecords.push(tmpRequestState.Record);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Created a record with ${this.DAL.defaultIdentifier} = ${tmpRequestState.Record[this.DAL.defaultIdentifier]}`);return fStageComplete();}],pError=>{if(pError){tmpRequestState.RecordToCreate.Error=pError;tmpRequestState.ParentRequestState.RecordCreateError=true;tmpRequestState.ParentRequestState.RecordCreateErrorObject=pError;tmpRequestState.ParentRequestState.CreatedRecords.push(tmpRequestState.RecordToCreate);}return fCallback();});};module.exports=doCreate;},{}],371:[function(require,module,exports){/**
8233
+ tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);tmpRequestState.Query.setIDUser(tmpRequestState.SessionData.UserID);tmpRequestState.Query.addRecord(tmpRequestState.RecordToCreate);return fStageComplete();},fStageComplete=>{this.BehaviorInjection.runBehavior(`Create-QueryConfiguration`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{// Do the actual create operation with the DAL
8234
+ this.DAL.doCreate(tmpRequestState.Query,(pError,pQuery,pReadQuery,pNewRecord)=>{if(pError){return fStageComplete(pError);}if(!pNewRecord){return fStageComplete(this.ErrorHandler.getError(`Error in DAL Create: No record returned from persistence engine.`,500));}tmpRequestState.Record=pNewRecord;return fStageComplete();});},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Create-PostOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{tmpRequestState.ParentRequestState.CreatedRecords.push(tmpRequestState.Record);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Created a record with ${this.DAL.defaultIdentifier} = ${tmpRequestState.Record[this.DAL.defaultIdentifier]}`);return fStageComplete();}],pError=>{if(pError){tmpRequestState.RecordToCreate.Error=pError;tmpRequestState.ParentRequestState.RecordCreateError=true;tmpRequestState.ParentRequestState.RecordCreateErrorObject=pError;tmpRequestState.ParentRequestState.CreatedRecords.push(tmpRequestState.RecordToCreate);}return fCallback();});};module.exports=doCreate;},{}],373:[function(require,module,exports){/**
7871
8235
  * Meadow Endpoint - Delete a Record
7872
8236
  */const doAPIEndpointDelete=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Delete');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};tmpRequestState.IDRecord=0;tmpRequestState.RecordCount={Count:0};this.waterfall([fStageComplete=>{if(typeof pRequest.params.IDRecord==='string'){tmpRequestState.IDRecord=pRequest.params.IDRecord;}else if(typeof pRequest.body[this.DAL.defaultIdentifier]==='number'){tmpRequestState.IDRecord=pRequest.body[this.DAL.defaultIdentifier];}else if(typeof pRequest.body[this.DAL.defaultIdentifier]==='string'){tmpRequestState.IDRecord=pRequest.body[this.DAL.defaultIdentifier];}// Although the Meadow delete behavior does allow multiple deletes, we require an identifier.
7873
8237
  // If a developer wants bulk delete, it will require a custom endpoint.
7874
- if(tmpRequestState.IDRecord<1){return fStageComplete(this.ErrorHandler.getError('Record delete failure - a valid record ID is required in the passed-in record.',500));}return fStageComplete();},fStageComplete=>{tmpRequestState.Query=this.DAL.query;tmpRequestState.Query.addFilter(this.DAL.defaultIdentifier,tmpRequestState.IDRecord);tmpRequestState.Query.setIDUser(tmpRequestState.SessionData.UserID);return fStageComplete();},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Delete-QueryConfiguration`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{// Load the record so we can do security checks on it
8238
+ if(tmpRequestState.IDRecord<1){return fStageComplete(this.ErrorHandler.getError('Record delete failure - a valid record ID is required in the passed-in record.',500));}return fStageComplete();},fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);tmpRequestState.Query.addFilter(this.DAL.defaultIdentifier,tmpRequestState.IDRecord);tmpRequestState.Query.setIDUser(tmpRequestState.SessionData.UserID);return fStageComplete();},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Delete-QueryConfiguration`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{// Load the record so we can do security checks on it
7875
8239
  this.DAL.doRead(tmpRequestState.Query,(pError,pQuery,pRecord)=>{if(!pRecord){return fStageComplete(this.ErrorHandler.getError('Record not found.',404));}tmpRequestState.Record=pRecord;// Alias the loaded pre-delete row for symmetry
7876
8240
  // with Update (see Meadow-Operation-Update.js).
7877
8241
  // Post-op hooks that compare pre/post values can
@@ -7879,26 +8243,26 @@ this.DAL.doRead(tmpRequestState.Query,(pError,pQuery,pRecord)=>{if(!pRecord){ret
7879
8243
  // know which stage overwrote Record.
7880
8244
  tmpRequestState.OriginalRecord=pRecord;return fStageComplete();});},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Delete-PreOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{// Do the delete
7881
8245
  this.DAL.doDelete(tmpRequestState.Query,(pError,pQuery,pCount)=>{// MySQL returns the number of rows deleted
7882
- tmpRequestState.RecordCount.Count=pCount;return fStageComplete(pError);});},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Delete-PostOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{pResponse.send(tmpRequestState.RecordCount);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Deleted ${tmpRequestState.RecordCount.Count} ${this.DAL.scope} records with ID ${tmpRequestState.IDRecord}`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointDelete;},{}],372:[function(require,module,exports){/**
8246
+ tmpRequestState.RecordCount.Count=pCount;return fStageComplete(pError);});},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Delete-PostOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{pResponse.send(tmpRequestState.RecordCount);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Deleted ${tmpRequestState.RecordCount.Count} ${this.DAL.scope} records with ID ${tmpRequestState.IDRecord}`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointDelete;},{}],374:[function(require,module,exports){/**
7883
8247
  * Meadow Endpoint - Undelete a Record
7884
8248
  */const doAPIEndpointUndelete=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Undelete');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};var tmpIDRecord=0;if(typeof pRequest.params.IDRecord==='string'){tmpIDRecord=pRequest.params.IDRecord;}else if(typeof pRequest.body[this.DAL.defaultIdentifier]==='number'){tmpIDRecord=pRequest.body[this.DAL.defaultIdentifier];}else if(typeof pRequest.body[this.DAL.defaultIdentifier]==='string'){tmpIDRecord=pRequest.body[this.DAL.defaultIdentifier];}// Although the undelete request does allow multiple undeletes, we require an identifier.
7885
8249
  // TODO: Decide if we want to keep this pattern similar to Delete, or, if we want to change it to allow bulk undeletes.
7886
8250
  if(tmpIDRecord<1){return fNext(this.ErrorHandler.getError('Record undelete failure - a valid record ID is required.',500));}tmpRequestState.RecordCount={Count:0};this.waterfall([fStageComplete=>{// Validate that the schema has a deleted bit
7887
8251
  var tmpSchema=this.DAL.schema;var tmpHasDeletedBit=false;for(let i=0;i<tmpSchema.length;i++){if(tmpSchema[i].Type=='Deleted'){tmpHasDeletedBit=true;}}if(!tmpHasDeletedBit){return fStageComplete(this.ErrorHandler.getError('No undelete bit on record.',500));}return fStageComplete();},fStageComplete=>{// Now see if the record, with this identifier, for this user, exists with the deleted bit set to 1
7888
- tmpRequestState.Query=this.DAL.query;tmpRequestState.Query.addFilter(this.DAL.defaultIdentifier,tmpIDRecord);tmpRequestState.Query.addFilter('Deleted',1);tmpRequestState.Query.setIDUser(tmpRequestState.SessionData.UserID);return fStageComplete();},fStageComplete=>{// Load the record so we can do security checks on it
8252
+ tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);tmpRequestState.Query.addFilter(this.DAL.defaultIdentifier,tmpIDRecord);tmpRequestState.Query.addFilter('Deleted',1);tmpRequestState.Query.setIDUser(tmpRequestState.SessionData.UserID);return fStageComplete();},fStageComplete=>{// Load the record so we can do security checks on it
7889
8253
  this.DAL.doRead(tmpRequestState.Query,(pError,pQuery,pRecord)=>{if(!pRecord){return fStageComplete(this.ErrorHandler.getError('Record not found.',404));}tmpRequestState.Record=pRecord;// Alias the loaded pre-undelete row for symmetry
7890
8254
  // with Update / Delete (see their endpoints). Post-op
7891
8255
  // hooks that compare pre/post values can reliably
7892
8256
  // read OriginalRecord.
7893
8257
  tmpRequestState.OriginalRecord=pRecord;return fStageComplete();});},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Undelete-PreOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{// Do the undelete
7894
8258
  this.DAL.doUndelete(tmpRequestState.Query,(pError,pQuery,pCount)=>{// MySQL returns the number of rows deleted
7895
- tmpRequestState.RecordCount={Count:pCount};return fStageComplete(pError);});},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Undelete-PostOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{pResponse.send(tmpRequestState.RecordCount);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,'Undeleted '+tmpRequestState.RecordCount.Count+' records with ID '+tmpIDRecord+'.');return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUndelete;},{}],373:[function(require,module,exports){/**
8259
+ tmpRequestState.RecordCount={Count:pCount};return fStageComplete(pError);});},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Undelete-PostOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{pResponse.send(tmpRequestState.RecordCount);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,'Undeleted '+tmpRequestState.RecordCount.Count+' records with ID '+tmpIDRecord+'.');return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUndelete;},{}],375:[function(require,module,exports){/**
7896
8260
  * Meadow Endpoint - Read a Record
7897
- */const doAPIEndpointRead=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Read');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;return fStageComplete();},fBehaviorInjector(`Read-PreOperation`),fStageComplete=>{if(!pRequest.params.IDRecord&&pRequest.params.GUIDRecord){// We use a custom name for this (RequestDefaultIdentifier) in case there is a query with a dot in the default identifier.
8261
+ */const doAPIEndpointRead=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Read');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);return fStageComplete();},fBehaviorInjector(`Read-PreOperation`),fStageComplete=>{if(!pRequest.params.IDRecord&&pRequest.params.GUIDRecord){// We use a custom name for this (RequestDefaultIdentifier) in case there is a query with a dot in the default identifier.
7898
8262
  tmpRequestState.RecordSearchCriteria=`${this.DAL.defaultGUIdentifier} = ${pRequest.params.GUIDRecord}`;tmpRequestState.Query.addFilter(this.DAL.defaultGUIdentifier,pRequest.params.GUIDRecord,'=','AND','RequestDefaultIdentifier');}else if(pRequest.params.IDRecord){// We use a custon name for this (RequestDefaultIdentifier) in case there is a query with a dot in the default identifier.
7899
- tmpRequestState.RecordSearchCriteria=`${this.DAL.defaultIdentifier} = ${pRequest.params.IDRecord}`;tmpRequestState.Query.addFilter(this.DAL.defaultIdentifier,pRequest.params.IDRecord,'=','AND','RequestDefaultIdentifier');}else{return fStageComplete(this.ErrorHandler.getError('No ID Provided',400));}return fStageComplete();},fBehaviorInjector(`Read-QueryConfiguration`),fStageComplete=>{try{this.DAL.doRead(tmpRequestState.Query,(pError,pQuery,pRecord)=>{if(!pRecord){return fStageComplete(this.ErrorHandler.getError('Record not Found',404));}tmpRequestState.Record=pRecord;return fStageComplete();});}catch(pQueryError){return fStageComplete(pQueryError);}},fBehaviorInjector(`Read-PostOperation`),fStageComplete=>{pResponse.send(tmpRequestState.Record);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read Record Where ${tmpRequestState.RecordSearchCriteria}`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointRead;},{}],374:[function(require,module,exports){/**
8263
+ tmpRequestState.RecordSearchCriteria=`${this.DAL.defaultIdentifier} = ${pRequest.params.IDRecord}`;tmpRequestState.Query.addFilter(this.DAL.defaultIdentifier,pRequest.params.IDRecord,'=','AND','RequestDefaultIdentifier');}else{return fStageComplete(this.ErrorHandler.getError('No ID Provided',400));}return fStageComplete();},fBehaviorInjector(`Read-QueryConfiguration`),fStageComplete=>{try{this.DAL.doRead(tmpRequestState.Query,(pError,pQuery,pRecord)=>{if(!pRecord){return fStageComplete(this.ErrorHandler.getError('Record not Found',404));}tmpRequestState.Record=pRecord;return fStageComplete();});}catch(pQueryError){return fStageComplete(pQueryError);}},fBehaviorInjector(`Read-PostOperation`),fStageComplete=>{pResponse.send(tmpRequestState.Record);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read Record Where ${tmpRequestState.RecordSearchCriteria}`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointRead;},{}],376:[function(require,module,exports){/**
7900
8264
  * Meadow Endpoint - Read a list of Records with a specified set of columns, distinct by those columns.
7901
- */const marshalDistinctList=require('./Meadow-Marshal-DistinctList.js');const doAPIEndpointReadDistinct=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'ReadDistinct');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};tmpRequestState.DistinctColumns;this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query.setDistinct(true);/** @type {number | boolean} */let tmpCap=false;/** @type {number | boolean} */let tmpBegin=false;if(typeof pRequest.params.Begin==='string'||typeof pRequest.params.Begin==='number'){tmpBegin=parseInt(pRequest.params.Begin,10);}if(typeof pRequest.params.Cap==='string'||typeof pRequest.params.Cap==='number'){tmpCap=parseInt(pRequest.params.Cap,10);}else{//maximum number of records to return by default on Read queries. Override via "MeadowDefaultMaxCap" fable setting.
8265
+ */const marshalDistinctList=require('./Meadow-Marshal-DistinctList.js');const doAPIEndpointReadDistinct=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'ReadDistinct');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};tmpRequestState.DistinctColumns;this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query.setDistinct(true);this.stampSessionOverrideOnQuery(tmpRequestState);/** @type {number | boolean} */let tmpCap=false;/** @type {number | boolean} */let tmpBegin=false;if(typeof pRequest.params.Begin==='string'||typeof pRequest.params.Begin==='number'){tmpBegin=parseInt(pRequest.params.Begin,10);}if(typeof pRequest.params.Cap==='string'||typeof pRequest.params.Cap==='number'){tmpCap=parseInt(pRequest.params.Cap,10);}else{//maximum number of records to return by default on Read queries. Override via "MeadowDefaultMaxCap" fable setting.
7902
8266
  tmpCap=this.settings['MeadowDefaultMaxCap']||250;}tmpRequestState.Query.setCap(tmpCap).setBegin(tmpBegin);if(typeof pRequest.params.Filter==='string'){// If a filter has been passed in, parse it and add the values to the query.
7903
8267
  this.parseFilter(pRequest.params.Filter,tmpRequestState.Query);}else if(pRequest.params.Filter){tmpRequestState.Query.setFilter(pRequest.params.Filter);}if(typeof pRequest.params.Columns==='string'){tmpRequestState.DistinctColumns=pRequest.params.Columns.split(',');if(!tmpRequestState.DistinctColumns){return fStageComplete({Code:400,Message:'Columns to distinct on must be provided.'});}tmpRequestState.Query.setDataElements(tmpRequestState.DistinctColumns);}return fStageComplete();},fBehaviorInjector(`Reads-QueryConfiguration`),fStageComplete=>{this.DAL.doReads(tmpRequestState.Query,fStageComplete);},(pQuery,pRecords,fStageComplete)=>{if(pRecords.length<1){pRecords=[];}tmpRequestState.Records=pRecords;return fStageComplete();},// Stage-specific post-op hook. Fires after DAL read but BEFORE
7904
8268
  // the records are projected to distinct-column shape, so
@@ -7906,41 +8270,41 @@ this.parseFilter(pRequest.params.Filter,tmpRequestState.Query);}else if(pRequest
7906
8270
  // Reads-PostOperation so registering one doesn't unintentionally
7907
8271
  // fire on the other. Hash matches the endpoint's action label
7908
8272
  // (initializeRequestState(..., 'ReadDistinct')).
7909
- fBehaviorInjector(`ReadDistinct-PostOperation`),fStageComplete=>{tmpRequestState.ResultRecords=marshalDistinctList.call(this,tmpRequestState.Records,pRequest,tmpRequestState.DistinctColumns);return fStageComplete();},fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.ResultRecords,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read a recordset distinct lite list with ${tmpRequestState.ResultRecords.length} results.`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReadDistinct;},{"./Meadow-Marshal-DistinctList.js":380}],375:[function(require,module,exports){/**
8273
+ fBehaviorInjector(`ReadDistinct-PostOperation`),fStageComplete=>{tmpRequestState.ResultRecords=marshalDistinctList.call(this,tmpRequestState.Records,pRequest,tmpRequestState.DistinctColumns);return fStageComplete();},fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.ResultRecords,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read a recordset distinct lite list with ${tmpRequestState.ResultRecords.length} results.`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReadDistinct;},{"./Meadow-Marshal-DistinctList.js":382}],377:[function(require,module,exports){/**
7910
8274
  * Meadow Endpoint - Read a list of lite Records (for Drop-downs and such)
7911
8275
  */const marshalLiteList=require('./Meadow-Marshal-LiteList.js');const doAPIEndpointReadLite=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'ReadsLite');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([// 1a. Get the records
7912
- fStageComplete=>{tmpRequestState.Query=this.DAL.query;// TODO: Limit the query to the columns we need for the templated expression
8276
+ fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);// TODO: Limit the query to the columns we need for the templated expression
7913
8277
  /** @type {number | boolean} */var tmpCap=false;/** @type {number | boolean} */var tmpBegin=false;if(typeof pRequest.params.Begin==='string'||typeof pRequest.params.Begin==='number'){tmpBegin=parseInt(pRequest.params.Begin,10);}if(typeof pRequest.params.Cap==='string'||typeof pRequest.params.Cap==='number'){tmpCap=parseInt(pRequest.params.Cap,10);}else{//maximum number of records to return by default on Read queries. Override via "MeadowDefaultMaxCap" fable setting.
7914
8278
  tmpCap=this.settings['MeadowDefaultMaxCap']||250;}tmpRequestState.Query.setCap(tmpCap).setBegin(tmpBegin);if(typeof pRequest.params.Filter==='string'){// If a filter has been passed in, parse it and add the values to the query.
7915
8279
  this.parseFilter(pRequest.params.Filter,tmpRequestState.Query);}else if(pRequest.params.Filter){tmpRequestState.Query.setFilter(pRequest.params.Filter);}return fStageComplete();},fBehaviorInjector(`Reads-QueryConfiguration`),fStageComplete=>{this.DAL.doReads(tmpRequestState.Query,fStageComplete);},(pQuery,pRecords,fStageComplete)=>{if(pRecords.length<1){pRecords=[];}tmpRequestState.RawRecords=pRecords;// Expose the loaded records under pRequestState.Records
7916
8280
  // so post-op hooks operate on the same shape regular
7917
8281
  // Reads uses. Marshalling to lite shape runs AFTER the
7918
8282
  // hook so hooks see full rows.
7919
- tmpRequestState.Records=pRecords;return fStageComplete();},fBehaviorInjector(`ReadsLite-PostOperation`),fStageComplete=>{tmpRequestState.Records=marshalLiteList.call(this,tmpRequestState.RawRecords,pRequest,typeof pRequest.params.ExtraColumns==='string'?pRequest.params.ExtraColumns.split(','):[]);return fStageComplete();},fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.Records,fNext);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read a recordset lite list with ${tmpRequestState.Records.length} results`);return fStageComplete();}],(pError,pResultRecords)=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReadLite;},{"./Meadow-Marshal-LiteList.js":381}],376:[function(require,module,exports){/**
8283
+ tmpRequestState.Records=pRecords;return fStageComplete();},fBehaviorInjector(`ReadsLite-PostOperation`),fStageComplete=>{tmpRequestState.Records=marshalLiteList.call(this,tmpRequestState.RawRecords,pRequest,typeof pRequest.params.ExtraColumns==='string'?pRequest.params.ExtraColumns.split(','):[]);return fStageComplete();},fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.Records,fNext);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read a recordset lite list with ${tmpRequestState.Records.length} results`);return fStageComplete();}],(pError,pResultRecords)=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReadLite;},{"./Meadow-Marshal-LiteList.js":383}],378:[function(require,module,exports){/**
7920
8284
  * Meadow Endpoint - Read the Max Value of a Column in a Set
7921
- */const doAPIEndpointReadMax=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'ReadMax');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;return fStageComplete();},fStageComplete=>{tmpRequestState.ColumnName=pRequest.params.ColumnName;tmpRequestState.Query.setSort({Column:tmpRequestState.ColumnName,Direction:'Descending'});tmpRequestState.Query.setCap(1);return fStageComplete();},fBehaviorInjector(`ReadMax-QueryConfiguration`),fStageComplete=>{this.DAL.doRead(tmpRequestState.Query,fStageComplete);},(pQuery,pRecord,fStageComplete)=>{if(!pRecord){return fStageComplete(this.ErrorHandler.getError('Record not Found',404));}tmpRequestState.Record=pRecord;return fStageComplete();},fStageComplete=>{this.BehaviorInjection.runBehavior(`ReadMax-PostOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read max record of ${this.DAL.scope} on ${tmpRequestState.ColumnName}`);pResponse.send(tmpRequestState.Record);}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReadMax;},{}],377:[function(require,module,exports){/**
8285
+ */const doAPIEndpointReadMax=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'ReadMax');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);return fStageComplete();},fStageComplete=>{tmpRequestState.ColumnName=pRequest.params.ColumnName;tmpRequestState.Query.setSort({Column:tmpRequestState.ColumnName,Direction:'Descending'});tmpRequestState.Query.setCap(1);return fStageComplete();},fBehaviorInjector(`ReadMax-QueryConfiguration`),fStageComplete=>{this.DAL.doRead(tmpRequestState.Query,fStageComplete);},(pQuery,pRecord,fStageComplete)=>{if(!pRecord){return fStageComplete(this.ErrorHandler.getError('Record not Found',404));}tmpRequestState.Record=pRecord;return fStageComplete();},fStageComplete=>{this.BehaviorInjection.runBehavior(`ReadMax-PostOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read max record of ${this.DAL.scope} on ${tmpRequestState.ColumnName}`);pResponse.send(tmpRequestState.Record);}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReadMax;},{}],379:[function(require,module,exports){/**
7922
8286
  * Meadow Endpoint - Read a select list of Records (for Drop-downs and such)
7923
- */const doAPIEndpointReadSelectList=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'ReadsBy');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;/** @type {number | boolean} */var tmpCap=false;/** @type {number | boolean} */var tmpBegin=false;if(typeof pRequest.params.Begin==='string'||typeof pRequest.params.Begin==='number'){tmpBegin=parseInt(pRequest.params.Begin);}if(typeof pRequest.params.Cap==='string'||typeof pRequest.params.Cap==='number'){tmpCap=parseInt(pRequest.params.Cap);}else{tmpCap=this.settings['MeadowDefaultMaxCap']||250;}tmpRequestState.Query.setCap(tmpCap).setBegin(tmpBegin);if(typeof pRequest.params.Filter==='string'){this.parseFilter(pRequest.params.Filter,tmpRequestState.Query);}return fStageComplete();},fBehaviorInjector(`Reads-QueryConfiguration`),fStageComplete=>{this.DAL.doReads(tmpRequestState.Query,fStageComplete);},(pQuery,pRecords,fStageComplete)=>{if(pRecords.length<1){pRecords=[];}tmpRequestState.Records=pRecords;return fStageComplete();},// Stage-specific post-op hook. Fires after DAL read but
8287
+ */const doAPIEndpointReadSelectList=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'ReadsBy');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);/** @type {number | boolean} */var tmpCap=false;/** @type {number | boolean} */var tmpBegin=false;if(typeof pRequest.params.Begin==='string'||typeof pRequest.params.Begin==='number'){tmpBegin=parseInt(pRequest.params.Begin);}if(typeof pRequest.params.Cap==='string'||typeof pRequest.params.Cap==='number'){tmpCap=parseInt(pRequest.params.Cap);}else{tmpCap=this.settings['MeadowDefaultMaxCap']||250;}tmpRequestState.Query.setCap(tmpCap).setBegin(tmpBegin);if(typeof pRequest.params.Filter==='string'){this.parseFilter(pRequest.params.Filter,tmpRequestState.Query);}return fStageComplete();},fBehaviorInjector(`Reads-QueryConfiguration`),fStageComplete=>{this.DAL.doReads(tmpRequestState.Query,fStageComplete);},(pQuery,pRecords,fStageComplete)=>{if(pRecords.length<1){pRecords=[];}tmpRequestState.Records=pRecords;return fStageComplete();},// Stage-specific post-op hook. Fires after DAL read but
7924
8288
  // BEFORE the records are projected to select-list
7925
8289
  // (Hash/Value) shape, so handlers can run against full
7926
8290
  // rows. Separate from Reads-PostOperation so registering
7927
8291
  // one doesn't unintentionally fire on the other.
7928
- fBehaviorInjector(`ReadSelectList-PostOperation`),fStageComplete=>{tmpRequestState.SelectList=[];for(var i=0;i<tmpRequestState.Records.length;i++){tmpRequestState.SelectList.push({Hash:tmpRequestState.Records[i][this.DAL.defaultIdentifier],Value:this.BehaviorInjection.processTemplate('SelectList',{Record:tmpRequestState.Records[i]},this.DAL.scope+' #<%= Record.'+this.DAL.defaultIdentifier+'%>')});}return fStageComplete();},fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.SelectList,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read a recordset lite list with ${tmpRequestState.SelectList.length} results.`);return fStageComplete();}],(pError,pResultRecords)=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReadSelectList;},{}],378:[function(require,module,exports){/**
8292
+ fBehaviorInjector(`ReadSelectList-PostOperation`),fStageComplete=>{tmpRequestState.SelectList=[];for(var i=0;i<tmpRequestState.Records.length;i++){tmpRequestState.SelectList.push({Hash:tmpRequestState.Records[i][this.DAL.defaultIdentifier],Value:this.BehaviorInjection.processTemplate('SelectList',{Record:tmpRequestState.Records[i]},this.DAL.scope+' #<%= Record.'+this.DAL.defaultIdentifier+'%>')});}return fStageComplete();},fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.SelectList,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read a recordset lite list with ${tmpRequestState.SelectList.length} results.`);return fStageComplete();}],(pError,pResultRecords)=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReadSelectList;},{}],380:[function(require,module,exports){/**
7929
8293
  * Meadow Endpoint - Read a Set of Records
7930
- */const doAPIEndpointReads=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Reads');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;/** @type {number | boolean} */var tmpCap=false;/** @type {number | boolean} */var tmpBegin=false;if(typeof pRequest.params.Begin==='string'||typeof pRequest.params.Begin==='number'){tmpBegin=parseInt(pRequest.params.Begin);}if(typeof pRequest.params.Cap==='string'||typeof pRequest.params.Cap==='number'){tmpCap=parseInt(pRequest.params.Cap);}else{tmpCap=this.settings['MeadowDefaultMaxCap']||250;}tmpRequestState.Query.setCap(tmpCap).setBegin(tmpBegin);if(typeof pRequest.params.Filter==='string'){// If a filter has been passed in, parse it and add the values to the query.
7931
- this.parseFilter(pRequest.params.Filter,tmpRequestState.Query);}else if(pRequest.params.Filter){tmpRequestState.Query.setFilter(pRequest.params.Filter);}return fStageComplete();},fBehaviorInjector(`Reads-QueryConfiguration`),fStageComplete=>{this.DAL.doReads(tmpRequestState.Query,fStageComplete);},(pQuery,pRecords,fStageComplete)=>{if(!pRecords){return fStageComplete(this.ErrorHandler.getError('No records found.',404));}tmpRequestState.Records=pRecords;return fStageComplete();},fBehaviorInjector(`Reads-PostOperation`),fStageComplete=>{this.doStreamRecordArray(pResponse,tmpRequestState.Records,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,'Read a list of records.');return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReads;},{}],379:[function(require,module,exports){/**
8294
+ */const doAPIEndpointReads=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Reads');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);/** @type {number | boolean} */var tmpCap=false;/** @type {number | boolean} */var tmpBegin=false;if(typeof pRequest.params.Begin==='string'||typeof pRequest.params.Begin==='number'){tmpBegin=parseInt(pRequest.params.Begin);}if(typeof pRequest.params.Cap==='string'||typeof pRequest.params.Cap==='number'){tmpCap=parseInt(pRequest.params.Cap);}else{tmpCap=this.settings['MeadowDefaultMaxCap']||250;}tmpRequestState.Query.setCap(tmpCap).setBegin(tmpBegin);if(typeof pRequest.params.Filter==='string'){// If a filter has been passed in, parse it and add the values to the query.
8295
+ this.parseFilter(pRequest.params.Filter,tmpRequestState.Query);}else if(pRequest.params.Filter){tmpRequestState.Query.setFilter(pRequest.params.Filter);}return fStageComplete();},fBehaviorInjector(`Reads-QueryConfiguration`),fStageComplete=>{this.DAL.doReads(tmpRequestState.Query,fStageComplete);},(pQuery,pRecords,fStageComplete)=>{if(!pRecords){return fStageComplete(this.ErrorHandler.getError('No records found.',404));}tmpRequestState.Records=pRecords;return fStageComplete();},fBehaviorInjector(`Reads-PostOperation`),fStageComplete=>{this.doStreamRecordArray(pResponse,tmpRequestState.Records,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,'Read a list of records.');return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReads;},{}],381:[function(require,module,exports){/**
7932
8296
  * Meadow Endpoint - Read a Record
7933
8297
  */const doAPIEndpointReadsBy=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'ReadsBy');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([// 1. Construct the Query
7934
- fStageComplete=>{tmpRequestState.Query=this.DAL.query;/** @type {number | boolean} */var tmpCap=false;/** @type {number | boolean} */var tmpBegin=false;if(typeof pRequest.params.Begin==='string'||typeof pRequest.params.Begin==='number'){tmpBegin=parseInt(pRequest.params.Begin);}if(typeof pRequest.params.Cap==='string'||typeof pRequest.params.Cap==='number'){tmpCap=parseInt(pRequest.params.Cap);}else{//maximum number of records to return by default on Read queries. Override via "MeadowDefaultMaxCap" fable setting.
8298
+ fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);/** @type {number | boolean} */var tmpCap=false;/** @type {number | boolean} */var tmpBegin=false;if(typeof pRequest.params.Begin==='string'||typeof pRequest.params.Begin==='number'){tmpBegin=parseInt(pRequest.params.Begin);}if(typeof pRequest.params.Cap==='string'||typeof pRequest.params.Cap==='number'){tmpCap=parseInt(pRequest.params.Cap);}else{//maximum number of records to return by default on Read queries. Override via "MeadowDefaultMaxCap" fable setting.
7935
8299
  tmpCap=this.settings['MeadowDefaultMaxCap']||250;}tmpRequestState.Query.setCap(tmpCap).setBegin(tmpBegin);return fStageComplete();},fStageComplete=>{function addField(pByField,pByValue){if(pByValue.constructor===Array){tmpRequestState.Query.addFilter(pByField,pByValue,'IN','AND','RequestByField');}else{tmpRequestState.Query.addFilter(pByField,pByValue,'=','AND','RequestByField');}}var tmpFilters=pRequest.params.Filters;if(tmpFilters&&tmpFilters.constructor===Array){tmpFilters.forEach(function(filter){addField(filter.ByField,filter.ByValue);});}else{addField(pRequest.params.ByField,pRequest.params.ByValue);}return fStageComplete();},fBehaviorInjector(`Reads-QueryConfiguration`),fStageComplete=>{this.DAL.doReads(tmpRequestState.Query,(pError,pQuery,pRecords)=>{if(!pRecords){return fStageComplete(this.ErrorHandler.getError('No records found.',404));}tmpRequestState.Records=pRecords;return fStageComplete();});},fBehaviorInjector(`Reads-PostOperation`),fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.Records,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Read a list of records by ${pRequest.params.ByField} = ${pRequest.params.ByValue}`);return fStageComplete();}],// 7. Return the results to the user
7936
- pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReadsBy;},{}],380:[function(require,module,exports){/**
8300
+ pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointReadsBy;},{}],382:[function(require,module,exports){/**
7937
8301
  * Meadow Operation - Marshal an array of records into a distinct list
7938
8302
  */const marshalDistinctList=function(pRecords,pRequest,pFieldList){if(pRecords.length<1)return[];let tmpDistinctList=[];// Allow the caller to pass in a list of fields.
7939
8303
  let tmpFieldList=typeof pFieldList!=='undefined'?pFieldList:[];// See if this record has a GUID in the schema
7940
8304
  let tmpGUID=this.DAL.defaultGUIdentifier&&this.DAL.defaultGUIdentifier.length>0?this.DAL.defaultGUIdentifier:false;// Peek at the first record to check for updatedate
7941
8305
  let tmpHasUpdateDate=pRecords[0].hasOwnProperty('UpdateDate')?true:false;//Include all GUID and ID fields on the record
7942
8306
  let tmpRecordFields=Object.keys(pRecords[0]);let h=0;while(h<tmpFieldList.length){// Remove any fields in the list that aren't in the first record.
7943
- if(!pRecords[0].hasOwnProperty(tmpFieldList[0]))tmpFieldList.splice(h,1);else h++;}for(let i=0;i<pRecords.length;i++){let tmpDistinctRecord={};tmpFieldList.forEach(pField=>{tmpDistinctRecord[pField]=pRecords[i][pField];});tmpDistinctList.push(tmpDistinctRecord);}return tmpDistinctList;};module.exports=marshalDistinctList;},{}],381:[function(require,module,exports){/**
8307
+ if(!pRecords[0].hasOwnProperty(tmpFieldList[0]))tmpFieldList.splice(h,1);else h++;}for(let i=0;i<pRecords.length;i++){let tmpDistinctRecord={};tmpFieldList.forEach(pField=>{tmpDistinctRecord[pField]=pRecords[i][pField];});tmpDistinctList.push(tmpDistinctRecord);}return tmpDistinctList;};module.exports=marshalDistinctList;},{}],383:[function(require,module,exports){/**
7944
8308
  * Meadow Operation - Marshal an array of records into a lite list
7945
8309
  */const marshalLiteList=function(pRecords,pRequest,pFieldList){if(pRecords.length<1)return[];let tmpLiteList=[];// Allow the caller to pass in a list of fields.
7946
8310
  let tmpFieldList=typeof pFieldList!=='undefined'?pFieldList:[];// See if this record has a GUID in the schema
@@ -7948,29 +8312,29 @@ let tmpGUID=this.DAL.defaultGUIdentifier&&this.DAL.defaultGUIdentifier.length>0?
7948
8312
  let tmpHasUpdateDate=pRecords[0].hasOwnProperty('UpdateDate')?true:false;//Include all GUID and ID fields on the record
7949
8313
  let tmpRecordFields=Object.keys(pRecords[0]);tmpRecordFields.forEach(pField=>{if(pField.indexOf('ID')===0||pField.indexOf('GUID')===0||pField=='CreatingIDUser')//we should always include owner info
7950
8314
  {tmpFieldList.push(pField);}});let h=0;while(h<tmpFieldList.length){// Remove any fields in the list that aren't in the first record.
7951
- if(!pRecords[0].hasOwnProperty(tmpFieldList[0]))tmpFieldList.splice(h,1);else h++;}for(let i=0;i<pRecords.length;i++){let tmpLiteRecord={Value:this.BehaviorInjection.processTemplate('SelectList',{Record:pRecords[i]},this.DAL.scope+' #<%= Record.'+this.DAL.defaultIdentifier+'%>')};tmpLiteRecord[this.DAL.defaultIdentifier]=pRecords[i][this.DAL.defaultIdentifier];if(tmpGUID)tmpLiteRecord[tmpGUID]=pRecords[i][tmpGUID];if(tmpHasUpdateDate)tmpLiteRecord['UpdateDate']=pRecords[i].UpdateDate;tmpFieldList.forEach(pField=>{tmpLiteRecord[pField]=pRecords[i][pField];});tmpLiteList.push(tmpLiteRecord);}return tmpLiteList;};module.exports=marshalLiteList;},{}],382:[function(require,module,exports){/**
8315
+ if(!pRecords[0].hasOwnProperty(tmpFieldList[0]))tmpFieldList.splice(h,1);else h++;}for(let i=0;i<pRecords.length;i++){let tmpLiteRecord={Value:this.BehaviorInjection.processTemplate('SelectList',{Record:pRecords[i]},this.DAL.scope+' #<%= Record.'+this.DAL.defaultIdentifier+'%>')};tmpLiteRecord[this.DAL.defaultIdentifier]=pRecords[i][this.DAL.defaultIdentifier];if(tmpGUID)tmpLiteRecord[tmpGUID]=pRecords[i][tmpGUID];if(tmpHasUpdateDate)tmpLiteRecord['UpdateDate']=pRecords[i].UpdateDate;tmpFieldList.forEach(pField=>{tmpLiteRecord[pField]=pRecords[i][pField];});tmpLiteList.push(tmpLiteRecord);}return tmpLiteList;};module.exports=marshalLiteList;},{}],384:[function(require,module,exports){/**
7952
8316
  * Meadow Endpoint - Get a New, empty Record
7953
8317
  */const doAPIEndpointNew=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'New');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fBehaviorInjector(`New-PreOperation`),fStageComplete=>{// If during the PreOperation this was set, we can
7954
- if(!tmpRequestState.EmptyEntityRecord){tmpRequestState.EmptyEntityRecord=this.extend({},this.DAL.schemaFull.defaultObject);}return fStageComplete();},fBehaviorInjector(`New-PostOperation`),fStageComplete=>{pResponse.send(tmpRequestState.EmptyEntityRecord);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Delivered New ${this.DAL.scope} Record`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointNew;},{}],383:[function(require,module,exports){/**
8318
+ if(!tmpRequestState.EmptyEntityRecord){tmpRequestState.EmptyEntityRecord=this.extend({},this.DAL.schemaFull.defaultObject);}return fStageComplete();},fBehaviorInjector(`New-PostOperation`),fStageComplete=>{pResponse.send(tmpRequestState.EmptyEntityRecord);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Delivered New ${this.DAL.scope} Record`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointNew;},{}],385:[function(require,module,exports){/**
7955
8319
  * Meadow Endpoint - Get the Record Schema
7956
8320
  */const doAPIEndpointSchema=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Schema');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fBehaviorInjector(`Schema-PreOperation`),fStageComplete=>{// If during the PreOperation this was set, we won't overwrite
7957
- if(!pRequest.JSONSchema){tmpRequestState.JSONSchema=this.extend({},this.DAL.jsonSchema);}return fStageComplete();},fBehaviorInjector(`Schema-PostOperation`),fStageComplete=>{pResponse.send(tmpRequestState.JSONSchema);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Delivered JSONSchema for ${this.DAL.scope}`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointSchema;},{}],384:[function(require,module,exports){/**
8321
+ if(!pRequest.JSONSchema){tmpRequestState.JSONSchema=this.extend({},this.DAL.jsonSchema);}return fStageComplete();},fBehaviorInjector(`Schema-PostOperation`),fStageComplete=>{pResponse.send(tmpRequestState.JSONSchema);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Delivered JSONSchema for ${this.DAL.scope}`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointSchema;},{}],386:[function(require,module,exports){/**
7958
8322
  * Meadow Endpoint - Validate a Record
7959
- */const doAPIEndpointValidate=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Validate');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fBehaviorInjector(`Validate-PreOperation`),fStageComplete=>{if(typeof pRequest.body!=='object'){return fStageComplete(this.ErrorHandler.getError('Record validate failure - a valid JSON object is required.',500));}tmpRequestState.Record=pRequest.body;return fStageComplete();},fStageComplete=>{tmpRequestState.RecordValidation=this.DAL.schemaFull.validateObject(tmpRequestState.Record);return fStageComplete();},fBehaviorInjector(`Validate-PostOperation`),fStageComplete=>{pResponse.send(tmpRequestState.RecordValidation);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Validated Record for ${this.DAL.scope} - ${JSON.stringify(tmpRequestState.RecordValidation)}`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointValidate;},{}],385:[function(require,module,exports){/**
8323
+ */const doAPIEndpointValidate=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Validate');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fBehaviorInjector(`Validate-PreOperation`),fStageComplete=>{if(typeof pRequest.body!=='object'){return fStageComplete(this.ErrorHandler.getError('Record validate failure - a valid JSON object is required.',500));}tmpRequestState.Record=pRequest.body;return fStageComplete();},fStageComplete=>{tmpRequestState.RecordValidation=this.DAL.schemaFull.validateObject(tmpRequestState.Record);return fStageComplete();},fBehaviorInjector(`Validate-PostOperation`),fStageComplete=>{pResponse.send(tmpRequestState.RecordValidation);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Validated Record for ${this.DAL.scope} - ${JSON.stringify(tmpRequestState.RecordValidation)}`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointValidate;},{}],387:[function(require,module,exports){/**
7960
8324
  * Meadow Endpoint - Update a set of Records
7961
- */const doUpdate=require('./Meadow-Operation-Update.js');const doAPIEndpointUpdate=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'UpdateBulk');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};tmpRequestState.UpdatedRecords=[];this.waterfall([fStageComplete=>{if(!Array.isArray(pRequest.body)){return fStageComplete(this.ErrorHandler.getError('Record update failure - a valid record is required.',500));}tmpRequestState.BulkRecords=pRequest.body;return fStageComplete();},fBehaviorInjector(`UpdateBulk-PreOperation`),fStageComplete=>{this.eachLimit(tmpRequestState.BulkRecords,1,(pRecord,fCallback)=>{doUpdate.call(this,pRecord,pRequest,tmpRequestState,pResponse,fCallback);},fStageComplete);},fBehaviorInjector(`UpdateBulk-PostOperation`),fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.UpdatedRecords,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Bulk updated ${tmpRequestState.UpdatedRecords.length} records`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUpdate;},{"./Meadow-Operation-Update.js":387}],386:[function(require,module,exports){/**
8325
+ */const doUpdate=require('./Meadow-Operation-Update.js');const doAPIEndpointUpdate=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'UpdateBulk');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};tmpRequestState.UpdatedRecords=[];this.waterfall([fStageComplete=>{if(!Array.isArray(pRequest.body)){return fStageComplete(this.ErrorHandler.getError('Record update failure - a valid record is required.',500));}tmpRequestState.BulkRecords=pRequest.body;return fStageComplete();},fBehaviorInjector(`UpdateBulk-PreOperation`),fStageComplete=>{this.eachLimit(tmpRequestState.BulkRecords,1,(pRecord,fCallback)=>{doUpdate.call(this,pRecord,pRequest,tmpRequestState,pResponse,fCallback);},fStageComplete);},fBehaviorInjector(`UpdateBulk-PostOperation`),fStageComplete=>{return this.doStreamRecordArray(pResponse,tmpRequestState.UpdatedRecords,fStageComplete);},fStageComplete=>{this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Bulk updated ${tmpRequestState.UpdatedRecords.length} records`);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUpdate;},{"./Meadow-Operation-Update.js":389}],388:[function(require,module,exports){/**
7962
8326
  * Meadow Endpoint - Update a Record
7963
8327
  */const doUpdate=require('./Meadow-Operation-Update.js');const doAPIEndpointUpdate=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Update');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{if(typeof pRequest.body!=='object'||pRequest.body===null){return fStageComplete(this.ErrorHandler.getError('Record update failure - a valid record is required.',400));}// PUT|PATCH /Entity/:IDRecord puts the primary key in the URL path
7964
8328
  // (REST-idiomatic, parallels GET/:IDRecord and DELETE/:IDRecord).
7965
8329
  // When present, the URL ID is authoritative and overrides anything
7966
8330
  // in the body. This is what lets clients update-in-place without
7967
8331
  // the GET → DELETE → INSERT churn that loses the primary key.
7968
- if(pRequest.params&&pRequest.params.IDRecord){let tmpURLID=pRequest.params.IDRecord;if(typeof tmpURLID==='string'&&/^-?\d+$/.test(tmpURLID)){tmpURLID=Number(tmpURLID);}pRequest.body[this.DAL.defaultIdentifier]=tmpURLID;}if(pRequest.body[this.DAL.defaultIdentifier]<1){return fStageComplete(this.ErrorHandler.getError('Record update failure - a valid record ID is required in the passed-in record.',400));}tmpRequestState.Record=pRequest.body;return fStageComplete();},fStageComplete=>{doUpdate.call(this,pRequest.body,pRequest,tmpRequestState,pResponse,fStageComplete);},fStageComplete=>{if(tmpRequestState.RecordUpdateError){return fStageComplete(tmpRequestState.RecordUpdateErrorObject);}if(tmpRequestState.UpdatedRecords.length<1){return fStageComplete(this.ErrorHandler.getError('Unknown record update failure - no updated records returned.',500));}tmpRequestState.Record=tmpRequestState.UpdatedRecords[0];return fStageComplete();},fStageComplete=>{pResponse.send(tmpRequestState.Record);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUpdate;},{"./Meadow-Operation-Update.js":387}],387:[function(require,module,exports){/**
8332
+ if(pRequest.params&&pRequest.params.IDRecord){let tmpURLID=pRequest.params.IDRecord;if(typeof tmpURLID==='string'&&/^-?\d+$/.test(tmpURLID)){tmpURLID=Number(tmpURLID);}pRequest.body[this.DAL.defaultIdentifier]=tmpURLID;}if(pRequest.body[this.DAL.defaultIdentifier]<1){return fStageComplete(this.ErrorHandler.getError('Record update failure - a valid record ID is required in the passed-in record.',400));}tmpRequestState.Record=pRequest.body;return fStageComplete();},fStageComplete=>{doUpdate.call(this,pRequest.body,pRequest,tmpRequestState,pResponse,fStageComplete);},fStageComplete=>{if(tmpRequestState.RecordUpdateError){return fStageComplete(tmpRequestState.RecordUpdateErrorObject);}if(tmpRequestState.UpdatedRecords.length<1){return fStageComplete(this.ErrorHandler.getError('Unknown record update failure - no updated records returned.',500));}tmpRequestState.Record=tmpRequestState.UpdatedRecords[0];return fStageComplete();},fStageComplete=>{pResponse.send(tmpRequestState.Record);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUpdate;},{"./Meadow-Operation-Update.js":389}],389:[function(require,module,exports){/**
7969
8333
  * Meadow Operation - Update a record
7970
8334
  */const doUpdate=function(pRecordToModify,pRequest,pRequestState,pResponse,fCallback,pOptionalCachedUpdatingRecord){// This is a virtual operation
7971
8335
  let tmpRequestState=this.cloneAsyncSafeRequestState(pRequestState,'doUpdate');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};// If there is not a default identifier or cached record, fail
7972
8336
  if(pRecordToModify[this.DAL.defaultIdentifier]<1&&typeof pOptionalCachedUpdatingRecord==='undefined'){return fCallback('Record update failure - a valid record ID is required in the passed-in record.');}if(!Array.isArray(tmpRequestState.ParentRequestState.UpdatedRecords)){tmpRequestState.ParentRequestState.UpdatedRecords=[];}this.waterfall([fStageComplete=>{tmpRequestState.RecordToModify=pRecordToModify;if(typeof pOptionalCachedUpdatingRecord!=='undefined'){// Use the cached updating record instead of reading a record.
7973
- tmpRequestState.OriginalRecord=pOptionalCachedUpdatingRecord;return fStageComplete();}else{tmpRequestState.Query=this.DAL.query;tmpRequestState.Query.addFilter(this.DAL.defaultIdentifier,tmpRequestState.RecordToModify[this.DAL.defaultIdentifier]);// Load the record so we can do security checks on it
8337
+ tmpRequestState.OriginalRecord=pOptionalCachedUpdatingRecord;return fStageComplete();}else{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);tmpRequestState.Query.addFilter(this.DAL.defaultIdentifier,tmpRequestState.RecordToModify[this.DAL.defaultIdentifier]);// Load the record so we can do security checks on it
7974
8338
  this.DAL.doRead(tmpRequestState.Query,(pError,pQuery,pRecord)=>{if(pError){return fStageComplete(pError);}if(!pRecord){return fStageComplete(this.ErrorHandler.getError('Record not Found',404));}tmpRequestState.Record=pRecord;// Alias the loaded pre-update row under an
7975
8339
  // unambiguous name. pRequestState.Record gets
7976
8340
  // overwritten with the POST-update row later in
@@ -7978,8 +8342,8 @@ this.DAL.doRead(tmpRequestState.Query,(pError,pQuery,pRecord)=>{if(pError){retur
7978
8342
  // PRE-update reference for post-op hooks that
7979
8343
  // need to compare before/after values (change
7980
8344
  // logs, customer-boundary checks, etc.).
7981
- tmpRequestState.OriginalRecord=pRecord;return fStageComplete();});}},fStageComplete=>{tmpRequestState.Query=this.DAL.query;return fStageComplete();},fBehaviorInjector(`Update-PreOperation`),fStageComplete=>{tmpRequestState.Query.setIDUser(tmpRequestState.SessionData.UserID);tmpRequestState.Query.addRecord(tmpRequestState.RecordToModify);return fStageComplete();},fBehaviorInjector(`Update-QueryConfiguration`),fStageComplete=>{this.DAL.doUpdate(tmpRequestState.Query,(pError,pQuery,pReadQuery,pRecord)=>{if(pError){if(typeof pError=='string'){return fStageComplete(this.ErrorHandler.getError(pError,500));}else{return fStageComplete(pError);}}if(!pRecord){return fStageComplete(this.ErrorHandler.getError(`Error in DAL Update: No record returned from persistence engine.`,500));}tmpRequestState.Record=pRecord;return fStageComplete();});},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Update-PostOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{tmpRequestState.ParentRequestState.UpdatedRecords.push(tmpRequestState.Record);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Updated record with ID ${tmpRequestState.Record[this.DAL.defaultIdentifier]}`);return fStageComplete();}],pError=>{if(pError){// Ensure we have a record object to attach the error to
7982
- if(tmpRequestState.Record){tmpRequestState.Record.Error=pError;}else{tmpRequestState.Record={Error:pError};}tmpRequestState.ParentRequestState.RecordUpdateError=true;tmpRequestState.ParentRequestState.RecordUpdateErrorObject=pError;tmpRequestState.ParentRequestState.UpdatedRecords.push(tmpRequestState.Record);}return fCallback();});};module.exports=doUpdate;},{}],388:[function(require,module,exports){/**
8345
+ tmpRequestState.OriginalRecord=pRecord;return fStageComplete();});}},fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);return fStageComplete();},fBehaviorInjector(`Update-PreOperation`),fStageComplete=>{tmpRequestState.Query.setIDUser(tmpRequestState.SessionData.UserID);tmpRequestState.Query.addRecord(tmpRequestState.RecordToModify);return fStageComplete();},fBehaviorInjector(`Update-QueryConfiguration`),fStageComplete=>{this.DAL.doUpdate(tmpRequestState.Query,(pError,pQuery,pReadQuery,pRecord)=>{if(pError){if(typeof pError=='string'){return fStageComplete(this.ErrorHandler.getError(pError,500));}else{return fStageComplete(pError);}}if(!pRecord){return fStageComplete(this.ErrorHandler.getError(`Error in DAL Update: No record returned from persistence engine.`,500));}tmpRequestState.Record=pRecord;return fStageComplete();});},fStageComplete=>{return this.BehaviorInjection.runBehavior(`Update-PostOperation`,this,pRequest,tmpRequestState,fStageComplete);},fStageComplete=>{tmpRequestState.ParentRequestState.UpdatedRecords.push(tmpRequestState.Record);this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,`Updated record with ID ${tmpRequestState.Record[this.DAL.defaultIdentifier]}`);return fStageComplete();}],pError=>{if(pError){// Ensure we have a record object to attach the error to
8346
+ if(tmpRequestState.Record){tmpRequestState.Record.Error=pError;}else{tmpRequestState.Record={Error:pError};}tmpRequestState.ParentRequestState.RecordUpdateError=true;tmpRequestState.ParentRequestState.RecordUpdateErrorObject=pError;tmpRequestState.ParentRequestState.UpdatedRecords.push(tmpRequestState.Record);}return fCallback();});};module.exports=doUpdate;},{}],390:[function(require,module,exports){/**
7983
8347
  * Meadow Endpoint - Upsert a set of Records
7984
8348
  */const doUpsert=require('./Meadow-Operation-Upsert.js');const marshalLiteList=require('../read/Meadow-Marshal-LiteList.js');const doAPIEndpointUpserts=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'UpsertBulk');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};tmpRequestState.CreatedRecords=[];tmpRequestState.UpdatedRecords=[];tmpRequestState.UpsertedRecords=[];tmpRequestState.ErrorRecords=[];this.waterfall([fStageComplete=>{if(!Array.isArray(pRequest.body)){return fStageComplete(this.ErrorHandler.getError(`Record bulk upsert failure - a valid array of records is required.`,500));}tmpRequestState.BulkRecords=pRequest.body;return fStageComplete();},fBehaviorInjector(`UpsertBulk-PreOperation`),fStageComplete=>{this.eachLimit(tmpRequestState.BulkRecords,1,(pRecord,fCallback)=>{doUpsert.call(this,pRecord,pRequest,tmpRequestState,pResponse,fCallback);},fStageComplete);},fBehaviorInjector(`UpsertBulk-PostOperation`),fStageComplete=>{// Surface per-row error counts to the caller via response
7985
8349
  // headers BEFORE streaming the success array. Without these,
@@ -7989,7 +8353,7 @@ if(tmpRequestState.Record){tmpRequestState.Record.Error=pError;}else{tmpRequestS
7989
8353
  // We keep the response body shape stable (bare array of
7990
8354
  // upserted records) for back-compat — the headers are the
7991
8355
  // non-breaking surface for the failure count + total.
7992
- let tmpInputCount=tmpRequestState.BulkRecords&&tmpRequestState.BulkRecords.length||0;let tmpErrorCount=tmpRequestState.ErrorRecords&&tmpRequestState.ErrorRecords.length||0;let tmpUpsertedCount=tmpRequestState.UpsertedRecords&&tmpRequestState.UpsertedRecords.length||0;try{pResponse.header('X-Meadow-Upsert-Total',String(tmpInputCount));pResponse.header('X-Meadow-Upsert-Succeeded',String(tmpUpsertedCount));pResponse.header('X-Meadow-Upsert-Errored',String(tmpErrorCount));}catch(pHdrErr){/* response.header may not exist on all servers; degrade silently */}return this.doStreamRecordArray(pResponse,marshalLiteList.call(this,tmpRequestState.UpsertedRecords,pRequest),fStageComplete);},fStageComplete=>{let tmpUpsertedCount=tmpRequestState.UpsertedRecords&&tmpRequestState.UpsertedRecords.length||0;let tmpErrorCount=tmpRequestState.ErrorRecords&&tmpRequestState.ErrorRecords.length||0;let tmpMessage=tmpErrorCount>0?`Bulk upsert complete -- ${tmpUpsertedCount} records succeeded, ${tmpErrorCount} errored`:`Bulk upsert complete -- ${tmpUpsertedCount} records processed`;this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,tmpMessage);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUpserts;},{"../read/Meadow-Marshal-LiteList.js":381,"./Meadow-Operation-Upsert.js":391}],389:[function(require,module,exports){/**
8356
+ let tmpInputCount=tmpRequestState.BulkRecords&&tmpRequestState.BulkRecords.length||0;let tmpErrorCount=tmpRequestState.ErrorRecords&&tmpRequestState.ErrorRecords.length||0;let tmpUpsertedCount=tmpRequestState.UpsertedRecords&&tmpRequestState.UpsertedRecords.length||0;try{pResponse.header('X-Meadow-Upsert-Total',String(tmpInputCount));pResponse.header('X-Meadow-Upsert-Succeeded',String(tmpUpsertedCount));pResponse.header('X-Meadow-Upsert-Errored',String(tmpErrorCount));}catch(pHdrErr){/* response.header may not exist on all servers; degrade silently */}return this.doStreamRecordArray(pResponse,marshalLiteList.call(this,tmpRequestState.UpsertedRecords,pRequest),fStageComplete);},fStageComplete=>{let tmpUpsertedCount=tmpRequestState.UpsertedRecords&&tmpRequestState.UpsertedRecords.length||0;let tmpErrorCount=tmpRequestState.ErrorRecords&&tmpRequestState.ErrorRecords.length||0;let tmpMessage=tmpErrorCount>0?`Bulk upsert complete -- ${tmpUpsertedCount} records succeeded, ${tmpErrorCount} errored`:`Bulk upsert complete -- ${tmpUpsertedCount} records processed`;this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,tmpMessage);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUpserts;},{"../read/Meadow-Marshal-LiteList.js":383,"./Meadow-Operation-Upsert.js":393}],391:[function(require,module,exports){/**
7993
8357
  * Meadow Endpoint - Upsert a set of Records, with detailed envelope response.
7994
8358
  *
7995
8359
  * Same upsert pipeline as Meadow-Endpoint-BulkUpsert.js, but the
@@ -8009,13 +8373,13 @@ let tmpInputCount=tmpRequestState.BulkRecords&&tmpRequestState.BulkRecords.lengt
8009
8373
  // caller can dispatch to either endpoint and read the same
8010
8374
  // summary surface. The body envelope adds the per-row
8011
8375
  // detail; the headers stay the structured summary.
8012
- try{pResponse.header('X-Meadow-Upsert-Total',String(tmpInputCount));pResponse.header('X-Meadow-Upsert-Succeeded',String(tmpUpsertedCount));pResponse.header('X-Meadow-Upsert-Errored',String(tmpErrorCount));}catch(pHdrErr){/* response.header may not exist on all servers; degrade silently */}let tmpEnvelope={Counts:{Total:tmpInputCount,Succeeded:tmpUpsertedCount,Errored:tmpErrorCount},UpsertedRecords:marshalLiteList.call(this,tmpRequestState.UpsertedRecords,pRequest),ErrorRecords:tmpRequestState.ErrorRecords||[]};pResponse.send(tmpEnvelope);return fStageComplete();},fStageComplete=>{let tmpUpsertedCount=tmpRequestState.UpsertedRecords&&tmpRequestState.UpsertedRecords.length||0;let tmpErrorCount=tmpRequestState.ErrorRecords&&tmpRequestState.ErrorRecords.length||0;let tmpMessage=tmpErrorCount>0?`Bulk upsert (detailed) complete -- ${tmpUpsertedCount} records succeeded, ${tmpErrorCount} errored`:`Bulk upsert (detailed) complete -- ${tmpUpsertedCount} records processed`;this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,tmpMessage);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUpsertsDetailed;},{"../read/Meadow-Marshal-LiteList.js":381,"./Meadow-Operation-Upsert.js":391}],390:[function(require,module,exports){/**
8376
+ try{pResponse.header('X-Meadow-Upsert-Total',String(tmpInputCount));pResponse.header('X-Meadow-Upsert-Succeeded',String(tmpUpsertedCount));pResponse.header('X-Meadow-Upsert-Errored',String(tmpErrorCount));}catch(pHdrErr){/* response.header may not exist on all servers; degrade silently */}let tmpEnvelope={Counts:{Total:tmpInputCount,Succeeded:tmpUpsertedCount,Errored:tmpErrorCount},UpsertedRecords:marshalLiteList.call(this,tmpRequestState.UpsertedRecords,pRequest),ErrorRecords:tmpRequestState.ErrorRecords||[]};pResponse.send(tmpEnvelope);return fStageComplete();},fStageComplete=>{let tmpUpsertedCount=tmpRequestState.UpsertedRecords&&tmpRequestState.UpsertedRecords.length||0;let tmpErrorCount=tmpRequestState.ErrorRecords&&tmpRequestState.ErrorRecords.length||0;let tmpMessage=tmpErrorCount>0?`Bulk upsert (detailed) complete -- ${tmpUpsertedCount} records succeeded, ${tmpErrorCount} errored`:`Bulk upsert (detailed) complete -- ${tmpUpsertedCount} records processed`;this.log.requestCompletedSuccessfully(pRequest,tmpRequestState,tmpMessage);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUpsertsDetailed;},{"../read/Meadow-Marshal-LiteList.js":383,"./Meadow-Operation-Upsert.js":393}],392:[function(require,module,exports){/**
8013
8377
  * Meadow Endpoint - Upsert (Insert OR Update) a Record
8014
8378
  */var doUpsert=require('./Meadow-Operation-Upsert.js');var doAPIEndpointUpsert=function(pRequest,pResponse,fNext){let tmpRequestState=this.initializeRequestState(pRequest,'Upsert');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};// Configure the request for the generic create & update operations
8015
8379
  tmpRequestState.CreatedRecords=[];tmpRequestState.UpdatedRecords=[];tmpRequestState.UpsertedRecords=[];tmpRequestState.ErrorRecords=[];this.waterfall([fStageComplete=>{//1. Validate request body to ensure it is a valid record
8016
- if(typeof pRequest.body!=='object'){return fStageComplete(this.ErrorHandler.getError('Record upsert failure - a valid record is required.',500));}tmpRequestState.RecordToUpsert=pRequest.body;return fStageComplete();},fStageComplete=>{doUpsert.call(this,tmpRequestState.RecordToUpsert,pRequest,tmpRequestState,pResponse,fStageComplete);},fStageComplete=>{if(tmpRequestState.RecordUpsertError){return fStageComplete(tmpRequestState.RecordUpsertErrorMessage);}if(tmpRequestState.UpsertedRecords.length<1){return fStageComplete(this.ErrorHandler.getError('Record upsert unknown failure - no record back from Upsert operation.',500));}tmpRequestState.Record=tmpRequestState.UpsertedRecords[0];pResponse.send(tmpRequestState.Record);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUpsert;},{"./Meadow-Operation-Upsert.js":391}],391:[function(require,module,exports){/**
8380
+ if(typeof pRequest.body!=='object'){return fStageComplete(this.ErrorHandler.getError('Record upsert failure - a valid record is required.',500));}tmpRequestState.RecordToUpsert=pRequest.body;return fStageComplete();},fStageComplete=>{doUpsert.call(this,tmpRequestState.RecordToUpsert,pRequest,tmpRequestState,pResponse,fStageComplete);},fStageComplete=>{if(tmpRequestState.RecordUpsertError){return fStageComplete(tmpRequestState.RecordUpsertErrorMessage);}if(tmpRequestState.UpsertedRecords.length<1){return fStageComplete(this.ErrorHandler.getError('Record upsert unknown failure - no record back from Upsert operation.',500));}tmpRequestState.Record=tmpRequestState.UpsertedRecords[0];pResponse.send(tmpRequestState.Record);return fStageComplete();}],pError=>{return this.ErrorHandler.handleErrorIfSet(pRequest,tmpRequestState,pResponse,pError,fNext);});};module.exports=doAPIEndpointUpsert;},{"./Meadow-Operation-Upsert.js":393}],393:[function(require,module,exports){/**
8017
8381
  * Meadow Operation - Upsert a record
8018
- */const doCreate=require('../create/Meadow-Operation-Create.js');const doUpdate=require('../update/Meadow-Operation-Update.js');const doUpsert=function(pRecordToUpsert,pRequest,pRequestState,pResponse,fCallback){let tmpRequestState=this.cloneAsyncSafeRequestState(pRequestState,'Upsert');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;// Prepare to gather requirements for upserting
8382
+ */const doCreate=require('../create/Meadow-Operation-Create.js');const doUpdate=require('../update/Meadow-Operation-Update.js');const doUpsert=function(pRecordToUpsert,pRequest,pRequestState,pResponse,fCallback){let tmpRequestState=this.cloneAsyncSafeRequestState(pRequestState,'Upsert');let fBehaviorInjector=pBehaviorHash=>{return fStageComplete=>{this.BehaviorInjection.runBehavior(pBehaviorHash,this,pRequest,tmpRequestState,fStageComplete);};};this.waterfall([fStageComplete=>{tmpRequestState.Query=this.DAL.query;this.stampSessionOverrideOnQuery(tmpRequestState);// Prepare to gather requirements for upserting
8019
8383
  tmpRequestState.Record=pRecordToUpsert;// This operation will be create only if there is no GUID or ID in the record bundle
8020
8384
  tmpRequestState.UpsertCreateOnly=true;// See if there is a default identifier or default GUIdentifier
8021
8385
  if(typeof tmpRequestState.Record[this.DAL.defaultGUIdentifier]!=='undefined'&&tmpRequestState.Record[this.DAL.defaultGUIdentifier].length>0){tmpRequestState.Query.addFilter(this.DAL.defaultGUIdentifier,tmpRequestState.Record[this.DAL.defaultGUIdentifier]);tmpRequestState.UpsertCreateOnly=false;}if(typeof tmpRequestState.Record[this.DAL.defaultIdentifier]!=='undefined'&&tmpRequestState.Record[this.DAL.defaultIdentifier]>0){tmpRequestState.Query.addFilter(this.DAL.defaultIdentifier,tmpRequestState.Record[this.DAL.defaultIdentifier]);tmpRequestState.UpsertCreateOnly=false;}return fStageComplete();},fStageComplete=>{if(tmpRequestState.UpsertCreateOnly){tmpRequestState.Operation='Create';doCreate.call(this,tmpRequestState.Record,pRequest,tmpRequestState,pResponse,fStageComplete);}else{this.DAL.doRead(tmpRequestState.Query,(pError,pQuery,pRecord)=>{if(pError){if(typeof pError=='string'){return fStageComplete(this.ErrorHandler.getError(pError,500));}else{return fStageComplete(pError);}}else if(!pRecord){// Record not found -- do a create.
@@ -8030,5 +8394,5 @@ if(tmpRequestState.Operation=='Update'){if(tmpRequestState.RecordUpdateError){re
8030
8394
  // response header. Without this push, individual upsert
8031
8395
  // failures vanish silently and the bulk response only
8032
8396
  // reflects what survived.
8033
- if(tmpRequestState.ParentRequestState&&Array.isArray(tmpRequestState.ParentRequestState.ErrorRecords)){let tmpErrorMessage=pError&&(pError.message||pError.Error)?pError.message||pError.Error:String(pError);tmpRequestState.ParentRequestState.ErrorRecords.push({Record:tmpRequestState.Record,Operation:tmpRequestState.Operation||'Unknown',Error:tmpErrorMessage});}}return fCallback();});};module.exports=doUpsert;},{"../create/Meadow-Operation-Create.js":370,"../update/Meadow-Operation-Update.js":387}]},{},[358])(358);});
8397
+ if(tmpRequestState.ParentRequestState&&Array.isArray(tmpRequestState.ParentRequestState.ErrorRecords)){let tmpErrorMessage=pError&&(pError.message||pError.Error)?pError.message||pError.Error:String(pError);tmpRequestState.ParentRequestState.ErrorRecords.push({Record:tmpRequestState.Record,Operation:tmpRequestState.Operation||'Unknown',Error:tmpErrorMessage});}}return fCallback();});};module.exports=doUpsert;},{"../create/Meadow-Operation-Create.js":372,"../update/Meadow-Operation-Update.js":389}]},{},[360])(360);});
8034
8398
  //# sourceMappingURL=meadow-endpoints.js.map