{"version":3,"sources":["webpack:///./node_modules/asn1.js/lib/asn1/base/reporter.js","webpack:///./node_modules/asn1.js/lib/asn1/api.js","webpack:///./node_modules/asn1.js/lib/asn1/constants/index.js","webpack:///./node_modules/asn1.js/lib/asn1/base/index.js","webpack:///./node_modules/asn1.js/lib/asn1/base/buffer.js","webpack:///./node_modules/asn1.js/lib/asn1.js","webpack:///./node_modules/asn1.js/lib/asn1/base/node.js","webpack:///./node_modules/asn1.js/lib/asn1/constants/der.js"],"names":["inherits","Reporter","options","this","_reporterState","obj","path","errors","ReporterError","msg","rethrow","exports","prototype","isError","save","state","pathLen","length","restore","data","slice","enterKey","key","push","exitKey","index","leaveKey","value","join","enterObject","prev","leaveObject","now","error","err","inherited","map","elem","JSON","stringify","message","stack","partial","wrapResult","result","Error","captureStackTrace","e","asn1","Entity","name","body","decoders","encoders","define","_createNamed","base","named","runInThisContext","entity","_initNamed","call","_getDecoder","enc","hasOwnProperty","decode","_getEncoder","encode","reporter","constants","_reverse","res","Object","keys","forEach","der","DecoderBuffer","EncoderBuffer","Node","Buffer","isBuffer","offset","Array","isArray","item","byteLength","isEmpty","readUInt8","fail","skip","bytes","raw","out","write","copy","bignum","assert","tags","methods","concat","parent","_baseState","children","tag","args","reverseArgs","choice","optional","any","use","useDecoder","explicit","implicit","contains","_wrap","module","stateProps","clone","cstate","prop","constructor","method","apply","arguments","_init","filter","child","equal","_useArgs","arg","def","val","num","newKey","_decode","input","prevObj","present","prevKey","_peekTag","_decodeGeneric","_decodeChoice","_decodeTag","start","track","_getUse","_decodeList","test","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","_use","match","some","node","type","_createEncoderBuffer","_encode","_encodeValue","undefined","_skipDefault","content","primitive","_encodeChoice","_encodePrimitive","cls","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","str","_isPrintstr","tagClass","0","1","2","3","tagClassByName","tagByName"],"mappings":"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","file":"vendor.asn1.js~e811fd70.256ed5be5b2f73891194.chunk.js","sourcesContent":["var inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n var state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n var state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n var state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n var state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n var state = this._reporterState;\n\n var prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n var state = this._reporterState;\n\n var now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n var err;\n var state = this._reporterState;\n\n var inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n var state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n};\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","var asn1 = require('../asn1');\nvar inherits = require('inherits');\n\nvar api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n};\n\nEntity.prototype._createNamed = function createNamed(base) {\n var named;\n try {\n named = require('vm').runInThisContext(\n '(function ' + this.name + '(entity) {\\n' +\n ' this._initNamed(entity);\\n' +\n '})'\n );\n } catch (e) {\n named = function (entity) {\n this._initNamed(entity);\n };\n }\n inherits(named, base);\n named.prototype._initNamed = function initnamed(entity) {\n base.call(this, entity);\n };\n\n return new named(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(asn1.decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(asn1.encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n","var constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n var res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n var value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = require('./der');\n","var base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\n","var inherits = require('inherits');\nvar Reporter = require('../base').Reporter;\nvar Buffer = require('buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n var res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n}\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n var res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n}\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n}\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!(item instanceof EncoderBuffer))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = new Buffer(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","var asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","var Reporter = require('../base').Reporter;\nvar EncoderBuffer = require('../base').EncoderBuffer;\nvar DecoderBuffer = require('../base').DecoderBuffer;\nvar assert = require('minimalistic-assert');\n\n// Supported tags\nvar tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nvar methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nvar overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent) {\n var state = {};\n this._baseState = state;\n\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nvar stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n var state = this._baseState;\n var cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n var res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n var state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n var clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n var state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n var state = this._baseState;\n\n // Filter children and args\n var children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n var res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n var value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n var state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n var state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n var state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n var state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n var state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n var state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n var state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n var state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n var result = state['default'];\n var present = true;\n\n var prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n var tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n var save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n var prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n var explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n var start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n if (state.any)\n var save = input.save();\n var body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any)\n result = result;\n else if (state.choice === null)\n result = this._decodeGeneric(state.tag, input, options);\n else\n result = this._decodeChoice(input, options);\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n var data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n var state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n var state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n var state = this._baseState;\n var result = null;\n var match = false;\n\n Object.keys(state.choice).some(function(key) {\n var save = input.save();\n var node = state.choice[key];\n try {\n var value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n var state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n var result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n var result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default']\n else\n return;\n }\n\n // Encode children first\n var content = null;\n var primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n var prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n var res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n var child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n var state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n var result;\n if (!state.any && state.choice === null) {\n var tag = state.implicit !== null ? state.implicit : state.tag;\n var cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n var state = this._baseState;\n\n var node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n var state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(str);\n};\n","var constants = require('../constants');\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = constants._reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = constants._reverse(exports.tag);\n"],"sourceRoot":""}