snyk 1.1155.0 → 1.1156.0

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.
@@ -1,5 +1,5 @@
1
- exports.id = 38;
2
- exports.ids = [38];
1
+ exports.id = 674;
2
+ exports.ids = [674];
3
3
  exports.modules = {
4
4
 
5
5
  /***/ 18971:
@@ -4116,6 +4116,4073 @@ exports.overwrite = function (received, defaults, onto = {}) {
4116
4116
  return onto;
4117
4117
  };
4118
4118
 
4119
+ /***/ }),
4120
+
4121
+ /***/ 35424:
4122
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4123
+
4124
+ var parser = __webpack_require__(68311);
4125
+ var compiler = __webpack_require__(75133);
4126
+
4127
+ module.exports = {
4128
+ parse: function(input) {
4129
+ var nodes = parser.parse(input.toString());
4130
+ return compiler.compile(nodes);
4131
+ }
4132
+ };
4133
+
4134
+
4135
+ /***/ }),
4136
+
4137
+ /***/ 75133:
4138
+ /***/ ((module) => {
4139
+
4140
+ "use strict";
4141
+
4142
+ function compile(nodes) {
4143
+ var assignedPaths = [];
4144
+ var valueAssignments = [];
4145
+ var currentPath = "";
4146
+ var data = Object.create(null);
4147
+ var context = data;
4148
+ var arrayMode = false;
4149
+
4150
+ return reduce(nodes);
4151
+
4152
+ function reduce(nodes) {
4153
+ var node;
4154
+ for (var i = 0; i < nodes.length; i++) {
4155
+ node = nodes[i];
4156
+ switch (node.type) {
4157
+ case "Assign":
4158
+ assign(node);
4159
+ break;
4160
+ case "ObjectPath":
4161
+ setPath(node);
4162
+ break;
4163
+ case "ArrayPath":
4164
+ addTableArray(node);
4165
+ break;
4166
+ }
4167
+ }
4168
+
4169
+ return data;
4170
+ }
4171
+
4172
+ function genError(err, line, col) {
4173
+ var ex = new Error(err);
4174
+ ex.line = line;
4175
+ ex.column = col;
4176
+ throw ex;
4177
+ }
4178
+
4179
+ function assign(node) {
4180
+ var key = node.key;
4181
+ var value = node.value;
4182
+ var line = node.line;
4183
+ var column = node.column;
4184
+
4185
+ var fullPath;
4186
+ if (currentPath) {
4187
+ fullPath = currentPath + "." + key;
4188
+ } else {
4189
+ fullPath = key;
4190
+ }
4191
+ if (typeof context[key] !== "undefined") {
4192
+ genError("Cannot redefine existing key '" + fullPath + "'.", line, column);
4193
+ }
4194
+
4195
+ context[key] = reduceValueNode(value);
4196
+
4197
+ if (!pathAssigned(fullPath)) {
4198
+ assignedPaths.push(fullPath);
4199
+ valueAssignments.push(fullPath);
4200
+ }
4201
+ }
4202
+
4203
+
4204
+ function pathAssigned(path) {
4205
+ return assignedPaths.indexOf(path) !== -1;
4206
+ }
4207
+
4208
+ function reduceValueNode(node) {
4209
+ if (node.type === "Array") {
4210
+ return reduceArrayWithTypeChecking(node.value);
4211
+ } else if (node.type === "InlineTable") {
4212
+ return reduceInlineTableNode(node.value);
4213
+ } else {
4214
+ return node.value;
4215
+ }
4216
+ }
4217
+
4218
+ function reduceInlineTableNode(values) {
4219
+ var obj = Object.create(null);
4220
+ for (var i = 0; i < values.length; i++) {
4221
+ var val = values[i];
4222
+ if (val.value.type === "InlineTable") {
4223
+ obj[val.key] = reduceInlineTableNode(val.value.value);
4224
+ } else if (val.type === "InlineTableValue") {
4225
+ obj[val.key] = reduceValueNode(val.value);
4226
+ }
4227
+ }
4228
+
4229
+ return obj;
4230
+ }
4231
+
4232
+ function setPath(node) {
4233
+ var path = node.value;
4234
+ var quotedPath = path.map(quoteDottedString).join(".");
4235
+ var line = node.line;
4236
+ var column = node.column;
4237
+
4238
+ if (pathAssigned(quotedPath)) {
4239
+ genError("Cannot redefine existing key '" + path + "'.", line, column);
4240
+ }
4241
+ assignedPaths.push(quotedPath);
4242
+ context = deepRef(data, path, Object.create(null), line, column);
4243
+ currentPath = path;
4244
+ }
4245
+
4246
+ function addTableArray(node) {
4247
+ var path = node.value;
4248
+ var quotedPath = path.map(quoteDottedString).join(".");
4249
+ var line = node.line;
4250
+ var column = node.column;
4251
+
4252
+ if (!pathAssigned(quotedPath)) {
4253
+ assignedPaths.push(quotedPath);
4254
+ }
4255
+ assignedPaths = assignedPaths.filter(function(p) {
4256
+ return p.indexOf(quotedPath) !== 0;
4257
+ });
4258
+ assignedPaths.push(quotedPath);
4259
+ context = deepRef(data, path, [], line, column);
4260
+ currentPath = quotedPath;
4261
+
4262
+ if (context instanceof Array) {
4263
+ var newObj = Object.create(null);
4264
+ context.push(newObj);
4265
+ context = newObj;
4266
+ } else {
4267
+ genError("Cannot redefine existing key '" + path + "'.", line, column);
4268
+ }
4269
+ }
4270
+
4271
+ // Given a path 'a.b.c', create (as necessary) `start.a`,
4272
+ // `start.a.b`, and `start.a.b.c`, assigning `value` to `start.a.b.c`.
4273
+ // If `a` or `b` are arrays and have items in them, the last item in the
4274
+ // array is used as the context for the next sub-path.
4275
+ function deepRef(start, keys, value, line, column) {
4276
+ var traversed = [];
4277
+ var traversedPath = "";
4278
+ var path = keys.join(".");
4279
+ var ctx = start;
4280
+
4281
+ for (var i = 0; i < keys.length; i++) {
4282
+ var key = keys[i];
4283
+ traversed.push(key);
4284
+ traversedPath = traversed.join(".");
4285
+ if (typeof ctx[key] === "undefined") {
4286
+ if (i === keys.length - 1) {
4287
+ ctx[key] = value;
4288
+ } else {
4289
+ ctx[key] = Object.create(null);
4290
+ }
4291
+ } else if (i !== keys.length - 1 && valueAssignments.indexOf(traversedPath) > -1) {
4292
+ // already a non-object value at key, can't be used as part of a new path
4293
+ genError("Cannot redefine existing key '" + traversedPath + "'.", line, column);
4294
+ }
4295
+
4296
+ ctx = ctx[key];
4297
+ if (ctx instanceof Array && ctx.length && i < keys.length - 1) {
4298
+ ctx = ctx[ctx.length - 1];
4299
+ }
4300
+ }
4301
+
4302
+ return ctx;
4303
+ }
4304
+
4305
+ function reduceArrayWithTypeChecking(array) {
4306
+ // Ensure that all items in the array are of the same type
4307
+ var firstType = null;
4308
+ for (var i = 0; i < array.length; i++) {
4309
+ var node = array[i];
4310
+ if (firstType === null) {
4311
+ firstType = node.type;
4312
+ } else {
4313
+ if (node.type !== firstType) {
4314
+ genError("Cannot add value of type " + node.type + " to array of type " +
4315
+ firstType + ".", node.line, node.column);
4316
+ }
4317
+ }
4318
+ }
4319
+
4320
+ // Recursively reduce array of nodes into array of the nodes' values
4321
+ return array.map(reduceValueNode);
4322
+ }
4323
+
4324
+ function quoteDottedString(str) {
4325
+ if (str.indexOf(".") > -1) {
4326
+ return "\"" + str + "\"";
4327
+ } else {
4328
+ return str;
4329
+ }
4330
+ }
4331
+ }
4332
+
4333
+ module.exports = {
4334
+ compile: compile
4335
+ };
4336
+
4337
+
4338
+ /***/ }),
4339
+
4340
+ /***/ 68311:
4341
+ /***/ ((module) => {
4342
+
4343
+ module.exports = (function() {
4344
+ /*
4345
+ * Generated by PEG.js 0.8.0.
4346
+ *
4347
+ * http://pegjs.majda.cz/
4348
+ */
4349
+
4350
+ function peg$subclass(child, parent) {
4351
+ function ctor() { this.constructor = child; }
4352
+ ctor.prototype = parent.prototype;
4353
+ child.prototype = new ctor();
4354
+ }
4355
+
4356
+ function SyntaxError(message, expected, found, offset, line, column) {
4357
+ this.message = message;
4358
+ this.expected = expected;
4359
+ this.found = found;
4360
+ this.offset = offset;
4361
+ this.line = line;
4362
+ this.column = column;
4363
+
4364
+ this.name = "SyntaxError";
4365
+ }
4366
+
4367
+ peg$subclass(SyntaxError, Error);
4368
+
4369
+ function parse(input) {
4370
+ var options = arguments.length > 1 ? arguments[1] : {},
4371
+
4372
+ peg$FAILED = {},
4373
+
4374
+ peg$startRuleFunctions = { start: peg$parsestart },
4375
+ peg$startRuleFunction = peg$parsestart,
4376
+
4377
+ peg$c0 = [],
4378
+ peg$c1 = function() { return nodes },
4379
+ peg$c2 = peg$FAILED,
4380
+ peg$c3 = "#",
4381
+ peg$c4 = { type: "literal", value: "#", description: "\"#\"" },
4382
+ peg$c5 = void 0,
4383
+ peg$c6 = { type: "any", description: "any character" },
4384
+ peg$c7 = "[",
4385
+ peg$c8 = { type: "literal", value: "[", description: "\"[\"" },
4386
+ peg$c9 = "]",
4387
+ peg$c10 = { type: "literal", value: "]", description: "\"]\"" },
4388
+ peg$c11 = function(name) { addNode(node('ObjectPath', name, line, column)) },
4389
+ peg$c12 = function(name) { addNode(node('ArrayPath', name, line, column)) },
4390
+ peg$c13 = function(parts, name) { return parts.concat(name) },
4391
+ peg$c14 = function(name) { return [name] },
4392
+ peg$c15 = function(name) { return name },
4393
+ peg$c16 = ".",
4394
+ peg$c17 = { type: "literal", value: ".", description: "\".\"" },
4395
+ peg$c18 = "=",
4396
+ peg$c19 = { type: "literal", value: "=", description: "\"=\"" },
4397
+ peg$c20 = function(key, value) { addNode(node('Assign', value, line, column, key)) },
4398
+ peg$c21 = function(chars) { return chars.join('') },
4399
+ peg$c22 = function(node) { return node.value },
4400
+ peg$c23 = "\"\"\"",
4401
+ peg$c24 = { type: "literal", value: "\"\"\"", description: "\"\\\"\\\"\\\"\"" },
4402
+ peg$c25 = null,
4403
+ peg$c26 = function(chars) { return node('String', chars.join(''), line, column) },
4404
+ peg$c27 = "\"",
4405
+ peg$c28 = { type: "literal", value: "\"", description: "\"\\\"\"" },
4406
+ peg$c29 = "'''",
4407
+ peg$c30 = { type: "literal", value: "'''", description: "\"'''\"" },
4408
+ peg$c31 = "'",
4409
+ peg$c32 = { type: "literal", value: "'", description: "\"'\"" },
4410
+ peg$c33 = function(char) { return char },
4411
+ peg$c34 = function(char) { return char},
4412
+ peg$c35 = "\\",
4413
+ peg$c36 = { type: "literal", value: "\\", description: "\"\\\\\"" },
4414
+ peg$c37 = function() { return '' },
4415
+ peg$c38 = "e",
4416
+ peg$c39 = { type: "literal", value: "e", description: "\"e\"" },
4417
+ peg$c40 = "E",
4418
+ peg$c41 = { type: "literal", value: "E", description: "\"E\"" },
4419
+ peg$c42 = function(left, right) { return node('Float', parseFloat(left + 'e' + right), line, column) },
4420
+ peg$c43 = function(text) { return node('Float', parseFloat(text), line, column) },
4421
+ peg$c44 = "+",
4422
+ peg$c45 = { type: "literal", value: "+", description: "\"+\"" },
4423
+ peg$c46 = function(digits) { return digits.join('') },
4424
+ peg$c47 = "-",
4425
+ peg$c48 = { type: "literal", value: "-", description: "\"-\"" },
4426
+ peg$c49 = function(digits) { return '-' + digits.join('') },
4427
+ peg$c50 = function(text) { return node('Integer', parseInt(text, 10), line, column) },
4428
+ peg$c51 = "true",
4429
+ peg$c52 = { type: "literal", value: "true", description: "\"true\"" },
4430
+ peg$c53 = function() { return node('Boolean', true, line, column) },
4431
+ peg$c54 = "false",
4432
+ peg$c55 = { type: "literal", value: "false", description: "\"false\"" },
4433
+ peg$c56 = function() { return node('Boolean', false, line, column) },
4434
+ peg$c57 = function() { return node('Array', [], line, column) },
4435
+ peg$c58 = function(value) { return node('Array', value ? [value] : [], line, column) },
4436
+ peg$c59 = function(values) { return node('Array', values, line, column) },
4437
+ peg$c60 = function(values, value) { return node('Array', values.concat(value), line, column) },
4438
+ peg$c61 = function(value) { return value },
4439
+ peg$c62 = ",",
4440
+ peg$c63 = { type: "literal", value: ",", description: "\",\"" },
4441
+ peg$c64 = "{",
4442
+ peg$c65 = { type: "literal", value: "{", description: "\"{\"" },
4443
+ peg$c66 = "}",
4444
+ peg$c67 = { type: "literal", value: "}", description: "\"}\"" },
4445
+ peg$c68 = function(values) { return node('InlineTable', values, line, column) },
4446
+ peg$c69 = function(key, value) { return node('InlineTableValue', value, line, column, key) },
4447
+ peg$c70 = function(digits) { return "." + digits },
4448
+ peg$c71 = function(date) { return date.join('') },
4449
+ peg$c72 = ":",
4450
+ peg$c73 = { type: "literal", value: ":", description: "\":\"" },
4451
+ peg$c74 = function(time) { return time.join('') },
4452
+ peg$c75 = "T",
4453
+ peg$c76 = { type: "literal", value: "T", description: "\"T\"" },
4454
+ peg$c77 = "Z",
4455
+ peg$c78 = { type: "literal", value: "Z", description: "\"Z\"" },
4456
+ peg$c79 = function(date, time) { return node('Date', new Date(date + "T" + time + "Z"), line, column) },
4457
+ peg$c80 = function(date, time) { return node('Date', new Date(date + "T" + time), line, column) },
4458
+ peg$c81 = /^[ \t]/,
4459
+ peg$c82 = { type: "class", value: "[ \\t]", description: "[ \\t]" },
4460
+ peg$c83 = "\n",
4461
+ peg$c84 = { type: "literal", value: "\n", description: "\"\\n\"" },
4462
+ peg$c85 = "\r",
4463
+ peg$c86 = { type: "literal", value: "\r", description: "\"\\r\"" },
4464
+ peg$c87 = /^[0-9a-f]/i,
4465
+ peg$c88 = { type: "class", value: "[0-9a-f]i", description: "[0-9a-f]i" },
4466
+ peg$c89 = /^[0-9]/,
4467
+ peg$c90 = { type: "class", value: "[0-9]", description: "[0-9]" },
4468
+ peg$c91 = "_",
4469
+ peg$c92 = { type: "literal", value: "_", description: "\"_\"" },
4470
+ peg$c93 = function() { return "" },
4471
+ peg$c94 = /^[A-Za-z0-9_\-]/,
4472
+ peg$c95 = { type: "class", value: "[A-Za-z0-9_\\-]", description: "[A-Za-z0-9_\\-]" },
4473
+ peg$c96 = function(d) { return d.join('') },
4474
+ peg$c97 = "\\\"",
4475
+ peg$c98 = { type: "literal", value: "\\\"", description: "\"\\\\\\\"\"" },
4476
+ peg$c99 = function() { return '"' },
4477
+ peg$c100 = "\\\\",
4478
+ peg$c101 = { type: "literal", value: "\\\\", description: "\"\\\\\\\\\"" },
4479
+ peg$c102 = function() { return '\\' },
4480
+ peg$c103 = "\\b",
4481
+ peg$c104 = { type: "literal", value: "\\b", description: "\"\\\\b\"" },
4482
+ peg$c105 = function() { return '\b' },
4483
+ peg$c106 = "\\t",
4484
+ peg$c107 = { type: "literal", value: "\\t", description: "\"\\\\t\"" },
4485
+ peg$c108 = function() { return '\t' },
4486
+ peg$c109 = "\\n",
4487
+ peg$c110 = { type: "literal", value: "\\n", description: "\"\\\\n\"" },
4488
+ peg$c111 = function() { return '\n' },
4489
+ peg$c112 = "\\f",
4490
+ peg$c113 = { type: "literal", value: "\\f", description: "\"\\\\f\"" },
4491
+ peg$c114 = function() { return '\f' },
4492
+ peg$c115 = "\\r",
4493
+ peg$c116 = { type: "literal", value: "\\r", description: "\"\\\\r\"" },
4494
+ peg$c117 = function() { return '\r' },
4495
+ peg$c118 = "\\U",
4496
+ peg$c119 = { type: "literal", value: "\\U", description: "\"\\\\U\"" },
4497
+ peg$c120 = function(digits) { return convertCodePoint(digits.join('')) },
4498
+ peg$c121 = "\\u",
4499
+ peg$c122 = { type: "literal", value: "\\u", description: "\"\\\\u\"" },
4500
+
4501
+ peg$currPos = 0,
4502
+ peg$reportedPos = 0,
4503
+ peg$cachedPos = 0,
4504
+ peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },
4505
+ peg$maxFailPos = 0,
4506
+ peg$maxFailExpected = [],
4507
+ peg$silentFails = 0,
4508
+
4509
+ peg$cache = {},
4510
+ peg$result;
4511
+
4512
+ if ("startRule" in options) {
4513
+ if (!(options.startRule in peg$startRuleFunctions)) {
4514
+ throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
4515
+ }
4516
+
4517
+ peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
4518
+ }
4519
+
4520
+ function text() {
4521
+ return input.substring(peg$reportedPos, peg$currPos);
4522
+ }
4523
+
4524
+ function offset() {
4525
+ return peg$reportedPos;
4526
+ }
4527
+
4528
+ function line() {
4529
+ return peg$computePosDetails(peg$reportedPos).line;
4530
+ }
4531
+
4532
+ function column() {
4533
+ return peg$computePosDetails(peg$reportedPos).column;
4534
+ }
4535
+
4536
+ function expected(description) {
4537
+ throw peg$buildException(
4538
+ null,
4539
+ [{ type: "other", description: description }],
4540
+ peg$reportedPos
4541
+ );
4542
+ }
4543
+
4544
+ function error(message) {
4545
+ throw peg$buildException(message, null, peg$reportedPos);
4546
+ }
4547
+
4548
+ function peg$computePosDetails(pos) {
4549
+ function advance(details, startPos, endPos) {
4550
+ var p, ch;
4551
+
4552
+ for (p = startPos; p < endPos; p++) {
4553
+ ch = input.charAt(p);
4554
+ if (ch === "\n") {
4555
+ if (!details.seenCR) { details.line++; }
4556
+ details.column = 1;
4557
+ details.seenCR = false;
4558
+ } else if (ch === "\r" || ch === "\u2028" || ch === "\u2029") {
4559
+ details.line++;
4560
+ details.column = 1;
4561
+ details.seenCR = true;
4562
+ } else {
4563
+ details.column++;
4564
+ details.seenCR = false;
4565
+ }
4566
+ }
4567
+ }
4568
+
4569
+ if (peg$cachedPos !== pos) {
4570
+ if (peg$cachedPos > pos) {
4571
+ peg$cachedPos = 0;
4572
+ peg$cachedPosDetails = { line: 1, column: 1, seenCR: false };
4573
+ }
4574
+ advance(peg$cachedPosDetails, peg$cachedPos, pos);
4575
+ peg$cachedPos = pos;
4576
+ }
4577
+
4578
+ return peg$cachedPosDetails;
4579
+ }
4580
+
4581
+ function peg$fail(expected) {
4582
+ if (peg$currPos < peg$maxFailPos) { return; }
4583
+
4584
+ if (peg$currPos > peg$maxFailPos) {
4585
+ peg$maxFailPos = peg$currPos;
4586
+ peg$maxFailExpected = [];
4587
+ }
4588
+
4589
+ peg$maxFailExpected.push(expected);
4590
+ }
4591
+
4592
+ function peg$buildException(message, expected, pos) {
4593
+ function cleanupExpected(expected) {
4594
+ var i = 1;
4595
+
4596
+ expected.sort(function(a, b) {
4597
+ if (a.description < b.description) {
4598
+ return -1;
4599
+ } else if (a.description > b.description) {
4600
+ return 1;
4601
+ } else {
4602
+ return 0;
4603
+ }
4604
+ });
4605
+
4606
+ while (i < expected.length) {
4607
+ if (expected[i - 1] === expected[i]) {
4608
+ expected.splice(i, 1);
4609
+ } else {
4610
+ i++;
4611
+ }
4612
+ }
4613
+ }
4614
+
4615
+ function buildMessage(expected, found) {
4616
+ function stringEscape(s) {
4617
+ function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); }
4618
+
4619
+ return s
4620
+ .replace(/\\/g, '\\\\')
4621
+ .replace(/"/g, '\\"')
4622
+ .replace(/\x08/g, '\\b')
4623
+ .replace(/\t/g, '\\t')
4624
+ .replace(/\n/g, '\\n')
4625
+ .replace(/\f/g, '\\f')
4626
+ .replace(/\r/g, '\\r')
4627
+ .replace(/[\x00-\x07\x0B\x0E\x0F]/g, function(ch) { return '\\x0' + hex(ch); })
4628
+ .replace(/[\x10-\x1F\x80-\xFF]/g, function(ch) { return '\\x' + hex(ch); })
4629
+ .replace(/[\u0180-\u0FFF]/g, function(ch) { return '\\u0' + hex(ch); })
4630
+ .replace(/[\u1080-\uFFFF]/g, function(ch) { return '\\u' + hex(ch); });
4631
+ }
4632
+
4633
+ var expectedDescs = new Array(expected.length),
4634
+ expectedDesc, foundDesc, i;
4635
+
4636
+ for (i = 0; i < expected.length; i++) {
4637
+ expectedDescs[i] = expected[i].description;
4638
+ }
4639
+
4640
+ expectedDesc = expected.length > 1
4641
+ ? expectedDescs.slice(0, -1).join(", ")
4642
+ + " or "
4643
+ + expectedDescs[expected.length - 1]
4644
+ : expectedDescs[0];
4645
+
4646
+ foundDesc = found ? "\"" + stringEscape(found) + "\"" : "end of input";
4647
+
4648
+ return "Expected " + expectedDesc + " but " + foundDesc + " found.";
4649
+ }
4650
+
4651
+ var posDetails = peg$computePosDetails(pos),
4652
+ found = pos < input.length ? input.charAt(pos) : null;
4653
+
4654
+ if (expected !== null) {
4655
+ cleanupExpected(expected);
4656
+ }
4657
+
4658
+ return new SyntaxError(
4659
+ message !== null ? message : buildMessage(expected, found),
4660
+ expected,
4661
+ found,
4662
+ pos,
4663
+ posDetails.line,
4664
+ posDetails.column
4665
+ );
4666
+ }
4667
+
4668
+ function peg$parsestart() {
4669
+ var s0, s1, s2;
4670
+
4671
+ var key = peg$currPos * 49 + 0,
4672
+ cached = peg$cache[key];
4673
+
4674
+ if (cached) {
4675
+ peg$currPos = cached.nextPos;
4676
+ return cached.result;
4677
+ }
4678
+
4679
+ s0 = peg$currPos;
4680
+ s1 = [];
4681
+ s2 = peg$parseline();
4682
+ while (s2 !== peg$FAILED) {
4683
+ s1.push(s2);
4684
+ s2 = peg$parseline();
4685
+ }
4686
+ if (s1 !== peg$FAILED) {
4687
+ peg$reportedPos = s0;
4688
+ s1 = peg$c1();
4689
+ }
4690
+ s0 = s1;
4691
+
4692
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
4693
+
4694
+ return s0;
4695
+ }
4696
+
4697
+ function peg$parseline() {
4698
+ var s0, s1, s2, s3, s4, s5, s6;
4699
+
4700
+ var key = peg$currPos * 49 + 1,
4701
+ cached = peg$cache[key];
4702
+
4703
+ if (cached) {
4704
+ peg$currPos = cached.nextPos;
4705
+ return cached.result;
4706
+ }
4707
+
4708
+ s0 = peg$currPos;
4709
+ s1 = [];
4710
+ s2 = peg$parseS();
4711
+ while (s2 !== peg$FAILED) {
4712
+ s1.push(s2);
4713
+ s2 = peg$parseS();
4714
+ }
4715
+ if (s1 !== peg$FAILED) {
4716
+ s2 = peg$parseexpression();
4717
+ if (s2 !== peg$FAILED) {
4718
+ s3 = [];
4719
+ s4 = peg$parseS();
4720
+ while (s4 !== peg$FAILED) {
4721
+ s3.push(s4);
4722
+ s4 = peg$parseS();
4723
+ }
4724
+ if (s3 !== peg$FAILED) {
4725
+ s4 = [];
4726
+ s5 = peg$parsecomment();
4727
+ while (s5 !== peg$FAILED) {
4728
+ s4.push(s5);
4729
+ s5 = peg$parsecomment();
4730
+ }
4731
+ if (s4 !== peg$FAILED) {
4732
+ s5 = [];
4733
+ s6 = peg$parseNL();
4734
+ if (s6 !== peg$FAILED) {
4735
+ while (s6 !== peg$FAILED) {
4736
+ s5.push(s6);
4737
+ s6 = peg$parseNL();
4738
+ }
4739
+ } else {
4740
+ s5 = peg$c2;
4741
+ }
4742
+ if (s5 === peg$FAILED) {
4743
+ s5 = peg$parseEOF();
4744
+ }
4745
+ if (s5 !== peg$FAILED) {
4746
+ s1 = [s1, s2, s3, s4, s5];
4747
+ s0 = s1;
4748
+ } else {
4749
+ peg$currPos = s0;
4750
+ s0 = peg$c2;
4751
+ }
4752
+ } else {
4753
+ peg$currPos = s0;
4754
+ s0 = peg$c2;
4755
+ }
4756
+ } else {
4757
+ peg$currPos = s0;
4758
+ s0 = peg$c2;
4759
+ }
4760
+ } else {
4761
+ peg$currPos = s0;
4762
+ s0 = peg$c2;
4763
+ }
4764
+ } else {
4765
+ peg$currPos = s0;
4766
+ s0 = peg$c2;
4767
+ }
4768
+ if (s0 === peg$FAILED) {
4769
+ s0 = peg$currPos;
4770
+ s1 = [];
4771
+ s2 = peg$parseS();
4772
+ if (s2 !== peg$FAILED) {
4773
+ while (s2 !== peg$FAILED) {
4774
+ s1.push(s2);
4775
+ s2 = peg$parseS();
4776
+ }
4777
+ } else {
4778
+ s1 = peg$c2;
4779
+ }
4780
+ if (s1 !== peg$FAILED) {
4781
+ s2 = [];
4782
+ s3 = peg$parseNL();
4783
+ if (s3 !== peg$FAILED) {
4784
+ while (s3 !== peg$FAILED) {
4785
+ s2.push(s3);
4786
+ s3 = peg$parseNL();
4787
+ }
4788
+ } else {
4789
+ s2 = peg$c2;
4790
+ }
4791
+ if (s2 === peg$FAILED) {
4792
+ s2 = peg$parseEOF();
4793
+ }
4794
+ if (s2 !== peg$FAILED) {
4795
+ s1 = [s1, s2];
4796
+ s0 = s1;
4797
+ } else {
4798
+ peg$currPos = s0;
4799
+ s0 = peg$c2;
4800
+ }
4801
+ } else {
4802
+ peg$currPos = s0;
4803
+ s0 = peg$c2;
4804
+ }
4805
+ if (s0 === peg$FAILED) {
4806
+ s0 = peg$parseNL();
4807
+ }
4808
+ }
4809
+
4810
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
4811
+
4812
+ return s0;
4813
+ }
4814
+
4815
+ function peg$parseexpression() {
4816
+ var s0;
4817
+
4818
+ var key = peg$currPos * 49 + 2,
4819
+ cached = peg$cache[key];
4820
+
4821
+ if (cached) {
4822
+ peg$currPos = cached.nextPos;
4823
+ return cached.result;
4824
+ }
4825
+
4826
+ s0 = peg$parsecomment();
4827
+ if (s0 === peg$FAILED) {
4828
+ s0 = peg$parsepath();
4829
+ if (s0 === peg$FAILED) {
4830
+ s0 = peg$parsetablearray();
4831
+ if (s0 === peg$FAILED) {
4832
+ s0 = peg$parseassignment();
4833
+ }
4834
+ }
4835
+ }
4836
+
4837
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
4838
+
4839
+ return s0;
4840
+ }
4841
+
4842
+ function peg$parsecomment() {
4843
+ var s0, s1, s2, s3, s4, s5;
4844
+
4845
+ var key = peg$currPos * 49 + 3,
4846
+ cached = peg$cache[key];
4847
+
4848
+ if (cached) {
4849
+ peg$currPos = cached.nextPos;
4850
+ return cached.result;
4851
+ }
4852
+
4853
+ s0 = peg$currPos;
4854
+ if (input.charCodeAt(peg$currPos) === 35) {
4855
+ s1 = peg$c3;
4856
+ peg$currPos++;
4857
+ } else {
4858
+ s1 = peg$FAILED;
4859
+ if (peg$silentFails === 0) { peg$fail(peg$c4); }
4860
+ }
4861
+ if (s1 !== peg$FAILED) {
4862
+ s2 = [];
4863
+ s3 = peg$currPos;
4864
+ s4 = peg$currPos;
4865
+ peg$silentFails++;
4866
+ s5 = peg$parseNL();
4867
+ if (s5 === peg$FAILED) {
4868
+ s5 = peg$parseEOF();
4869
+ }
4870
+ peg$silentFails--;
4871
+ if (s5 === peg$FAILED) {
4872
+ s4 = peg$c5;
4873
+ } else {
4874
+ peg$currPos = s4;
4875
+ s4 = peg$c2;
4876
+ }
4877
+ if (s4 !== peg$FAILED) {
4878
+ if (input.length > peg$currPos) {
4879
+ s5 = input.charAt(peg$currPos);
4880
+ peg$currPos++;
4881
+ } else {
4882
+ s5 = peg$FAILED;
4883
+ if (peg$silentFails === 0) { peg$fail(peg$c6); }
4884
+ }
4885
+ if (s5 !== peg$FAILED) {
4886
+ s4 = [s4, s5];
4887
+ s3 = s4;
4888
+ } else {
4889
+ peg$currPos = s3;
4890
+ s3 = peg$c2;
4891
+ }
4892
+ } else {
4893
+ peg$currPos = s3;
4894
+ s3 = peg$c2;
4895
+ }
4896
+ while (s3 !== peg$FAILED) {
4897
+ s2.push(s3);
4898
+ s3 = peg$currPos;
4899
+ s4 = peg$currPos;
4900
+ peg$silentFails++;
4901
+ s5 = peg$parseNL();
4902
+ if (s5 === peg$FAILED) {
4903
+ s5 = peg$parseEOF();
4904
+ }
4905
+ peg$silentFails--;
4906
+ if (s5 === peg$FAILED) {
4907
+ s4 = peg$c5;
4908
+ } else {
4909
+ peg$currPos = s4;
4910
+ s4 = peg$c2;
4911
+ }
4912
+ if (s4 !== peg$FAILED) {
4913
+ if (input.length > peg$currPos) {
4914
+ s5 = input.charAt(peg$currPos);
4915
+ peg$currPos++;
4916
+ } else {
4917
+ s5 = peg$FAILED;
4918
+ if (peg$silentFails === 0) { peg$fail(peg$c6); }
4919
+ }
4920
+ if (s5 !== peg$FAILED) {
4921
+ s4 = [s4, s5];
4922
+ s3 = s4;
4923
+ } else {
4924
+ peg$currPos = s3;
4925
+ s3 = peg$c2;
4926
+ }
4927
+ } else {
4928
+ peg$currPos = s3;
4929
+ s3 = peg$c2;
4930
+ }
4931
+ }
4932
+ if (s2 !== peg$FAILED) {
4933
+ s1 = [s1, s2];
4934
+ s0 = s1;
4935
+ } else {
4936
+ peg$currPos = s0;
4937
+ s0 = peg$c2;
4938
+ }
4939
+ } else {
4940
+ peg$currPos = s0;
4941
+ s0 = peg$c2;
4942
+ }
4943
+
4944
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
4945
+
4946
+ return s0;
4947
+ }
4948
+
4949
+ function peg$parsepath() {
4950
+ var s0, s1, s2, s3, s4, s5;
4951
+
4952
+ var key = peg$currPos * 49 + 4,
4953
+ cached = peg$cache[key];
4954
+
4955
+ if (cached) {
4956
+ peg$currPos = cached.nextPos;
4957
+ return cached.result;
4958
+ }
4959
+
4960
+ s0 = peg$currPos;
4961
+ if (input.charCodeAt(peg$currPos) === 91) {
4962
+ s1 = peg$c7;
4963
+ peg$currPos++;
4964
+ } else {
4965
+ s1 = peg$FAILED;
4966
+ if (peg$silentFails === 0) { peg$fail(peg$c8); }
4967
+ }
4968
+ if (s1 !== peg$FAILED) {
4969
+ s2 = [];
4970
+ s3 = peg$parseS();
4971
+ while (s3 !== peg$FAILED) {
4972
+ s2.push(s3);
4973
+ s3 = peg$parseS();
4974
+ }
4975
+ if (s2 !== peg$FAILED) {
4976
+ s3 = peg$parsetable_key();
4977
+ if (s3 !== peg$FAILED) {
4978
+ s4 = [];
4979
+ s5 = peg$parseS();
4980
+ while (s5 !== peg$FAILED) {
4981
+ s4.push(s5);
4982
+ s5 = peg$parseS();
4983
+ }
4984
+ if (s4 !== peg$FAILED) {
4985
+ if (input.charCodeAt(peg$currPos) === 93) {
4986
+ s5 = peg$c9;
4987
+ peg$currPos++;
4988
+ } else {
4989
+ s5 = peg$FAILED;
4990
+ if (peg$silentFails === 0) { peg$fail(peg$c10); }
4991
+ }
4992
+ if (s5 !== peg$FAILED) {
4993
+ peg$reportedPos = s0;
4994
+ s1 = peg$c11(s3);
4995
+ s0 = s1;
4996
+ } else {
4997
+ peg$currPos = s0;
4998
+ s0 = peg$c2;
4999
+ }
5000
+ } else {
5001
+ peg$currPos = s0;
5002
+ s0 = peg$c2;
5003
+ }
5004
+ } else {
5005
+ peg$currPos = s0;
5006
+ s0 = peg$c2;
5007
+ }
5008
+ } else {
5009
+ peg$currPos = s0;
5010
+ s0 = peg$c2;
5011
+ }
5012
+ } else {
5013
+ peg$currPos = s0;
5014
+ s0 = peg$c2;
5015
+ }
5016
+
5017
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5018
+
5019
+ return s0;
5020
+ }
5021
+
5022
+ function peg$parsetablearray() {
5023
+ var s0, s1, s2, s3, s4, s5, s6, s7;
5024
+
5025
+ var key = peg$currPos * 49 + 5,
5026
+ cached = peg$cache[key];
5027
+
5028
+ if (cached) {
5029
+ peg$currPos = cached.nextPos;
5030
+ return cached.result;
5031
+ }
5032
+
5033
+ s0 = peg$currPos;
5034
+ if (input.charCodeAt(peg$currPos) === 91) {
5035
+ s1 = peg$c7;
5036
+ peg$currPos++;
5037
+ } else {
5038
+ s1 = peg$FAILED;
5039
+ if (peg$silentFails === 0) { peg$fail(peg$c8); }
5040
+ }
5041
+ if (s1 !== peg$FAILED) {
5042
+ if (input.charCodeAt(peg$currPos) === 91) {
5043
+ s2 = peg$c7;
5044
+ peg$currPos++;
5045
+ } else {
5046
+ s2 = peg$FAILED;
5047
+ if (peg$silentFails === 0) { peg$fail(peg$c8); }
5048
+ }
5049
+ if (s2 !== peg$FAILED) {
5050
+ s3 = [];
5051
+ s4 = peg$parseS();
5052
+ while (s4 !== peg$FAILED) {
5053
+ s3.push(s4);
5054
+ s4 = peg$parseS();
5055
+ }
5056
+ if (s3 !== peg$FAILED) {
5057
+ s4 = peg$parsetable_key();
5058
+ if (s4 !== peg$FAILED) {
5059
+ s5 = [];
5060
+ s6 = peg$parseS();
5061
+ while (s6 !== peg$FAILED) {
5062
+ s5.push(s6);
5063
+ s6 = peg$parseS();
5064
+ }
5065
+ if (s5 !== peg$FAILED) {
5066
+ if (input.charCodeAt(peg$currPos) === 93) {
5067
+ s6 = peg$c9;
5068
+ peg$currPos++;
5069
+ } else {
5070
+ s6 = peg$FAILED;
5071
+ if (peg$silentFails === 0) { peg$fail(peg$c10); }
5072
+ }
5073
+ if (s6 !== peg$FAILED) {
5074
+ if (input.charCodeAt(peg$currPos) === 93) {
5075
+ s7 = peg$c9;
5076
+ peg$currPos++;
5077
+ } else {
5078
+ s7 = peg$FAILED;
5079
+ if (peg$silentFails === 0) { peg$fail(peg$c10); }
5080
+ }
5081
+ if (s7 !== peg$FAILED) {
5082
+ peg$reportedPos = s0;
5083
+ s1 = peg$c12(s4);
5084
+ s0 = s1;
5085
+ } else {
5086
+ peg$currPos = s0;
5087
+ s0 = peg$c2;
5088
+ }
5089
+ } else {
5090
+ peg$currPos = s0;
5091
+ s0 = peg$c2;
5092
+ }
5093
+ } else {
5094
+ peg$currPos = s0;
5095
+ s0 = peg$c2;
5096
+ }
5097
+ } else {
5098
+ peg$currPos = s0;
5099
+ s0 = peg$c2;
5100
+ }
5101
+ } else {
5102
+ peg$currPos = s0;
5103
+ s0 = peg$c2;
5104
+ }
5105
+ } else {
5106
+ peg$currPos = s0;
5107
+ s0 = peg$c2;
5108
+ }
5109
+ } else {
5110
+ peg$currPos = s0;
5111
+ s0 = peg$c2;
5112
+ }
5113
+
5114
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5115
+
5116
+ return s0;
5117
+ }
5118
+
5119
+ function peg$parsetable_key() {
5120
+ var s0, s1, s2;
5121
+
5122
+ var key = peg$currPos * 49 + 6,
5123
+ cached = peg$cache[key];
5124
+
5125
+ if (cached) {
5126
+ peg$currPos = cached.nextPos;
5127
+ return cached.result;
5128
+ }
5129
+
5130
+ s0 = peg$currPos;
5131
+ s1 = [];
5132
+ s2 = peg$parsedot_ended_table_key_part();
5133
+ if (s2 !== peg$FAILED) {
5134
+ while (s2 !== peg$FAILED) {
5135
+ s1.push(s2);
5136
+ s2 = peg$parsedot_ended_table_key_part();
5137
+ }
5138
+ } else {
5139
+ s1 = peg$c2;
5140
+ }
5141
+ if (s1 !== peg$FAILED) {
5142
+ s2 = peg$parsetable_key_part();
5143
+ if (s2 !== peg$FAILED) {
5144
+ peg$reportedPos = s0;
5145
+ s1 = peg$c13(s1, s2);
5146
+ s0 = s1;
5147
+ } else {
5148
+ peg$currPos = s0;
5149
+ s0 = peg$c2;
5150
+ }
5151
+ } else {
5152
+ peg$currPos = s0;
5153
+ s0 = peg$c2;
5154
+ }
5155
+ if (s0 === peg$FAILED) {
5156
+ s0 = peg$currPos;
5157
+ s1 = peg$parsetable_key_part();
5158
+ if (s1 !== peg$FAILED) {
5159
+ peg$reportedPos = s0;
5160
+ s1 = peg$c14(s1);
5161
+ }
5162
+ s0 = s1;
5163
+ }
5164
+
5165
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5166
+
5167
+ return s0;
5168
+ }
5169
+
5170
+ function peg$parsetable_key_part() {
5171
+ var s0, s1, s2, s3, s4;
5172
+
5173
+ var key = peg$currPos * 49 + 7,
5174
+ cached = peg$cache[key];
5175
+
5176
+ if (cached) {
5177
+ peg$currPos = cached.nextPos;
5178
+ return cached.result;
5179
+ }
5180
+
5181
+ s0 = peg$currPos;
5182
+ s1 = [];
5183
+ s2 = peg$parseS();
5184
+ while (s2 !== peg$FAILED) {
5185
+ s1.push(s2);
5186
+ s2 = peg$parseS();
5187
+ }
5188
+ if (s1 !== peg$FAILED) {
5189
+ s2 = peg$parsekey();
5190
+ if (s2 !== peg$FAILED) {
5191
+ s3 = [];
5192
+ s4 = peg$parseS();
5193
+ while (s4 !== peg$FAILED) {
5194
+ s3.push(s4);
5195
+ s4 = peg$parseS();
5196
+ }
5197
+ if (s3 !== peg$FAILED) {
5198
+ peg$reportedPos = s0;
5199
+ s1 = peg$c15(s2);
5200
+ s0 = s1;
5201
+ } else {
5202
+ peg$currPos = s0;
5203
+ s0 = peg$c2;
5204
+ }
5205
+ } else {
5206
+ peg$currPos = s0;
5207
+ s0 = peg$c2;
5208
+ }
5209
+ } else {
5210
+ peg$currPos = s0;
5211
+ s0 = peg$c2;
5212
+ }
5213
+ if (s0 === peg$FAILED) {
5214
+ s0 = peg$currPos;
5215
+ s1 = [];
5216
+ s2 = peg$parseS();
5217
+ while (s2 !== peg$FAILED) {
5218
+ s1.push(s2);
5219
+ s2 = peg$parseS();
5220
+ }
5221
+ if (s1 !== peg$FAILED) {
5222
+ s2 = peg$parsequoted_key();
5223
+ if (s2 !== peg$FAILED) {
5224
+ s3 = [];
5225
+ s4 = peg$parseS();
5226
+ while (s4 !== peg$FAILED) {
5227
+ s3.push(s4);
5228
+ s4 = peg$parseS();
5229
+ }
5230
+ if (s3 !== peg$FAILED) {
5231
+ peg$reportedPos = s0;
5232
+ s1 = peg$c15(s2);
5233
+ s0 = s1;
5234
+ } else {
5235
+ peg$currPos = s0;
5236
+ s0 = peg$c2;
5237
+ }
5238
+ } else {
5239
+ peg$currPos = s0;
5240
+ s0 = peg$c2;
5241
+ }
5242
+ } else {
5243
+ peg$currPos = s0;
5244
+ s0 = peg$c2;
5245
+ }
5246
+ }
5247
+
5248
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5249
+
5250
+ return s0;
5251
+ }
5252
+
5253
+ function peg$parsedot_ended_table_key_part() {
5254
+ var s0, s1, s2, s3, s4, s5, s6;
5255
+
5256
+ var key = peg$currPos * 49 + 8,
5257
+ cached = peg$cache[key];
5258
+
5259
+ if (cached) {
5260
+ peg$currPos = cached.nextPos;
5261
+ return cached.result;
5262
+ }
5263
+
5264
+ s0 = peg$currPos;
5265
+ s1 = [];
5266
+ s2 = peg$parseS();
5267
+ while (s2 !== peg$FAILED) {
5268
+ s1.push(s2);
5269
+ s2 = peg$parseS();
5270
+ }
5271
+ if (s1 !== peg$FAILED) {
5272
+ s2 = peg$parsekey();
5273
+ if (s2 !== peg$FAILED) {
5274
+ s3 = [];
5275
+ s4 = peg$parseS();
5276
+ while (s4 !== peg$FAILED) {
5277
+ s3.push(s4);
5278
+ s4 = peg$parseS();
5279
+ }
5280
+ if (s3 !== peg$FAILED) {
5281
+ if (input.charCodeAt(peg$currPos) === 46) {
5282
+ s4 = peg$c16;
5283
+ peg$currPos++;
5284
+ } else {
5285
+ s4 = peg$FAILED;
5286
+ if (peg$silentFails === 0) { peg$fail(peg$c17); }
5287
+ }
5288
+ if (s4 !== peg$FAILED) {
5289
+ s5 = [];
5290
+ s6 = peg$parseS();
5291
+ while (s6 !== peg$FAILED) {
5292
+ s5.push(s6);
5293
+ s6 = peg$parseS();
5294
+ }
5295
+ if (s5 !== peg$FAILED) {
5296
+ peg$reportedPos = s0;
5297
+ s1 = peg$c15(s2);
5298
+ s0 = s1;
5299
+ } else {
5300
+ peg$currPos = s0;
5301
+ s0 = peg$c2;
5302
+ }
5303
+ } else {
5304
+ peg$currPos = s0;
5305
+ s0 = peg$c2;
5306
+ }
5307
+ } else {
5308
+ peg$currPos = s0;
5309
+ s0 = peg$c2;
5310
+ }
5311
+ } else {
5312
+ peg$currPos = s0;
5313
+ s0 = peg$c2;
5314
+ }
5315
+ } else {
5316
+ peg$currPos = s0;
5317
+ s0 = peg$c2;
5318
+ }
5319
+ if (s0 === peg$FAILED) {
5320
+ s0 = peg$currPos;
5321
+ s1 = [];
5322
+ s2 = peg$parseS();
5323
+ while (s2 !== peg$FAILED) {
5324
+ s1.push(s2);
5325
+ s2 = peg$parseS();
5326
+ }
5327
+ if (s1 !== peg$FAILED) {
5328
+ s2 = peg$parsequoted_key();
5329
+ if (s2 !== peg$FAILED) {
5330
+ s3 = [];
5331
+ s4 = peg$parseS();
5332
+ while (s4 !== peg$FAILED) {
5333
+ s3.push(s4);
5334
+ s4 = peg$parseS();
5335
+ }
5336
+ if (s3 !== peg$FAILED) {
5337
+ if (input.charCodeAt(peg$currPos) === 46) {
5338
+ s4 = peg$c16;
5339
+ peg$currPos++;
5340
+ } else {
5341
+ s4 = peg$FAILED;
5342
+ if (peg$silentFails === 0) { peg$fail(peg$c17); }
5343
+ }
5344
+ if (s4 !== peg$FAILED) {
5345
+ s5 = [];
5346
+ s6 = peg$parseS();
5347
+ while (s6 !== peg$FAILED) {
5348
+ s5.push(s6);
5349
+ s6 = peg$parseS();
5350
+ }
5351
+ if (s5 !== peg$FAILED) {
5352
+ peg$reportedPos = s0;
5353
+ s1 = peg$c15(s2);
5354
+ s0 = s1;
5355
+ } else {
5356
+ peg$currPos = s0;
5357
+ s0 = peg$c2;
5358
+ }
5359
+ } else {
5360
+ peg$currPos = s0;
5361
+ s0 = peg$c2;
5362
+ }
5363
+ } else {
5364
+ peg$currPos = s0;
5365
+ s0 = peg$c2;
5366
+ }
5367
+ } else {
5368
+ peg$currPos = s0;
5369
+ s0 = peg$c2;
5370
+ }
5371
+ } else {
5372
+ peg$currPos = s0;
5373
+ s0 = peg$c2;
5374
+ }
5375
+ }
5376
+
5377
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5378
+
5379
+ return s0;
5380
+ }
5381
+
5382
+ function peg$parseassignment() {
5383
+ var s0, s1, s2, s3, s4, s5;
5384
+
5385
+ var key = peg$currPos * 49 + 9,
5386
+ cached = peg$cache[key];
5387
+
5388
+ if (cached) {
5389
+ peg$currPos = cached.nextPos;
5390
+ return cached.result;
5391
+ }
5392
+
5393
+ s0 = peg$currPos;
5394
+ s1 = peg$parsekey();
5395
+ if (s1 !== peg$FAILED) {
5396
+ s2 = [];
5397
+ s3 = peg$parseS();
5398
+ while (s3 !== peg$FAILED) {
5399
+ s2.push(s3);
5400
+ s3 = peg$parseS();
5401
+ }
5402
+ if (s2 !== peg$FAILED) {
5403
+ if (input.charCodeAt(peg$currPos) === 61) {
5404
+ s3 = peg$c18;
5405
+ peg$currPos++;
5406
+ } else {
5407
+ s3 = peg$FAILED;
5408
+ if (peg$silentFails === 0) { peg$fail(peg$c19); }
5409
+ }
5410
+ if (s3 !== peg$FAILED) {
5411
+ s4 = [];
5412
+ s5 = peg$parseS();
5413
+ while (s5 !== peg$FAILED) {
5414
+ s4.push(s5);
5415
+ s5 = peg$parseS();
5416
+ }
5417
+ if (s4 !== peg$FAILED) {
5418
+ s5 = peg$parsevalue();
5419
+ if (s5 !== peg$FAILED) {
5420
+ peg$reportedPos = s0;
5421
+ s1 = peg$c20(s1, s5);
5422
+ s0 = s1;
5423
+ } else {
5424
+ peg$currPos = s0;
5425
+ s0 = peg$c2;
5426
+ }
5427
+ } else {
5428
+ peg$currPos = s0;
5429
+ s0 = peg$c2;
5430
+ }
5431
+ } else {
5432
+ peg$currPos = s0;
5433
+ s0 = peg$c2;
5434
+ }
5435
+ } else {
5436
+ peg$currPos = s0;
5437
+ s0 = peg$c2;
5438
+ }
5439
+ } else {
5440
+ peg$currPos = s0;
5441
+ s0 = peg$c2;
5442
+ }
5443
+ if (s0 === peg$FAILED) {
5444
+ s0 = peg$currPos;
5445
+ s1 = peg$parsequoted_key();
5446
+ if (s1 !== peg$FAILED) {
5447
+ s2 = [];
5448
+ s3 = peg$parseS();
5449
+ while (s3 !== peg$FAILED) {
5450
+ s2.push(s3);
5451
+ s3 = peg$parseS();
5452
+ }
5453
+ if (s2 !== peg$FAILED) {
5454
+ if (input.charCodeAt(peg$currPos) === 61) {
5455
+ s3 = peg$c18;
5456
+ peg$currPos++;
5457
+ } else {
5458
+ s3 = peg$FAILED;
5459
+ if (peg$silentFails === 0) { peg$fail(peg$c19); }
5460
+ }
5461
+ if (s3 !== peg$FAILED) {
5462
+ s4 = [];
5463
+ s5 = peg$parseS();
5464
+ while (s5 !== peg$FAILED) {
5465
+ s4.push(s5);
5466
+ s5 = peg$parseS();
5467
+ }
5468
+ if (s4 !== peg$FAILED) {
5469
+ s5 = peg$parsevalue();
5470
+ if (s5 !== peg$FAILED) {
5471
+ peg$reportedPos = s0;
5472
+ s1 = peg$c20(s1, s5);
5473
+ s0 = s1;
5474
+ } else {
5475
+ peg$currPos = s0;
5476
+ s0 = peg$c2;
5477
+ }
5478
+ } else {
5479
+ peg$currPos = s0;
5480
+ s0 = peg$c2;
5481
+ }
5482
+ } else {
5483
+ peg$currPos = s0;
5484
+ s0 = peg$c2;
5485
+ }
5486
+ } else {
5487
+ peg$currPos = s0;
5488
+ s0 = peg$c2;
5489
+ }
5490
+ } else {
5491
+ peg$currPos = s0;
5492
+ s0 = peg$c2;
5493
+ }
5494
+ }
5495
+
5496
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5497
+
5498
+ return s0;
5499
+ }
5500
+
5501
+ function peg$parsekey() {
5502
+ var s0, s1, s2;
5503
+
5504
+ var key = peg$currPos * 49 + 10,
5505
+ cached = peg$cache[key];
5506
+
5507
+ if (cached) {
5508
+ peg$currPos = cached.nextPos;
5509
+ return cached.result;
5510
+ }
5511
+
5512
+ s0 = peg$currPos;
5513
+ s1 = [];
5514
+ s2 = peg$parseASCII_BASIC();
5515
+ if (s2 !== peg$FAILED) {
5516
+ while (s2 !== peg$FAILED) {
5517
+ s1.push(s2);
5518
+ s2 = peg$parseASCII_BASIC();
5519
+ }
5520
+ } else {
5521
+ s1 = peg$c2;
5522
+ }
5523
+ if (s1 !== peg$FAILED) {
5524
+ peg$reportedPos = s0;
5525
+ s1 = peg$c21(s1);
5526
+ }
5527
+ s0 = s1;
5528
+
5529
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5530
+
5531
+ return s0;
5532
+ }
5533
+
5534
+ function peg$parsequoted_key() {
5535
+ var s0, s1;
5536
+
5537
+ var key = peg$currPos * 49 + 11,
5538
+ cached = peg$cache[key];
5539
+
5540
+ if (cached) {
5541
+ peg$currPos = cached.nextPos;
5542
+ return cached.result;
5543
+ }
5544
+
5545
+ s0 = peg$currPos;
5546
+ s1 = peg$parsedouble_quoted_single_line_string();
5547
+ if (s1 !== peg$FAILED) {
5548
+ peg$reportedPos = s0;
5549
+ s1 = peg$c22(s1);
5550
+ }
5551
+ s0 = s1;
5552
+ if (s0 === peg$FAILED) {
5553
+ s0 = peg$currPos;
5554
+ s1 = peg$parsesingle_quoted_single_line_string();
5555
+ if (s1 !== peg$FAILED) {
5556
+ peg$reportedPos = s0;
5557
+ s1 = peg$c22(s1);
5558
+ }
5559
+ s0 = s1;
5560
+ }
5561
+
5562
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5563
+
5564
+ return s0;
5565
+ }
5566
+
5567
+ function peg$parsevalue() {
5568
+ var s0;
5569
+
5570
+ var key = peg$currPos * 49 + 12,
5571
+ cached = peg$cache[key];
5572
+
5573
+ if (cached) {
5574
+ peg$currPos = cached.nextPos;
5575
+ return cached.result;
5576
+ }
5577
+
5578
+ s0 = peg$parsestring();
5579
+ if (s0 === peg$FAILED) {
5580
+ s0 = peg$parsedatetime();
5581
+ if (s0 === peg$FAILED) {
5582
+ s0 = peg$parsefloat();
5583
+ if (s0 === peg$FAILED) {
5584
+ s0 = peg$parseinteger();
5585
+ if (s0 === peg$FAILED) {
5586
+ s0 = peg$parseboolean();
5587
+ if (s0 === peg$FAILED) {
5588
+ s0 = peg$parsearray();
5589
+ if (s0 === peg$FAILED) {
5590
+ s0 = peg$parseinline_table();
5591
+ }
5592
+ }
5593
+ }
5594
+ }
5595
+ }
5596
+ }
5597
+
5598
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5599
+
5600
+ return s0;
5601
+ }
5602
+
5603
+ function peg$parsestring() {
5604
+ var s0;
5605
+
5606
+ var key = peg$currPos * 49 + 13,
5607
+ cached = peg$cache[key];
5608
+
5609
+ if (cached) {
5610
+ peg$currPos = cached.nextPos;
5611
+ return cached.result;
5612
+ }
5613
+
5614
+ s0 = peg$parsedouble_quoted_multiline_string();
5615
+ if (s0 === peg$FAILED) {
5616
+ s0 = peg$parsedouble_quoted_single_line_string();
5617
+ if (s0 === peg$FAILED) {
5618
+ s0 = peg$parsesingle_quoted_multiline_string();
5619
+ if (s0 === peg$FAILED) {
5620
+ s0 = peg$parsesingle_quoted_single_line_string();
5621
+ }
5622
+ }
5623
+ }
5624
+
5625
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5626
+
5627
+ return s0;
5628
+ }
5629
+
5630
+ function peg$parsedouble_quoted_multiline_string() {
5631
+ var s0, s1, s2, s3, s4;
5632
+
5633
+ var key = peg$currPos * 49 + 14,
5634
+ cached = peg$cache[key];
5635
+
5636
+ if (cached) {
5637
+ peg$currPos = cached.nextPos;
5638
+ return cached.result;
5639
+ }
5640
+
5641
+ s0 = peg$currPos;
5642
+ if (input.substr(peg$currPos, 3) === peg$c23) {
5643
+ s1 = peg$c23;
5644
+ peg$currPos += 3;
5645
+ } else {
5646
+ s1 = peg$FAILED;
5647
+ if (peg$silentFails === 0) { peg$fail(peg$c24); }
5648
+ }
5649
+ if (s1 !== peg$FAILED) {
5650
+ s2 = peg$parseNL();
5651
+ if (s2 === peg$FAILED) {
5652
+ s2 = peg$c25;
5653
+ }
5654
+ if (s2 !== peg$FAILED) {
5655
+ s3 = [];
5656
+ s4 = peg$parsemultiline_string_char();
5657
+ while (s4 !== peg$FAILED) {
5658
+ s3.push(s4);
5659
+ s4 = peg$parsemultiline_string_char();
5660
+ }
5661
+ if (s3 !== peg$FAILED) {
5662
+ if (input.substr(peg$currPos, 3) === peg$c23) {
5663
+ s4 = peg$c23;
5664
+ peg$currPos += 3;
5665
+ } else {
5666
+ s4 = peg$FAILED;
5667
+ if (peg$silentFails === 0) { peg$fail(peg$c24); }
5668
+ }
5669
+ if (s4 !== peg$FAILED) {
5670
+ peg$reportedPos = s0;
5671
+ s1 = peg$c26(s3);
5672
+ s0 = s1;
5673
+ } else {
5674
+ peg$currPos = s0;
5675
+ s0 = peg$c2;
5676
+ }
5677
+ } else {
5678
+ peg$currPos = s0;
5679
+ s0 = peg$c2;
5680
+ }
5681
+ } else {
5682
+ peg$currPos = s0;
5683
+ s0 = peg$c2;
5684
+ }
5685
+ } else {
5686
+ peg$currPos = s0;
5687
+ s0 = peg$c2;
5688
+ }
5689
+
5690
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5691
+
5692
+ return s0;
5693
+ }
5694
+
5695
+ function peg$parsedouble_quoted_single_line_string() {
5696
+ var s0, s1, s2, s3;
5697
+
5698
+ var key = peg$currPos * 49 + 15,
5699
+ cached = peg$cache[key];
5700
+
5701
+ if (cached) {
5702
+ peg$currPos = cached.nextPos;
5703
+ return cached.result;
5704
+ }
5705
+
5706
+ s0 = peg$currPos;
5707
+ if (input.charCodeAt(peg$currPos) === 34) {
5708
+ s1 = peg$c27;
5709
+ peg$currPos++;
5710
+ } else {
5711
+ s1 = peg$FAILED;
5712
+ if (peg$silentFails === 0) { peg$fail(peg$c28); }
5713
+ }
5714
+ if (s1 !== peg$FAILED) {
5715
+ s2 = [];
5716
+ s3 = peg$parsestring_char();
5717
+ while (s3 !== peg$FAILED) {
5718
+ s2.push(s3);
5719
+ s3 = peg$parsestring_char();
5720
+ }
5721
+ if (s2 !== peg$FAILED) {
5722
+ if (input.charCodeAt(peg$currPos) === 34) {
5723
+ s3 = peg$c27;
5724
+ peg$currPos++;
5725
+ } else {
5726
+ s3 = peg$FAILED;
5727
+ if (peg$silentFails === 0) { peg$fail(peg$c28); }
5728
+ }
5729
+ if (s3 !== peg$FAILED) {
5730
+ peg$reportedPos = s0;
5731
+ s1 = peg$c26(s2);
5732
+ s0 = s1;
5733
+ } else {
5734
+ peg$currPos = s0;
5735
+ s0 = peg$c2;
5736
+ }
5737
+ } else {
5738
+ peg$currPos = s0;
5739
+ s0 = peg$c2;
5740
+ }
5741
+ } else {
5742
+ peg$currPos = s0;
5743
+ s0 = peg$c2;
5744
+ }
5745
+
5746
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5747
+
5748
+ return s0;
5749
+ }
5750
+
5751
+ function peg$parsesingle_quoted_multiline_string() {
5752
+ var s0, s1, s2, s3, s4;
5753
+
5754
+ var key = peg$currPos * 49 + 16,
5755
+ cached = peg$cache[key];
5756
+
5757
+ if (cached) {
5758
+ peg$currPos = cached.nextPos;
5759
+ return cached.result;
5760
+ }
5761
+
5762
+ s0 = peg$currPos;
5763
+ if (input.substr(peg$currPos, 3) === peg$c29) {
5764
+ s1 = peg$c29;
5765
+ peg$currPos += 3;
5766
+ } else {
5767
+ s1 = peg$FAILED;
5768
+ if (peg$silentFails === 0) { peg$fail(peg$c30); }
5769
+ }
5770
+ if (s1 !== peg$FAILED) {
5771
+ s2 = peg$parseNL();
5772
+ if (s2 === peg$FAILED) {
5773
+ s2 = peg$c25;
5774
+ }
5775
+ if (s2 !== peg$FAILED) {
5776
+ s3 = [];
5777
+ s4 = peg$parsemultiline_literal_char();
5778
+ while (s4 !== peg$FAILED) {
5779
+ s3.push(s4);
5780
+ s4 = peg$parsemultiline_literal_char();
5781
+ }
5782
+ if (s3 !== peg$FAILED) {
5783
+ if (input.substr(peg$currPos, 3) === peg$c29) {
5784
+ s4 = peg$c29;
5785
+ peg$currPos += 3;
5786
+ } else {
5787
+ s4 = peg$FAILED;
5788
+ if (peg$silentFails === 0) { peg$fail(peg$c30); }
5789
+ }
5790
+ if (s4 !== peg$FAILED) {
5791
+ peg$reportedPos = s0;
5792
+ s1 = peg$c26(s3);
5793
+ s0 = s1;
5794
+ } else {
5795
+ peg$currPos = s0;
5796
+ s0 = peg$c2;
5797
+ }
5798
+ } else {
5799
+ peg$currPos = s0;
5800
+ s0 = peg$c2;
5801
+ }
5802
+ } else {
5803
+ peg$currPos = s0;
5804
+ s0 = peg$c2;
5805
+ }
5806
+ } else {
5807
+ peg$currPos = s0;
5808
+ s0 = peg$c2;
5809
+ }
5810
+
5811
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5812
+
5813
+ return s0;
5814
+ }
5815
+
5816
+ function peg$parsesingle_quoted_single_line_string() {
5817
+ var s0, s1, s2, s3;
5818
+
5819
+ var key = peg$currPos * 49 + 17,
5820
+ cached = peg$cache[key];
5821
+
5822
+ if (cached) {
5823
+ peg$currPos = cached.nextPos;
5824
+ return cached.result;
5825
+ }
5826
+
5827
+ s0 = peg$currPos;
5828
+ if (input.charCodeAt(peg$currPos) === 39) {
5829
+ s1 = peg$c31;
5830
+ peg$currPos++;
5831
+ } else {
5832
+ s1 = peg$FAILED;
5833
+ if (peg$silentFails === 0) { peg$fail(peg$c32); }
5834
+ }
5835
+ if (s1 !== peg$FAILED) {
5836
+ s2 = [];
5837
+ s3 = peg$parseliteral_char();
5838
+ while (s3 !== peg$FAILED) {
5839
+ s2.push(s3);
5840
+ s3 = peg$parseliteral_char();
5841
+ }
5842
+ if (s2 !== peg$FAILED) {
5843
+ if (input.charCodeAt(peg$currPos) === 39) {
5844
+ s3 = peg$c31;
5845
+ peg$currPos++;
5846
+ } else {
5847
+ s3 = peg$FAILED;
5848
+ if (peg$silentFails === 0) { peg$fail(peg$c32); }
5849
+ }
5850
+ if (s3 !== peg$FAILED) {
5851
+ peg$reportedPos = s0;
5852
+ s1 = peg$c26(s2);
5853
+ s0 = s1;
5854
+ } else {
5855
+ peg$currPos = s0;
5856
+ s0 = peg$c2;
5857
+ }
5858
+ } else {
5859
+ peg$currPos = s0;
5860
+ s0 = peg$c2;
5861
+ }
5862
+ } else {
5863
+ peg$currPos = s0;
5864
+ s0 = peg$c2;
5865
+ }
5866
+
5867
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5868
+
5869
+ return s0;
5870
+ }
5871
+
5872
+ function peg$parsestring_char() {
5873
+ var s0, s1, s2;
5874
+
5875
+ var key = peg$currPos * 49 + 18,
5876
+ cached = peg$cache[key];
5877
+
5878
+ if (cached) {
5879
+ peg$currPos = cached.nextPos;
5880
+ return cached.result;
5881
+ }
5882
+
5883
+ s0 = peg$parseESCAPED();
5884
+ if (s0 === peg$FAILED) {
5885
+ s0 = peg$currPos;
5886
+ s1 = peg$currPos;
5887
+ peg$silentFails++;
5888
+ if (input.charCodeAt(peg$currPos) === 34) {
5889
+ s2 = peg$c27;
5890
+ peg$currPos++;
5891
+ } else {
5892
+ s2 = peg$FAILED;
5893
+ if (peg$silentFails === 0) { peg$fail(peg$c28); }
5894
+ }
5895
+ peg$silentFails--;
5896
+ if (s2 === peg$FAILED) {
5897
+ s1 = peg$c5;
5898
+ } else {
5899
+ peg$currPos = s1;
5900
+ s1 = peg$c2;
5901
+ }
5902
+ if (s1 !== peg$FAILED) {
5903
+ if (input.length > peg$currPos) {
5904
+ s2 = input.charAt(peg$currPos);
5905
+ peg$currPos++;
5906
+ } else {
5907
+ s2 = peg$FAILED;
5908
+ if (peg$silentFails === 0) { peg$fail(peg$c6); }
5909
+ }
5910
+ if (s2 !== peg$FAILED) {
5911
+ peg$reportedPos = s0;
5912
+ s1 = peg$c33(s2);
5913
+ s0 = s1;
5914
+ } else {
5915
+ peg$currPos = s0;
5916
+ s0 = peg$c2;
5917
+ }
5918
+ } else {
5919
+ peg$currPos = s0;
5920
+ s0 = peg$c2;
5921
+ }
5922
+ }
5923
+
5924
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5925
+
5926
+ return s0;
5927
+ }
5928
+
5929
+ function peg$parseliteral_char() {
5930
+ var s0, s1, s2;
5931
+
5932
+ var key = peg$currPos * 49 + 19,
5933
+ cached = peg$cache[key];
5934
+
5935
+ if (cached) {
5936
+ peg$currPos = cached.nextPos;
5937
+ return cached.result;
5938
+ }
5939
+
5940
+ s0 = peg$currPos;
5941
+ s1 = peg$currPos;
5942
+ peg$silentFails++;
5943
+ if (input.charCodeAt(peg$currPos) === 39) {
5944
+ s2 = peg$c31;
5945
+ peg$currPos++;
5946
+ } else {
5947
+ s2 = peg$FAILED;
5948
+ if (peg$silentFails === 0) { peg$fail(peg$c32); }
5949
+ }
5950
+ peg$silentFails--;
5951
+ if (s2 === peg$FAILED) {
5952
+ s1 = peg$c5;
5953
+ } else {
5954
+ peg$currPos = s1;
5955
+ s1 = peg$c2;
5956
+ }
5957
+ if (s1 !== peg$FAILED) {
5958
+ if (input.length > peg$currPos) {
5959
+ s2 = input.charAt(peg$currPos);
5960
+ peg$currPos++;
5961
+ } else {
5962
+ s2 = peg$FAILED;
5963
+ if (peg$silentFails === 0) { peg$fail(peg$c6); }
5964
+ }
5965
+ if (s2 !== peg$FAILED) {
5966
+ peg$reportedPos = s0;
5967
+ s1 = peg$c33(s2);
5968
+ s0 = s1;
5969
+ } else {
5970
+ peg$currPos = s0;
5971
+ s0 = peg$c2;
5972
+ }
5973
+ } else {
5974
+ peg$currPos = s0;
5975
+ s0 = peg$c2;
5976
+ }
5977
+
5978
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
5979
+
5980
+ return s0;
5981
+ }
5982
+
5983
+ function peg$parsemultiline_string_char() {
5984
+ var s0, s1, s2;
5985
+
5986
+ var key = peg$currPos * 49 + 20,
5987
+ cached = peg$cache[key];
5988
+
5989
+ if (cached) {
5990
+ peg$currPos = cached.nextPos;
5991
+ return cached.result;
5992
+ }
5993
+
5994
+ s0 = peg$parseESCAPED();
5995
+ if (s0 === peg$FAILED) {
5996
+ s0 = peg$parsemultiline_string_delim();
5997
+ if (s0 === peg$FAILED) {
5998
+ s0 = peg$currPos;
5999
+ s1 = peg$currPos;
6000
+ peg$silentFails++;
6001
+ if (input.substr(peg$currPos, 3) === peg$c23) {
6002
+ s2 = peg$c23;
6003
+ peg$currPos += 3;
6004
+ } else {
6005
+ s2 = peg$FAILED;
6006
+ if (peg$silentFails === 0) { peg$fail(peg$c24); }
6007
+ }
6008
+ peg$silentFails--;
6009
+ if (s2 === peg$FAILED) {
6010
+ s1 = peg$c5;
6011
+ } else {
6012
+ peg$currPos = s1;
6013
+ s1 = peg$c2;
6014
+ }
6015
+ if (s1 !== peg$FAILED) {
6016
+ if (input.length > peg$currPos) {
6017
+ s2 = input.charAt(peg$currPos);
6018
+ peg$currPos++;
6019
+ } else {
6020
+ s2 = peg$FAILED;
6021
+ if (peg$silentFails === 0) { peg$fail(peg$c6); }
6022
+ }
6023
+ if (s2 !== peg$FAILED) {
6024
+ peg$reportedPos = s0;
6025
+ s1 = peg$c34(s2);
6026
+ s0 = s1;
6027
+ } else {
6028
+ peg$currPos = s0;
6029
+ s0 = peg$c2;
6030
+ }
6031
+ } else {
6032
+ peg$currPos = s0;
6033
+ s0 = peg$c2;
6034
+ }
6035
+ }
6036
+ }
6037
+
6038
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6039
+
6040
+ return s0;
6041
+ }
6042
+
6043
+ function peg$parsemultiline_string_delim() {
6044
+ var s0, s1, s2, s3, s4;
6045
+
6046
+ var key = peg$currPos * 49 + 21,
6047
+ cached = peg$cache[key];
6048
+
6049
+ if (cached) {
6050
+ peg$currPos = cached.nextPos;
6051
+ return cached.result;
6052
+ }
6053
+
6054
+ s0 = peg$currPos;
6055
+ if (input.charCodeAt(peg$currPos) === 92) {
6056
+ s1 = peg$c35;
6057
+ peg$currPos++;
6058
+ } else {
6059
+ s1 = peg$FAILED;
6060
+ if (peg$silentFails === 0) { peg$fail(peg$c36); }
6061
+ }
6062
+ if (s1 !== peg$FAILED) {
6063
+ s2 = peg$parseNL();
6064
+ if (s2 !== peg$FAILED) {
6065
+ s3 = [];
6066
+ s4 = peg$parseNLS();
6067
+ while (s4 !== peg$FAILED) {
6068
+ s3.push(s4);
6069
+ s4 = peg$parseNLS();
6070
+ }
6071
+ if (s3 !== peg$FAILED) {
6072
+ peg$reportedPos = s0;
6073
+ s1 = peg$c37();
6074
+ s0 = s1;
6075
+ } else {
6076
+ peg$currPos = s0;
6077
+ s0 = peg$c2;
6078
+ }
6079
+ } else {
6080
+ peg$currPos = s0;
6081
+ s0 = peg$c2;
6082
+ }
6083
+ } else {
6084
+ peg$currPos = s0;
6085
+ s0 = peg$c2;
6086
+ }
6087
+
6088
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6089
+
6090
+ return s0;
6091
+ }
6092
+
6093
+ function peg$parsemultiline_literal_char() {
6094
+ var s0, s1, s2;
6095
+
6096
+ var key = peg$currPos * 49 + 22,
6097
+ cached = peg$cache[key];
6098
+
6099
+ if (cached) {
6100
+ peg$currPos = cached.nextPos;
6101
+ return cached.result;
6102
+ }
6103
+
6104
+ s0 = peg$currPos;
6105
+ s1 = peg$currPos;
6106
+ peg$silentFails++;
6107
+ if (input.substr(peg$currPos, 3) === peg$c29) {
6108
+ s2 = peg$c29;
6109
+ peg$currPos += 3;
6110
+ } else {
6111
+ s2 = peg$FAILED;
6112
+ if (peg$silentFails === 0) { peg$fail(peg$c30); }
6113
+ }
6114
+ peg$silentFails--;
6115
+ if (s2 === peg$FAILED) {
6116
+ s1 = peg$c5;
6117
+ } else {
6118
+ peg$currPos = s1;
6119
+ s1 = peg$c2;
6120
+ }
6121
+ if (s1 !== peg$FAILED) {
6122
+ if (input.length > peg$currPos) {
6123
+ s2 = input.charAt(peg$currPos);
6124
+ peg$currPos++;
6125
+ } else {
6126
+ s2 = peg$FAILED;
6127
+ if (peg$silentFails === 0) { peg$fail(peg$c6); }
6128
+ }
6129
+ if (s2 !== peg$FAILED) {
6130
+ peg$reportedPos = s0;
6131
+ s1 = peg$c33(s2);
6132
+ s0 = s1;
6133
+ } else {
6134
+ peg$currPos = s0;
6135
+ s0 = peg$c2;
6136
+ }
6137
+ } else {
6138
+ peg$currPos = s0;
6139
+ s0 = peg$c2;
6140
+ }
6141
+
6142
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6143
+
6144
+ return s0;
6145
+ }
6146
+
6147
+ function peg$parsefloat() {
6148
+ var s0, s1, s2, s3;
6149
+
6150
+ var key = peg$currPos * 49 + 23,
6151
+ cached = peg$cache[key];
6152
+
6153
+ if (cached) {
6154
+ peg$currPos = cached.nextPos;
6155
+ return cached.result;
6156
+ }
6157
+
6158
+ s0 = peg$currPos;
6159
+ s1 = peg$parsefloat_text();
6160
+ if (s1 === peg$FAILED) {
6161
+ s1 = peg$parseinteger_text();
6162
+ }
6163
+ if (s1 !== peg$FAILED) {
6164
+ if (input.charCodeAt(peg$currPos) === 101) {
6165
+ s2 = peg$c38;
6166
+ peg$currPos++;
6167
+ } else {
6168
+ s2 = peg$FAILED;
6169
+ if (peg$silentFails === 0) { peg$fail(peg$c39); }
6170
+ }
6171
+ if (s2 === peg$FAILED) {
6172
+ if (input.charCodeAt(peg$currPos) === 69) {
6173
+ s2 = peg$c40;
6174
+ peg$currPos++;
6175
+ } else {
6176
+ s2 = peg$FAILED;
6177
+ if (peg$silentFails === 0) { peg$fail(peg$c41); }
6178
+ }
6179
+ }
6180
+ if (s2 !== peg$FAILED) {
6181
+ s3 = peg$parseinteger_text();
6182
+ if (s3 !== peg$FAILED) {
6183
+ peg$reportedPos = s0;
6184
+ s1 = peg$c42(s1, s3);
6185
+ s0 = s1;
6186
+ } else {
6187
+ peg$currPos = s0;
6188
+ s0 = peg$c2;
6189
+ }
6190
+ } else {
6191
+ peg$currPos = s0;
6192
+ s0 = peg$c2;
6193
+ }
6194
+ } else {
6195
+ peg$currPos = s0;
6196
+ s0 = peg$c2;
6197
+ }
6198
+ if (s0 === peg$FAILED) {
6199
+ s0 = peg$currPos;
6200
+ s1 = peg$parsefloat_text();
6201
+ if (s1 !== peg$FAILED) {
6202
+ peg$reportedPos = s0;
6203
+ s1 = peg$c43(s1);
6204
+ }
6205
+ s0 = s1;
6206
+ }
6207
+
6208
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6209
+
6210
+ return s0;
6211
+ }
6212
+
6213
+ function peg$parsefloat_text() {
6214
+ var s0, s1, s2, s3, s4, s5;
6215
+
6216
+ var key = peg$currPos * 49 + 24,
6217
+ cached = peg$cache[key];
6218
+
6219
+ if (cached) {
6220
+ peg$currPos = cached.nextPos;
6221
+ return cached.result;
6222
+ }
6223
+
6224
+ s0 = peg$currPos;
6225
+ if (input.charCodeAt(peg$currPos) === 43) {
6226
+ s1 = peg$c44;
6227
+ peg$currPos++;
6228
+ } else {
6229
+ s1 = peg$FAILED;
6230
+ if (peg$silentFails === 0) { peg$fail(peg$c45); }
6231
+ }
6232
+ if (s1 === peg$FAILED) {
6233
+ s1 = peg$c25;
6234
+ }
6235
+ if (s1 !== peg$FAILED) {
6236
+ s2 = peg$currPos;
6237
+ s3 = peg$parseDIGITS();
6238
+ if (s3 !== peg$FAILED) {
6239
+ if (input.charCodeAt(peg$currPos) === 46) {
6240
+ s4 = peg$c16;
6241
+ peg$currPos++;
6242
+ } else {
6243
+ s4 = peg$FAILED;
6244
+ if (peg$silentFails === 0) { peg$fail(peg$c17); }
6245
+ }
6246
+ if (s4 !== peg$FAILED) {
6247
+ s5 = peg$parseDIGITS();
6248
+ if (s5 !== peg$FAILED) {
6249
+ s3 = [s3, s4, s5];
6250
+ s2 = s3;
6251
+ } else {
6252
+ peg$currPos = s2;
6253
+ s2 = peg$c2;
6254
+ }
6255
+ } else {
6256
+ peg$currPos = s2;
6257
+ s2 = peg$c2;
6258
+ }
6259
+ } else {
6260
+ peg$currPos = s2;
6261
+ s2 = peg$c2;
6262
+ }
6263
+ if (s2 !== peg$FAILED) {
6264
+ peg$reportedPos = s0;
6265
+ s1 = peg$c46(s2);
6266
+ s0 = s1;
6267
+ } else {
6268
+ peg$currPos = s0;
6269
+ s0 = peg$c2;
6270
+ }
6271
+ } else {
6272
+ peg$currPos = s0;
6273
+ s0 = peg$c2;
6274
+ }
6275
+ if (s0 === peg$FAILED) {
6276
+ s0 = peg$currPos;
6277
+ if (input.charCodeAt(peg$currPos) === 45) {
6278
+ s1 = peg$c47;
6279
+ peg$currPos++;
6280
+ } else {
6281
+ s1 = peg$FAILED;
6282
+ if (peg$silentFails === 0) { peg$fail(peg$c48); }
6283
+ }
6284
+ if (s1 !== peg$FAILED) {
6285
+ s2 = peg$currPos;
6286
+ s3 = peg$parseDIGITS();
6287
+ if (s3 !== peg$FAILED) {
6288
+ if (input.charCodeAt(peg$currPos) === 46) {
6289
+ s4 = peg$c16;
6290
+ peg$currPos++;
6291
+ } else {
6292
+ s4 = peg$FAILED;
6293
+ if (peg$silentFails === 0) { peg$fail(peg$c17); }
6294
+ }
6295
+ if (s4 !== peg$FAILED) {
6296
+ s5 = peg$parseDIGITS();
6297
+ if (s5 !== peg$FAILED) {
6298
+ s3 = [s3, s4, s5];
6299
+ s2 = s3;
6300
+ } else {
6301
+ peg$currPos = s2;
6302
+ s2 = peg$c2;
6303
+ }
6304
+ } else {
6305
+ peg$currPos = s2;
6306
+ s2 = peg$c2;
6307
+ }
6308
+ } else {
6309
+ peg$currPos = s2;
6310
+ s2 = peg$c2;
6311
+ }
6312
+ if (s2 !== peg$FAILED) {
6313
+ peg$reportedPos = s0;
6314
+ s1 = peg$c49(s2);
6315
+ s0 = s1;
6316
+ } else {
6317
+ peg$currPos = s0;
6318
+ s0 = peg$c2;
6319
+ }
6320
+ } else {
6321
+ peg$currPos = s0;
6322
+ s0 = peg$c2;
6323
+ }
6324
+ }
6325
+
6326
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6327
+
6328
+ return s0;
6329
+ }
6330
+
6331
+ function peg$parseinteger() {
6332
+ var s0, s1;
6333
+
6334
+ var key = peg$currPos * 49 + 25,
6335
+ cached = peg$cache[key];
6336
+
6337
+ if (cached) {
6338
+ peg$currPos = cached.nextPos;
6339
+ return cached.result;
6340
+ }
6341
+
6342
+ s0 = peg$currPos;
6343
+ s1 = peg$parseinteger_text();
6344
+ if (s1 !== peg$FAILED) {
6345
+ peg$reportedPos = s0;
6346
+ s1 = peg$c50(s1);
6347
+ }
6348
+ s0 = s1;
6349
+
6350
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6351
+
6352
+ return s0;
6353
+ }
6354
+
6355
+ function peg$parseinteger_text() {
6356
+ var s0, s1, s2, s3, s4;
6357
+
6358
+ var key = peg$currPos * 49 + 26,
6359
+ cached = peg$cache[key];
6360
+
6361
+ if (cached) {
6362
+ peg$currPos = cached.nextPos;
6363
+ return cached.result;
6364
+ }
6365
+
6366
+ s0 = peg$currPos;
6367
+ if (input.charCodeAt(peg$currPos) === 43) {
6368
+ s1 = peg$c44;
6369
+ peg$currPos++;
6370
+ } else {
6371
+ s1 = peg$FAILED;
6372
+ if (peg$silentFails === 0) { peg$fail(peg$c45); }
6373
+ }
6374
+ if (s1 === peg$FAILED) {
6375
+ s1 = peg$c25;
6376
+ }
6377
+ if (s1 !== peg$FAILED) {
6378
+ s2 = [];
6379
+ s3 = peg$parseDIGIT_OR_UNDER();
6380
+ if (s3 !== peg$FAILED) {
6381
+ while (s3 !== peg$FAILED) {
6382
+ s2.push(s3);
6383
+ s3 = peg$parseDIGIT_OR_UNDER();
6384
+ }
6385
+ } else {
6386
+ s2 = peg$c2;
6387
+ }
6388
+ if (s2 !== peg$FAILED) {
6389
+ s3 = peg$currPos;
6390
+ peg$silentFails++;
6391
+ if (input.charCodeAt(peg$currPos) === 46) {
6392
+ s4 = peg$c16;
6393
+ peg$currPos++;
6394
+ } else {
6395
+ s4 = peg$FAILED;
6396
+ if (peg$silentFails === 0) { peg$fail(peg$c17); }
6397
+ }
6398
+ peg$silentFails--;
6399
+ if (s4 === peg$FAILED) {
6400
+ s3 = peg$c5;
6401
+ } else {
6402
+ peg$currPos = s3;
6403
+ s3 = peg$c2;
6404
+ }
6405
+ if (s3 !== peg$FAILED) {
6406
+ peg$reportedPos = s0;
6407
+ s1 = peg$c46(s2);
6408
+ s0 = s1;
6409
+ } else {
6410
+ peg$currPos = s0;
6411
+ s0 = peg$c2;
6412
+ }
6413
+ } else {
6414
+ peg$currPos = s0;
6415
+ s0 = peg$c2;
6416
+ }
6417
+ } else {
6418
+ peg$currPos = s0;
6419
+ s0 = peg$c2;
6420
+ }
6421
+ if (s0 === peg$FAILED) {
6422
+ s0 = peg$currPos;
6423
+ if (input.charCodeAt(peg$currPos) === 45) {
6424
+ s1 = peg$c47;
6425
+ peg$currPos++;
6426
+ } else {
6427
+ s1 = peg$FAILED;
6428
+ if (peg$silentFails === 0) { peg$fail(peg$c48); }
6429
+ }
6430
+ if (s1 !== peg$FAILED) {
6431
+ s2 = [];
6432
+ s3 = peg$parseDIGIT_OR_UNDER();
6433
+ if (s3 !== peg$FAILED) {
6434
+ while (s3 !== peg$FAILED) {
6435
+ s2.push(s3);
6436
+ s3 = peg$parseDIGIT_OR_UNDER();
6437
+ }
6438
+ } else {
6439
+ s2 = peg$c2;
6440
+ }
6441
+ if (s2 !== peg$FAILED) {
6442
+ s3 = peg$currPos;
6443
+ peg$silentFails++;
6444
+ if (input.charCodeAt(peg$currPos) === 46) {
6445
+ s4 = peg$c16;
6446
+ peg$currPos++;
6447
+ } else {
6448
+ s4 = peg$FAILED;
6449
+ if (peg$silentFails === 0) { peg$fail(peg$c17); }
6450
+ }
6451
+ peg$silentFails--;
6452
+ if (s4 === peg$FAILED) {
6453
+ s3 = peg$c5;
6454
+ } else {
6455
+ peg$currPos = s3;
6456
+ s3 = peg$c2;
6457
+ }
6458
+ if (s3 !== peg$FAILED) {
6459
+ peg$reportedPos = s0;
6460
+ s1 = peg$c49(s2);
6461
+ s0 = s1;
6462
+ } else {
6463
+ peg$currPos = s0;
6464
+ s0 = peg$c2;
6465
+ }
6466
+ } else {
6467
+ peg$currPos = s0;
6468
+ s0 = peg$c2;
6469
+ }
6470
+ } else {
6471
+ peg$currPos = s0;
6472
+ s0 = peg$c2;
6473
+ }
6474
+ }
6475
+
6476
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6477
+
6478
+ return s0;
6479
+ }
6480
+
6481
+ function peg$parseboolean() {
6482
+ var s0, s1;
6483
+
6484
+ var key = peg$currPos * 49 + 27,
6485
+ cached = peg$cache[key];
6486
+
6487
+ if (cached) {
6488
+ peg$currPos = cached.nextPos;
6489
+ return cached.result;
6490
+ }
6491
+
6492
+ s0 = peg$currPos;
6493
+ if (input.substr(peg$currPos, 4) === peg$c51) {
6494
+ s1 = peg$c51;
6495
+ peg$currPos += 4;
6496
+ } else {
6497
+ s1 = peg$FAILED;
6498
+ if (peg$silentFails === 0) { peg$fail(peg$c52); }
6499
+ }
6500
+ if (s1 !== peg$FAILED) {
6501
+ peg$reportedPos = s0;
6502
+ s1 = peg$c53();
6503
+ }
6504
+ s0 = s1;
6505
+ if (s0 === peg$FAILED) {
6506
+ s0 = peg$currPos;
6507
+ if (input.substr(peg$currPos, 5) === peg$c54) {
6508
+ s1 = peg$c54;
6509
+ peg$currPos += 5;
6510
+ } else {
6511
+ s1 = peg$FAILED;
6512
+ if (peg$silentFails === 0) { peg$fail(peg$c55); }
6513
+ }
6514
+ if (s1 !== peg$FAILED) {
6515
+ peg$reportedPos = s0;
6516
+ s1 = peg$c56();
6517
+ }
6518
+ s0 = s1;
6519
+ }
6520
+
6521
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6522
+
6523
+ return s0;
6524
+ }
6525
+
6526
+ function peg$parsearray() {
6527
+ var s0, s1, s2, s3, s4;
6528
+
6529
+ var key = peg$currPos * 49 + 28,
6530
+ cached = peg$cache[key];
6531
+
6532
+ if (cached) {
6533
+ peg$currPos = cached.nextPos;
6534
+ return cached.result;
6535
+ }
6536
+
6537
+ s0 = peg$currPos;
6538
+ if (input.charCodeAt(peg$currPos) === 91) {
6539
+ s1 = peg$c7;
6540
+ peg$currPos++;
6541
+ } else {
6542
+ s1 = peg$FAILED;
6543
+ if (peg$silentFails === 0) { peg$fail(peg$c8); }
6544
+ }
6545
+ if (s1 !== peg$FAILED) {
6546
+ s2 = [];
6547
+ s3 = peg$parsearray_sep();
6548
+ while (s3 !== peg$FAILED) {
6549
+ s2.push(s3);
6550
+ s3 = peg$parsearray_sep();
6551
+ }
6552
+ if (s2 !== peg$FAILED) {
6553
+ if (input.charCodeAt(peg$currPos) === 93) {
6554
+ s3 = peg$c9;
6555
+ peg$currPos++;
6556
+ } else {
6557
+ s3 = peg$FAILED;
6558
+ if (peg$silentFails === 0) { peg$fail(peg$c10); }
6559
+ }
6560
+ if (s3 !== peg$FAILED) {
6561
+ peg$reportedPos = s0;
6562
+ s1 = peg$c57();
6563
+ s0 = s1;
6564
+ } else {
6565
+ peg$currPos = s0;
6566
+ s0 = peg$c2;
6567
+ }
6568
+ } else {
6569
+ peg$currPos = s0;
6570
+ s0 = peg$c2;
6571
+ }
6572
+ } else {
6573
+ peg$currPos = s0;
6574
+ s0 = peg$c2;
6575
+ }
6576
+ if (s0 === peg$FAILED) {
6577
+ s0 = peg$currPos;
6578
+ if (input.charCodeAt(peg$currPos) === 91) {
6579
+ s1 = peg$c7;
6580
+ peg$currPos++;
6581
+ } else {
6582
+ s1 = peg$FAILED;
6583
+ if (peg$silentFails === 0) { peg$fail(peg$c8); }
6584
+ }
6585
+ if (s1 !== peg$FAILED) {
6586
+ s2 = peg$parsearray_value();
6587
+ if (s2 === peg$FAILED) {
6588
+ s2 = peg$c25;
6589
+ }
6590
+ if (s2 !== peg$FAILED) {
6591
+ if (input.charCodeAt(peg$currPos) === 93) {
6592
+ s3 = peg$c9;
6593
+ peg$currPos++;
6594
+ } else {
6595
+ s3 = peg$FAILED;
6596
+ if (peg$silentFails === 0) { peg$fail(peg$c10); }
6597
+ }
6598
+ if (s3 !== peg$FAILED) {
6599
+ peg$reportedPos = s0;
6600
+ s1 = peg$c58(s2);
6601
+ s0 = s1;
6602
+ } else {
6603
+ peg$currPos = s0;
6604
+ s0 = peg$c2;
6605
+ }
6606
+ } else {
6607
+ peg$currPos = s0;
6608
+ s0 = peg$c2;
6609
+ }
6610
+ } else {
6611
+ peg$currPos = s0;
6612
+ s0 = peg$c2;
6613
+ }
6614
+ if (s0 === peg$FAILED) {
6615
+ s0 = peg$currPos;
6616
+ if (input.charCodeAt(peg$currPos) === 91) {
6617
+ s1 = peg$c7;
6618
+ peg$currPos++;
6619
+ } else {
6620
+ s1 = peg$FAILED;
6621
+ if (peg$silentFails === 0) { peg$fail(peg$c8); }
6622
+ }
6623
+ if (s1 !== peg$FAILED) {
6624
+ s2 = [];
6625
+ s3 = peg$parsearray_value_list();
6626
+ if (s3 !== peg$FAILED) {
6627
+ while (s3 !== peg$FAILED) {
6628
+ s2.push(s3);
6629
+ s3 = peg$parsearray_value_list();
6630
+ }
6631
+ } else {
6632
+ s2 = peg$c2;
6633
+ }
6634
+ if (s2 !== peg$FAILED) {
6635
+ if (input.charCodeAt(peg$currPos) === 93) {
6636
+ s3 = peg$c9;
6637
+ peg$currPos++;
6638
+ } else {
6639
+ s3 = peg$FAILED;
6640
+ if (peg$silentFails === 0) { peg$fail(peg$c10); }
6641
+ }
6642
+ if (s3 !== peg$FAILED) {
6643
+ peg$reportedPos = s0;
6644
+ s1 = peg$c59(s2);
6645
+ s0 = s1;
6646
+ } else {
6647
+ peg$currPos = s0;
6648
+ s0 = peg$c2;
6649
+ }
6650
+ } else {
6651
+ peg$currPos = s0;
6652
+ s0 = peg$c2;
6653
+ }
6654
+ } else {
6655
+ peg$currPos = s0;
6656
+ s0 = peg$c2;
6657
+ }
6658
+ if (s0 === peg$FAILED) {
6659
+ s0 = peg$currPos;
6660
+ if (input.charCodeAt(peg$currPos) === 91) {
6661
+ s1 = peg$c7;
6662
+ peg$currPos++;
6663
+ } else {
6664
+ s1 = peg$FAILED;
6665
+ if (peg$silentFails === 0) { peg$fail(peg$c8); }
6666
+ }
6667
+ if (s1 !== peg$FAILED) {
6668
+ s2 = [];
6669
+ s3 = peg$parsearray_value_list();
6670
+ if (s3 !== peg$FAILED) {
6671
+ while (s3 !== peg$FAILED) {
6672
+ s2.push(s3);
6673
+ s3 = peg$parsearray_value_list();
6674
+ }
6675
+ } else {
6676
+ s2 = peg$c2;
6677
+ }
6678
+ if (s2 !== peg$FAILED) {
6679
+ s3 = peg$parsearray_value();
6680
+ if (s3 !== peg$FAILED) {
6681
+ if (input.charCodeAt(peg$currPos) === 93) {
6682
+ s4 = peg$c9;
6683
+ peg$currPos++;
6684
+ } else {
6685
+ s4 = peg$FAILED;
6686
+ if (peg$silentFails === 0) { peg$fail(peg$c10); }
6687
+ }
6688
+ if (s4 !== peg$FAILED) {
6689
+ peg$reportedPos = s0;
6690
+ s1 = peg$c60(s2, s3);
6691
+ s0 = s1;
6692
+ } else {
6693
+ peg$currPos = s0;
6694
+ s0 = peg$c2;
6695
+ }
6696
+ } else {
6697
+ peg$currPos = s0;
6698
+ s0 = peg$c2;
6699
+ }
6700
+ } else {
6701
+ peg$currPos = s0;
6702
+ s0 = peg$c2;
6703
+ }
6704
+ } else {
6705
+ peg$currPos = s0;
6706
+ s0 = peg$c2;
6707
+ }
6708
+ }
6709
+ }
6710
+ }
6711
+
6712
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6713
+
6714
+ return s0;
6715
+ }
6716
+
6717
+ function peg$parsearray_value() {
6718
+ var s0, s1, s2, s3, s4;
6719
+
6720
+ var key = peg$currPos * 49 + 29,
6721
+ cached = peg$cache[key];
6722
+
6723
+ if (cached) {
6724
+ peg$currPos = cached.nextPos;
6725
+ return cached.result;
6726
+ }
6727
+
6728
+ s0 = peg$currPos;
6729
+ s1 = [];
6730
+ s2 = peg$parsearray_sep();
6731
+ while (s2 !== peg$FAILED) {
6732
+ s1.push(s2);
6733
+ s2 = peg$parsearray_sep();
6734
+ }
6735
+ if (s1 !== peg$FAILED) {
6736
+ s2 = peg$parsevalue();
6737
+ if (s2 !== peg$FAILED) {
6738
+ s3 = [];
6739
+ s4 = peg$parsearray_sep();
6740
+ while (s4 !== peg$FAILED) {
6741
+ s3.push(s4);
6742
+ s4 = peg$parsearray_sep();
6743
+ }
6744
+ if (s3 !== peg$FAILED) {
6745
+ peg$reportedPos = s0;
6746
+ s1 = peg$c61(s2);
6747
+ s0 = s1;
6748
+ } else {
6749
+ peg$currPos = s0;
6750
+ s0 = peg$c2;
6751
+ }
6752
+ } else {
6753
+ peg$currPos = s0;
6754
+ s0 = peg$c2;
6755
+ }
6756
+ } else {
6757
+ peg$currPos = s0;
6758
+ s0 = peg$c2;
6759
+ }
6760
+
6761
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6762
+
6763
+ return s0;
6764
+ }
6765
+
6766
+ function peg$parsearray_value_list() {
6767
+ var s0, s1, s2, s3, s4, s5, s6;
6768
+
6769
+ var key = peg$currPos * 49 + 30,
6770
+ cached = peg$cache[key];
6771
+
6772
+ if (cached) {
6773
+ peg$currPos = cached.nextPos;
6774
+ return cached.result;
6775
+ }
6776
+
6777
+ s0 = peg$currPos;
6778
+ s1 = [];
6779
+ s2 = peg$parsearray_sep();
6780
+ while (s2 !== peg$FAILED) {
6781
+ s1.push(s2);
6782
+ s2 = peg$parsearray_sep();
6783
+ }
6784
+ if (s1 !== peg$FAILED) {
6785
+ s2 = peg$parsevalue();
6786
+ if (s2 !== peg$FAILED) {
6787
+ s3 = [];
6788
+ s4 = peg$parsearray_sep();
6789
+ while (s4 !== peg$FAILED) {
6790
+ s3.push(s4);
6791
+ s4 = peg$parsearray_sep();
6792
+ }
6793
+ if (s3 !== peg$FAILED) {
6794
+ if (input.charCodeAt(peg$currPos) === 44) {
6795
+ s4 = peg$c62;
6796
+ peg$currPos++;
6797
+ } else {
6798
+ s4 = peg$FAILED;
6799
+ if (peg$silentFails === 0) { peg$fail(peg$c63); }
6800
+ }
6801
+ if (s4 !== peg$FAILED) {
6802
+ s5 = [];
6803
+ s6 = peg$parsearray_sep();
6804
+ while (s6 !== peg$FAILED) {
6805
+ s5.push(s6);
6806
+ s6 = peg$parsearray_sep();
6807
+ }
6808
+ if (s5 !== peg$FAILED) {
6809
+ peg$reportedPos = s0;
6810
+ s1 = peg$c61(s2);
6811
+ s0 = s1;
6812
+ } else {
6813
+ peg$currPos = s0;
6814
+ s0 = peg$c2;
6815
+ }
6816
+ } else {
6817
+ peg$currPos = s0;
6818
+ s0 = peg$c2;
6819
+ }
6820
+ } else {
6821
+ peg$currPos = s0;
6822
+ s0 = peg$c2;
6823
+ }
6824
+ } else {
6825
+ peg$currPos = s0;
6826
+ s0 = peg$c2;
6827
+ }
6828
+ } else {
6829
+ peg$currPos = s0;
6830
+ s0 = peg$c2;
6831
+ }
6832
+
6833
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6834
+
6835
+ return s0;
6836
+ }
6837
+
6838
+ function peg$parsearray_sep() {
6839
+ var s0;
6840
+
6841
+ var key = peg$currPos * 49 + 31,
6842
+ cached = peg$cache[key];
6843
+
6844
+ if (cached) {
6845
+ peg$currPos = cached.nextPos;
6846
+ return cached.result;
6847
+ }
6848
+
6849
+ s0 = peg$parseS();
6850
+ if (s0 === peg$FAILED) {
6851
+ s0 = peg$parseNL();
6852
+ if (s0 === peg$FAILED) {
6853
+ s0 = peg$parsecomment();
6854
+ }
6855
+ }
6856
+
6857
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6858
+
6859
+ return s0;
6860
+ }
6861
+
6862
+ function peg$parseinline_table() {
6863
+ var s0, s1, s2, s3, s4, s5;
6864
+
6865
+ var key = peg$currPos * 49 + 32,
6866
+ cached = peg$cache[key];
6867
+
6868
+ if (cached) {
6869
+ peg$currPos = cached.nextPos;
6870
+ return cached.result;
6871
+ }
6872
+
6873
+ s0 = peg$currPos;
6874
+ if (input.charCodeAt(peg$currPos) === 123) {
6875
+ s1 = peg$c64;
6876
+ peg$currPos++;
6877
+ } else {
6878
+ s1 = peg$FAILED;
6879
+ if (peg$silentFails === 0) { peg$fail(peg$c65); }
6880
+ }
6881
+ if (s1 !== peg$FAILED) {
6882
+ s2 = [];
6883
+ s3 = peg$parseS();
6884
+ while (s3 !== peg$FAILED) {
6885
+ s2.push(s3);
6886
+ s3 = peg$parseS();
6887
+ }
6888
+ if (s2 !== peg$FAILED) {
6889
+ s3 = [];
6890
+ s4 = peg$parseinline_table_assignment();
6891
+ while (s4 !== peg$FAILED) {
6892
+ s3.push(s4);
6893
+ s4 = peg$parseinline_table_assignment();
6894
+ }
6895
+ if (s3 !== peg$FAILED) {
6896
+ s4 = [];
6897
+ s5 = peg$parseS();
6898
+ while (s5 !== peg$FAILED) {
6899
+ s4.push(s5);
6900
+ s5 = peg$parseS();
6901
+ }
6902
+ if (s4 !== peg$FAILED) {
6903
+ if (input.charCodeAt(peg$currPos) === 125) {
6904
+ s5 = peg$c66;
6905
+ peg$currPos++;
6906
+ } else {
6907
+ s5 = peg$FAILED;
6908
+ if (peg$silentFails === 0) { peg$fail(peg$c67); }
6909
+ }
6910
+ if (s5 !== peg$FAILED) {
6911
+ peg$reportedPos = s0;
6912
+ s1 = peg$c68(s3);
6913
+ s0 = s1;
6914
+ } else {
6915
+ peg$currPos = s0;
6916
+ s0 = peg$c2;
6917
+ }
6918
+ } else {
6919
+ peg$currPos = s0;
6920
+ s0 = peg$c2;
6921
+ }
6922
+ } else {
6923
+ peg$currPos = s0;
6924
+ s0 = peg$c2;
6925
+ }
6926
+ } else {
6927
+ peg$currPos = s0;
6928
+ s0 = peg$c2;
6929
+ }
6930
+ } else {
6931
+ peg$currPos = s0;
6932
+ s0 = peg$c2;
6933
+ }
6934
+
6935
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
6936
+
6937
+ return s0;
6938
+ }
6939
+
6940
+ function peg$parseinline_table_assignment() {
6941
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
6942
+
6943
+ var key = peg$currPos * 49 + 33,
6944
+ cached = peg$cache[key];
6945
+
6946
+ if (cached) {
6947
+ peg$currPos = cached.nextPos;
6948
+ return cached.result;
6949
+ }
6950
+
6951
+ s0 = peg$currPos;
6952
+ s1 = [];
6953
+ s2 = peg$parseS();
6954
+ while (s2 !== peg$FAILED) {
6955
+ s1.push(s2);
6956
+ s2 = peg$parseS();
6957
+ }
6958
+ if (s1 !== peg$FAILED) {
6959
+ s2 = peg$parsekey();
6960
+ if (s2 !== peg$FAILED) {
6961
+ s3 = [];
6962
+ s4 = peg$parseS();
6963
+ while (s4 !== peg$FAILED) {
6964
+ s3.push(s4);
6965
+ s4 = peg$parseS();
6966
+ }
6967
+ if (s3 !== peg$FAILED) {
6968
+ if (input.charCodeAt(peg$currPos) === 61) {
6969
+ s4 = peg$c18;
6970
+ peg$currPos++;
6971
+ } else {
6972
+ s4 = peg$FAILED;
6973
+ if (peg$silentFails === 0) { peg$fail(peg$c19); }
6974
+ }
6975
+ if (s4 !== peg$FAILED) {
6976
+ s5 = [];
6977
+ s6 = peg$parseS();
6978
+ while (s6 !== peg$FAILED) {
6979
+ s5.push(s6);
6980
+ s6 = peg$parseS();
6981
+ }
6982
+ if (s5 !== peg$FAILED) {
6983
+ s6 = peg$parsevalue();
6984
+ if (s6 !== peg$FAILED) {
6985
+ s7 = [];
6986
+ s8 = peg$parseS();
6987
+ while (s8 !== peg$FAILED) {
6988
+ s7.push(s8);
6989
+ s8 = peg$parseS();
6990
+ }
6991
+ if (s7 !== peg$FAILED) {
6992
+ if (input.charCodeAt(peg$currPos) === 44) {
6993
+ s8 = peg$c62;
6994
+ peg$currPos++;
6995
+ } else {
6996
+ s8 = peg$FAILED;
6997
+ if (peg$silentFails === 0) { peg$fail(peg$c63); }
6998
+ }
6999
+ if (s8 !== peg$FAILED) {
7000
+ s9 = [];
7001
+ s10 = peg$parseS();
7002
+ while (s10 !== peg$FAILED) {
7003
+ s9.push(s10);
7004
+ s10 = peg$parseS();
7005
+ }
7006
+ if (s9 !== peg$FAILED) {
7007
+ peg$reportedPos = s0;
7008
+ s1 = peg$c69(s2, s6);
7009
+ s0 = s1;
7010
+ } else {
7011
+ peg$currPos = s0;
7012
+ s0 = peg$c2;
7013
+ }
7014
+ } else {
7015
+ peg$currPos = s0;
7016
+ s0 = peg$c2;
7017
+ }
7018
+ } else {
7019
+ peg$currPos = s0;
7020
+ s0 = peg$c2;
7021
+ }
7022
+ } else {
7023
+ peg$currPos = s0;
7024
+ s0 = peg$c2;
7025
+ }
7026
+ } else {
7027
+ peg$currPos = s0;
7028
+ s0 = peg$c2;
7029
+ }
7030
+ } else {
7031
+ peg$currPos = s0;
7032
+ s0 = peg$c2;
7033
+ }
7034
+ } else {
7035
+ peg$currPos = s0;
7036
+ s0 = peg$c2;
7037
+ }
7038
+ } else {
7039
+ peg$currPos = s0;
7040
+ s0 = peg$c2;
7041
+ }
7042
+ } else {
7043
+ peg$currPos = s0;
7044
+ s0 = peg$c2;
7045
+ }
7046
+ if (s0 === peg$FAILED) {
7047
+ s0 = peg$currPos;
7048
+ s1 = [];
7049
+ s2 = peg$parseS();
7050
+ while (s2 !== peg$FAILED) {
7051
+ s1.push(s2);
7052
+ s2 = peg$parseS();
7053
+ }
7054
+ if (s1 !== peg$FAILED) {
7055
+ s2 = peg$parsekey();
7056
+ if (s2 !== peg$FAILED) {
7057
+ s3 = [];
7058
+ s4 = peg$parseS();
7059
+ while (s4 !== peg$FAILED) {
7060
+ s3.push(s4);
7061
+ s4 = peg$parseS();
7062
+ }
7063
+ if (s3 !== peg$FAILED) {
7064
+ if (input.charCodeAt(peg$currPos) === 61) {
7065
+ s4 = peg$c18;
7066
+ peg$currPos++;
7067
+ } else {
7068
+ s4 = peg$FAILED;
7069
+ if (peg$silentFails === 0) { peg$fail(peg$c19); }
7070
+ }
7071
+ if (s4 !== peg$FAILED) {
7072
+ s5 = [];
7073
+ s6 = peg$parseS();
7074
+ while (s6 !== peg$FAILED) {
7075
+ s5.push(s6);
7076
+ s6 = peg$parseS();
7077
+ }
7078
+ if (s5 !== peg$FAILED) {
7079
+ s6 = peg$parsevalue();
7080
+ if (s6 !== peg$FAILED) {
7081
+ peg$reportedPos = s0;
7082
+ s1 = peg$c69(s2, s6);
7083
+ s0 = s1;
7084
+ } else {
7085
+ peg$currPos = s0;
7086
+ s0 = peg$c2;
7087
+ }
7088
+ } else {
7089
+ peg$currPos = s0;
7090
+ s0 = peg$c2;
7091
+ }
7092
+ } else {
7093
+ peg$currPos = s0;
7094
+ s0 = peg$c2;
7095
+ }
7096
+ } else {
7097
+ peg$currPos = s0;
7098
+ s0 = peg$c2;
7099
+ }
7100
+ } else {
7101
+ peg$currPos = s0;
7102
+ s0 = peg$c2;
7103
+ }
7104
+ } else {
7105
+ peg$currPos = s0;
7106
+ s0 = peg$c2;
7107
+ }
7108
+ }
7109
+
7110
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7111
+
7112
+ return s0;
7113
+ }
7114
+
7115
+ function peg$parsesecfragment() {
7116
+ var s0, s1, s2;
7117
+
7118
+ var key = peg$currPos * 49 + 34,
7119
+ cached = peg$cache[key];
7120
+
7121
+ if (cached) {
7122
+ peg$currPos = cached.nextPos;
7123
+ return cached.result;
7124
+ }
7125
+
7126
+ s0 = peg$currPos;
7127
+ if (input.charCodeAt(peg$currPos) === 46) {
7128
+ s1 = peg$c16;
7129
+ peg$currPos++;
7130
+ } else {
7131
+ s1 = peg$FAILED;
7132
+ if (peg$silentFails === 0) { peg$fail(peg$c17); }
7133
+ }
7134
+ if (s1 !== peg$FAILED) {
7135
+ s2 = peg$parseDIGITS();
7136
+ if (s2 !== peg$FAILED) {
7137
+ peg$reportedPos = s0;
7138
+ s1 = peg$c70(s2);
7139
+ s0 = s1;
7140
+ } else {
7141
+ peg$currPos = s0;
7142
+ s0 = peg$c2;
7143
+ }
7144
+ } else {
7145
+ peg$currPos = s0;
7146
+ s0 = peg$c2;
7147
+ }
7148
+
7149
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7150
+
7151
+ return s0;
7152
+ }
7153
+
7154
+ function peg$parsedate() {
7155
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
7156
+
7157
+ var key = peg$currPos * 49 + 35,
7158
+ cached = peg$cache[key];
7159
+
7160
+ if (cached) {
7161
+ peg$currPos = cached.nextPos;
7162
+ return cached.result;
7163
+ }
7164
+
7165
+ s0 = peg$currPos;
7166
+ s1 = peg$currPos;
7167
+ s2 = peg$parseDIGIT_OR_UNDER();
7168
+ if (s2 !== peg$FAILED) {
7169
+ s3 = peg$parseDIGIT_OR_UNDER();
7170
+ if (s3 !== peg$FAILED) {
7171
+ s4 = peg$parseDIGIT_OR_UNDER();
7172
+ if (s4 !== peg$FAILED) {
7173
+ s5 = peg$parseDIGIT_OR_UNDER();
7174
+ if (s5 !== peg$FAILED) {
7175
+ if (input.charCodeAt(peg$currPos) === 45) {
7176
+ s6 = peg$c47;
7177
+ peg$currPos++;
7178
+ } else {
7179
+ s6 = peg$FAILED;
7180
+ if (peg$silentFails === 0) { peg$fail(peg$c48); }
7181
+ }
7182
+ if (s6 !== peg$FAILED) {
7183
+ s7 = peg$parseDIGIT_OR_UNDER();
7184
+ if (s7 !== peg$FAILED) {
7185
+ s8 = peg$parseDIGIT_OR_UNDER();
7186
+ if (s8 !== peg$FAILED) {
7187
+ if (input.charCodeAt(peg$currPos) === 45) {
7188
+ s9 = peg$c47;
7189
+ peg$currPos++;
7190
+ } else {
7191
+ s9 = peg$FAILED;
7192
+ if (peg$silentFails === 0) { peg$fail(peg$c48); }
7193
+ }
7194
+ if (s9 !== peg$FAILED) {
7195
+ s10 = peg$parseDIGIT_OR_UNDER();
7196
+ if (s10 !== peg$FAILED) {
7197
+ s11 = peg$parseDIGIT_OR_UNDER();
7198
+ if (s11 !== peg$FAILED) {
7199
+ s2 = [s2, s3, s4, s5, s6, s7, s8, s9, s10, s11];
7200
+ s1 = s2;
7201
+ } else {
7202
+ peg$currPos = s1;
7203
+ s1 = peg$c2;
7204
+ }
7205
+ } else {
7206
+ peg$currPos = s1;
7207
+ s1 = peg$c2;
7208
+ }
7209
+ } else {
7210
+ peg$currPos = s1;
7211
+ s1 = peg$c2;
7212
+ }
7213
+ } else {
7214
+ peg$currPos = s1;
7215
+ s1 = peg$c2;
7216
+ }
7217
+ } else {
7218
+ peg$currPos = s1;
7219
+ s1 = peg$c2;
7220
+ }
7221
+ } else {
7222
+ peg$currPos = s1;
7223
+ s1 = peg$c2;
7224
+ }
7225
+ } else {
7226
+ peg$currPos = s1;
7227
+ s1 = peg$c2;
7228
+ }
7229
+ } else {
7230
+ peg$currPos = s1;
7231
+ s1 = peg$c2;
7232
+ }
7233
+ } else {
7234
+ peg$currPos = s1;
7235
+ s1 = peg$c2;
7236
+ }
7237
+ } else {
7238
+ peg$currPos = s1;
7239
+ s1 = peg$c2;
7240
+ }
7241
+ if (s1 !== peg$FAILED) {
7242
+ peg$reportedPos = s0;
7243
+ s1 = peg$c71(s1);
7244
+ }
7245
+ s0 = s1;
7246
+
7247
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7248
+
7249
+ return s0;
7250
+ }
7251
+
7252
+ function peg$parsetime() {
7253
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
7254
+
7255
+ var key = peg$currPos * 49 + 36,
7256
+ cached = peg$cache[key];
7257
+
7258
+ if (cached) {
7259
+ peg$currPos = cached.nextPos;
7260
+ return cached.result;
7261
+ }
7262
+
7263
+ s0 = peg$currPos;
7264
+ s1 = peg$currPos;
7265
+ s2 = peg$parseDIGIT_OR_UNDER();
7266
+ if (s2 !== peg$FAILED) {
7267
+ s3 = peg$parseDIGIT_OR_UNDER();
7268
+ if (s3 !== peg$FAILED) {
7269
+ if (input.charCodeAt(peg$currPos) === 58) {
7270
+ s4 = peg$c72;
7271
+ peg$currPos++;
7272
+ } else {
7273
+ s4 = peg$FAILED;
7274
+ if (peg$silentFails === 0) { peg$fail(peg$c73); }
7275
+ }
7276
+ if (s4 !== peg$FAILED) {
7277
+ s5 = peg$parseDIGIT_OR_UNDER();
7278
+ if (s5 !== peg$FAILED) {
7279
+ s6 = peg$parseDIGIT_OR_UNDER();
7280
+ if (s6 !== peg$FAILED) {
7281
+ if (input.charCodeAt(peg$currPos) === 58) {
7282
+ s7 = peg$c72;
7283
+ peg$currPos++;
7284
+ } else {
7285
+ s7 = peg$FAILED;
7286
+ if (peg$silentFails === 0) { peg$fail(peg$c73); }
7287
+ }
7288
+ if (s7 !== peg$FAILED) {
7289
+ s8 = peg$parseDIGIT_OR_UNDER();
7290
+ if (s8 !== peg$FAILED) {
7291
+ s9 = peg$parseDIGIT_OR_UNDER();
7292
+ if (s9 !== peg$FAILED) {
7293
+ s10 = peg$parsesecfragment();
7294
+ if (s10 === peg$FAILED) {
7295
+ s10 = peg$c25;
7296
+ }
7297
+ if (s10 !== peg$FAILED) {
7298
+ s2 = [s2, s3, s4, s5, s6, s7, s8, s9, s10];
7299
+ s1 = s2;
7300
+ } else {
7301
+ peg$currPos = s1;
7302
+ s1 = peg$c2;
7303
+ }
7304
+ } else {
7305
+ peg$currPos = s1;
7306
+ s1 = peg$c2;
7307
+ }
7308
+ } else {
7309
+ peg$currPos = s1;
7310
+ s1 = peg$c2;
7311
+ }
7312
+ } else {
7313
+ peg$currPos = s1;
7314
+ s1 = peg$c2;
7315
+ }
7316
+ } else {
7317
+ peg$currPos = s1;
7318
+ s1 = peg$c2;
7319
+ }
7320
+ } else {
7321
+ peg$currPos = s1;
7322
+ s1 = peg$c2;
7323
+ }
7324
+ } else {
7325
+ peg$currPos = s1;
7326
+ s1 = peg$c2;
7327
+ }
7328
+ } else {
7329
+ peg$currPos = s1;
7330
+ s1 = peg$c2;
7331
+ }
7332
+ } else {
7333
+ peg$currPos = s1;
7334
+ s1 = peg$c2;
7335
+ }
7336
+ if (s1 !== peg$FAILED) {
7337
+ peg$reportedPos = s0;
7338
+ s1 = peg$c74(s1);
7339
+ }
7340
+ s0 = s1;
7341
+
7342
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7343
+
7344
+ return s0;
7345
+ }
7346
+
7347
+ function peg$parsetime_with_offset() {
7348
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16;
7349
+
7350
+ var key = peg$currPos * 49 + 37,
7351
+ cached = peg$cache[key];
7352
+
7353
+ if (cached) {
7354
+ peg$currPos = cached.nextPos;
7355
+ return cached.result;
7356
+ }
7357
+
7358
+ s0 = peg$currPos;
7359
+ s1 = peg$currPos;
7360
+ s2 = peg$parseDIGIT_OR_UNDER();
7361
+ if (s2 !== peg$FAILED) {
7362
+ s3 = peg$parseDIGIT_OR_UNDER();
7363
+ if (s3 !== peg$FAILED) {
7364
+ if (input.charCodeAt(peg$currPos) === 58) {
7365
+ s4 = peg$c72;
7366
+ peg$currPos++;
7367
+ } else {
7368
+ s4 = peg$FAILED;
7369
+ if (peg$silentFails === 0) { peg$fail(peg$c73); }
7370
+ }
7371
+ if (s4 !== peg$FAILED) {
7372
+ s5 = peg$parseDIGIT_OR_UNDER();
7373
+ if (s5 !== peg$FAILED) {
7374
+ s6 = peg$parseDIGIT_OR_UNDER();
7375
+ if (s6 !== peg$FAILED) {
7376
+ if (input.charCodeAt(peg$currPos) === 58) {
7377
+ s7 = peg$c72;
7378
+ peg$currPos++;
7379
+ } else {
7380
+ s7 = peg$FAILED;
7381
+ if (peg$silentFails === 0) { peg$fail(peg$c73); }
7382
+ }
7383
+ if (s7 !== peg$FAILED) {
7384
+ s8 = peg$parseDIGIT_OR_UNDER();
7385
+ if (s8 !== peg$FAILED) {
7386
+ s9 = peg$parseDIGIT_OR_UNDER();
7387
+ if (s9 !== peg$FAILED) {
7388
+ s10 = peg$parsesecfragment();
7389
+ if (s10 === peg$FAILED) {
7390
+ s10 = peg$c25;
7391
+ }
7392
+ if (s10 !== peg$FAILED) {
7393
+ if (input.charCodeAt(peg$currPos) === 45) {
7394
+ s11 = peg$c47;
7395
+ peg$currPos++;
7396
+ } else {
7397
+ s11 = peg$FAILED;
7398
+ if (peg$silentFails === 0) { peg$fail(peg$c48); }
7399
+ }
7400
+ if (s11 === peg$FAILED) {
7401
+ if (input.charCodeAt(peg$currPos) === 43) {
7402
+ s11 = peg$c44;
7403
+ peg$currPos++;
7404
+ } else {
7405
+ s11 = peg$FAILED;
7406
+ if (peg$silentFails === 0) { peg$fail(peg$c45); }
7407
+ }
7408
+ }
7409
+ if (s11 !== peg$FAILED) {
7410
+ s12 = peg$parseDIGIT_OR_UNDER();
7411
+ if (s12 !== peg$FAILED) {
7412
+ s13 = peg$parseDIGIT_OR_UNDER();
7413
+ if (s13 !== peg$FAILED) {
7414
+ if (input.charCodeAt(peg$currPos) === 58) {
7415
+ s14 = peg$c72;
7416
+ peg$currPos++;
7417
+ } else {
7418
+ s14 = peg$FAILED;
7419
+ if (peg$silentFails === 0) { peg$fail(peg$c73); }
7420
+ }
7421
+ if (s14 !== peg$FAILED) {
7422
+ s15 = peg$parseDIGIT_OR_UNDER();
7423
+ if (s15 !== peg$FAILED) {
7424
+ s16 = peg$parseDIGIT_OR_UNDER();
7425
+ if (s16 !== peg$FAILED) {
7426
+ s2 = [s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16];
7427
+ s1 = s2;
7428
+ } else {
7429
+ peg$currPos = s1;
7430
+ s1 = peg$c2;
7431
+ }
7432
+ } else {
7433
+ peg$currPos = s1;
7434
+ s1 = peg$c2;
7435
+ }
7436
+ } else {
7437
+ peg$currPos = s1;
7438
+ s1 = peg$c2;
7439
+ }
7440
+ } else {
7441
+ peg$currPos = s1;
7442
+ s1 = peg$c2;
7443
+ }
7444
+ } else {
7445
+ peg$currPos = s1;
7446
+ s1 = peg$c2;
7447
+ }
7448
+ } else {
7449
+ peg$currPos = s1;
7450
+ s1 = peg$c2;
7451
+ }
7452
+ } else {
7453
+ peg$currPos = s1;
7454
+ s1 = peg$c2;
7455
+ }
7456
+ } else {
7457
+ peg$currPos = s1;
7458
+ s1 = peg$c2;
7459
+ }
7460
+ } else {
7461
+ peg$currPos = s1;
7462
+ s1 = peg$c2;
7463
+ }
7464
+ } else {
7465
+ peg$currPos = s1;
7466
+ s1 = peg$c2;
7467
+ }
7468
+ } else {
7469
+ peg$currPos = s1;
7470
+ s1 = peg$c2;
7471
+ }
7472
+ } else {
7473
+ peg$currPos = s1;
7474
+ s1 = peg$c2;
7475
+ }
7476
+ } else {
7477
+ peg$currPos = s1;
7478
+ s1 = peg$c2;
7479
+ }
7480
+ } else {
7481
+ peg$currPos = s1;
7482
+ s1 = peg$c2;
7483
+ }
7484
+ } else {
7485
+ peg$currPos = s1;
7486
+ s1 = peg$c2;
7487
+ }
7488
+ if (s1 !== peg$FAILED) {
7489
+ peg$reportedPos = s0;
7490
+ s1 = peg$c74(s1);
7491
+ }
7492
+ s0 = s1;
7493
+
7494
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7495
+
7496
+ return s0;
7497
+ }
7498
+
7499
+ function peg$parsedatetime() {
7500
+ var s0, s1, s2, s3, s4;
7501
+
7502
+ var key = peg$currPos * 49 + 38,
7503
+ cached = peg$cache[key];
7504
+
7505
+ if (cached) {
7506
+ peg$currPos = cached.nextPos;
7507
+ return cached.result;
7508
+ }
7509
+
7510
+ s0 = peg$currPos;
7511
+ s1 = peg$parsedate();
7512
+ if (s1 !== peg$FAILED) {
7513
+ if (input.charCodeAt(peg$currPos) === 84) {
7514
+ s2 = peg$c75;
7515
+ peg$currPos++;
7516
+ } else {
7517
+ s2 = peg$FAILED;
7518
+ if (peg$silentFails === 0) { peg$fail(peg$c76); }
7519
+ }
7520
+ if (s2 !== peg$FAILED) {
7521
+ s3 = peg$parsetime();
7522
+ if (s3 !== peg$FAILED) {
7523
+ if (input.charCodeAt(peg$currPos) === 90) {
7524
+ s4 = peg$c77;
7525
+ peg$currPos++;
7526
+ } else {
7527
+ s4 = peg$FAILED;
7528
+ if (peg$silentFails === 0) { peg$fail(peg$c78); }
7529
+ }
7530
+ if (s4 !== peg$FAILED) {
7531
+ peg$reportedPos = s0;
7532
+ s1 = peg$c79(s1, s3);
7533
+ s0 = s1;
7534
+ } else {
7535
+ peg$currPos = s0;
7536
+ s0 = peg$c2;
7537
+ }
7538
+ } else {
7539
+ peg$currPos = s0;
7540
+ s0 = peg$c2;
7541
+ }
7542
+ } else {
7543
+ peg$currPos = s0;
7544
+ s0 = peg$c2;
7545
+ }
7546
+ } else {
7547
+ peg$currPos = s0;
7548
+ s0 = peg$c2;
7549
+ }
7550
+ if (s0 === peg$FAILED) {
7551
+ s0 = peg$currPos;
7552
+ s1 = peg$parsedate();
7553
+ if (s1 !== peg$FAILED) {
7554
+ if (input.charCodeAt(peg$currPos) === 84) {
7555
+ s2 = peg$c75;
7556
+ peg$currPos++;
7557
+ } else {
7558
+ s2 = peg$FAILED;
7559
+ if (peg$silentFails === 0) { peg$fail(peg$c76); }
7560
+ }
7561
+ if (s2 !== peg$FAILED) {
7562
+ s3 = peg$parsetime_with_offset();
7563
+ if (s3 !== peg$FAILED) {
7564
+ peg$reportedPos = s0;
7565
+ s1 = peg$c80(s1, s3);
7566
+ s0 = s1;
7567
+ } else {
7568
+ peg$currPos = s0;
7569
+ s0 = peg$c2;
7570
+ }
7571
+ } else {
7572
+ peg$currPos = s0;
7573
+ s0 = peg$c2;
7574
+ }
7575
+ } else {
7576
+ peg$currPos = s0;
7577
+ s0 = peg$c2;
7578
+ }
7579
+ }
7580
+
7581
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7582
+
7583
+ return s0;
7584
+ }
7585
+
7586
+ function peg$parseS() {
7587
+ var s0;
7588
+
7589
+ var key = peg$currPos * 49 + 39,
7590
+ cached = peg$cache[key];
7591
+
7592
+ if (cached) {
7593
+ peg$currPos = cached.nextPos;
7594
+ return cached.result;
7595
+ }
7596
+
7597
+ if (peg$c81.test(input.charAt(peg$currPos))) {
7598
+ s0 = input.charAt(peg$currPos);
7599
+ peg$currPos++;
7600
+ } else {
7601
+ s0 = peg$FAILED;
7602
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
7603
+ }
7604
+
7605
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7606
+
7607
+ return s0;
7608
+ }
7609
+
7610
+ function peg$parseNL() {
7611
+ var s0, s1, s2;
7612
+
7613
+ var key = peg$currPos * 49 + 40,
7614
+ cached = peg$cache[key];
7615
+
7616
+ if (cached) {
7617
+ peg$currPos = cached.nextPos;
7618
+ return cached.result;
7619
+ }
7620
+
7621
+ if (input.charCodeAt(peg$currPos) === 10) {
7622
+ s0 = peg$c83;
7623
+ peg$currPos++;
7624
+ } else {
7625
+ s0 = peg$FAILED;
7626
+ if (peg$silentFails === 0) { peg$fail(peg$c84); }
7627
+ }
7628
+ if (s0 === peg$FAILED) {
7629
+ s0 = peg$currPos;
7630
+ if (input.charCodeAt(peg$currPos) === 13) {
7631
+ s1 = peg$c85;
7632
+ peg$currPos++;
7633
+ } else {
7634
+ s1 = peg$FAILED;
7635
+ if (peg$silentFails === 0) { peg$fail(peg$c86); }
7636
+ }
7637
+ if (s1 !== peg$FAILED) {
7638
+ if (input.charCodeAt(peg$currPos) === 10) {
7639
+ s2 = peg$c83;
7640
+ peg$currPos++;
7641
+ } else {
7642
+ s2 = peg$FAILED;
7643
+ if (peg$silentFails === 0) { peg$fail(peg$c84); }
7644
+ }
7645
+ if (s2 !== peg$FAILED) {
7646
+ s1 = [s1, s2];
7647
+ s0 = s1;
7648
+ } else {
7649
+ peg$currPos = s0;
7650
+ s0 = peg$c2;
7651
+ }
7652
+ } else {
7653
+ peg$currPos = s0;
7654
+ s0 = peg$c2;
7655
+ }
7656
+ }
7657
+
7658
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7659
+
7660
+ return s0;
7661
+ }
7662
+
7663
+ function peg$parseNLS() {
7664
+ var s0;
7665
+
7666
+ var key = peg$currPos * 49 + 41,
7667
+ cached = peg$cache[key];
7668
+
7669
+ if (cached) {
7670
+ peg$currPos = cached.nextPos;
7671
+ return cached.result;
7672
+ }
7673
+
7674
+ s0 = peg$parseNL();
7675
+ if (s0 === peg$FAILED) {
7676
+ s0 = peg$parseS();
7677
+ }
7678
+
7679
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7680
+
7681
+ return s0;
7682
+ }
7683
+
7684
+ function peg$parseEOF() {
7685
+ var s0, s1;
7686
+
7687
+ var key = peg$currPos * 49 + 42,
7688
+ cached = peg$cache[key];
7689
+
7690
+ if (cached) {
7691
+ peg$currPos = cached.nextPos;
7692
+ return cached.result;
7693
+ }
7694
+
7695
+ s0 = peg$currPos;
7696
+ peg$silentFails++;
7697
+ if (input.length > peg$currPos) {
7698
+ s1 = input.charAt(peg$currPos);
7699
+ peg$currPos++;
7700
+ } else {
7701
+ s1 = peg$FAILED;
7702
+ if (peg$silentFails === 0) { peg$fail(peg$c6); }
7703
+ }
7704
+ peg$silentFails--;
7705
+ if (s1 === peg$FAILED) {
7706
+ s0 = peg$c5;
7707
+ } else {
7708
+ peg$currPos = s0;
7709
+ s0 = peg$c2;
7710
+ }
7711
+
7712
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7713
+
7714
+ return s0;
7715
+ }
7716
+
7717
+ function peg$parseHEX() {
7718
+ var s0;
7719
+
7720
+ var key = peg$currPos * 49 + 43,
7721
+ cached = peg$cache[key];
7722
+
7723
+ if (cached) {
7724
+ peg$currPos = cached.nextPos;
7725
+ return cached.result;
7726
+ }
7727
+
7728
+ if (peg$c87.test(input.charAt(peg$currPos))) {
7729
+ s0 = input.charAt(peg$currPos);
7730
+ peg$currPos++;
7731
+ } else {
7732
+ s0 = peg$FAILED;
7733
+ if (peg$silentFails === 0) { peg$fail(peg$c88); }
7734
+ }
7735
+
7736
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7737
+
7738
+ return s0;
7739
+ }
7740
+
7741
+ function peg$parseDIGIT_OR_UNDER() {
7742
+ var s0, s1;
7743
+
7744
+ var key = peg$currPos * 49 + 44,
7745
+ cached = peg$cache[key];
7746
+
7747
+ if (cached) {
7748
+ peg$currPos = cached.nextPos;
7749
+ return cached.result;
7750
+ }
7751
+
7752
+ if (peg$c89.test(input.charAt(peg$currPos))) {
7753
+ s0 = input.charAt(peg$currPos);
7754
+ peg$currPos++;
7755
+ } else {
7756
+ s0 = peg$FAILED;
7757
+ if (peg$silentFails === 0) { peg$fail(peg$c90); }
7758
+ }
7759
+ if (s0 === peg$FAILED) {
7760
+ s0 = peg$currPos;
7761
+ if (input.charCodeAt(peg$currPos) === 95) {
7762
+ s1 = peg$c91;
7763
+ peg$currPos++;
7764
+ } else {
7765
+ s1 = peg$FAILED;
7766
+ if (peg$silentFails === 0) { peg$fail(peg$c92); }
7767
+ }
7768
+ if (s1 !== peg$FAILED) {
7769
+ peg$reportedPos = s0;
7770
+ s1 = peg$c93();
7771
+ }
7772
+ s0 = s1;
7773
+ }
7774
+
7775
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7776
+
7777
+ return s0;
7778
+ }
7779
+
7780
+ function peg$parseASCII_BASIC() {
7781
+ var s0;
7782
+
7783
+ var key = peg$currPos * 49 + 45,
7784
+ cached = peg$cache[key];
7785
+
7786
+ if (cached) {
7787
+ peg$currPos = cached.nextPos;
7788
+ return cached.result;
7789
+ }
7790
+
7791
+ if (peg$c94.test(input.charAt(peg$currPos))) {
7792
+ s0 = input.charAt(peg$currPos);
7793
+ peg$currPos++;
7794
+ } else {
7795
+ s0 = peg$FAILED;
7796
+ if (peg$silentFails === 0) { peg$fail(peg$c95); }
7797
+ }
7798
+
7799
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7800
+
7801
+ return s0;
7802
+ }
7803
+
7804
+ function peg$parseDIGITS() {
7805
+ var s0, s1, s2;
7806
+
7807
+ var key = peg$currPos * 49 + 46,
7808
+ cached = peg$cache[key];
7809
+
7810
+ if (cached) {
7811
+ peg$currPos = cached.nextPos;
7812
+ return cached.result;
7813
+ }
7814
+
7815
+ s0 = peg$currPos;
7816
+ s1 = [];
7817
+ s2 = peg$parseDIGIT_OR_UNDER();
7818
+ if (s2 !== peg$FAILED) {
7819
+ while (s2 !== peg$FAILED) {
7820
+ s1.push(s2);
7821
+ s2 = peg$parseDIGIT_OR_UNDER();
7822
+ }
7823
+ } else {
7824
+ s1 = peg$c2;
7825
+ }
7826
+ if (s1 !== peg$FAILED) {
7827
+ peg$reportedPos = s0;
7828
+ s1 = peg$c96(s1);
7829
+ }
7830
+ s0 = s1;
7831
+
7832
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7833
+
7834
+ return s0;
7835
+ }
7836
+
7837
+ function peg$parseESCAPED() {
7838
+ var s0, s1;
7839
+
7840
+ var key = peg$currPos * 49 + 47,
7841
+ cached = peg$cache[key];
7842
+
7843
+ if (cached) {
7844
+ peg$currPos = cached.nextPos;
7845
+ return cached.result;
7846
+ }
7847
+
7848
+ s0 = peg$currPos;
7849
+ if (input.substr(peg$currPos, 2) === peg$c97) {
7850
+ s1 = peg$c97;
7851
+ peg$currPos += 2;
7852
+ } else {
7853
+ s1 = peg$FAILED;
7854
+ if (peg$silentFails === 0) { peg$fail(peg$c98); }
7855
+ }
7856
+ if (s1 !== peg$FAILED) {
7857
+ peg$reportedPos = s0;
7858
+ s1 = peg$c99();
7859
+ }
7860
+ s0 = s1;
7861
+ if (s0 === peg$FAILED) {
7862
+ s0 = peg$currPos;
7863
+ if (input.substr(peg$currPos, 2) === peg$c100) {
7864
+ s1 = peg$c100;
7865
+ peg$currPos += 2;
7866
+ } else {
7867
+ s1 = peg$FAILED;
7868
+ if (peg$silentFails === 0) { peg$fail(peg$c101); }
7869
+ }
7870
+ if (s1 !== peg$FAILED) {
7871
+ peg$reportedPos = s0;
7872
+ s1 = peg$c102();
7873
+ }
7874
+ s0 = s1;
7875
+ if (s0 === peg$FAILED) {
7876
+ s0 = peg$currPos;
7877
+ if (input.substr(peg$currPos, 2) === peg$c103) {
7878
+ s1 = peg$c103;
7879
+ peg$currPos += 2;
7880
+ } else {
7881
+ s1 = peg$FAILED;
7882
+ if (peg$silentFails === 0) { peg$fail(peg$c104); }
7883
+ }
7884
+ if (s1 !== peg$FAILED) {
7885
+ peg$reportedPos = s0;
7886
+ s1 = peg$c105();
7887
+ }
7888
+ s0 = s1;
7889
+ if (s0 === peg$FAILED) {
7890
+ s0 = peg$currPos;
7891
+ if (input.substr(peg$currPos, 2) === peg$c106) {
7892
+ s1 = peg$c106;
7893
+ peg$currPos += 2;
7894
+ } else {
7895
+ s1 = peg$FAILED;
7896
+ if (peg$silentFails === 0) { peg$fail(peg$c107); }
7897
+ }
7898
+ if (s1 !== peg$FAILED) {
7899
+ peg$reportedPos = s0;
7900
+ s1 = peg$c108();
7901
+ }
7902
+ s0 = s1;
7903
+ if (s0 === peg$FAILED) {
7904
+ s0 = peg$currPos;
7905
+ if (input.substr(peg$currPos, 2) === peg$c109) {
7906
+ s1 = peg$c109;
7907
+ peg$currPos += 2;
7908
+ } else {
7909
+ s1 = peg$FAILED;
7910
+ if (peg$silentFails === 0) { peg$fail(peg$c110); }
7911
+ }
7912
+ if (s1 !== peg$FAILED) {
7913
+ peg$reportedPos = s0;
7914
+ s1 = peg$c111();
7915
+ }
7916
+ s0 = s1;
7917
+ if (s0 === peg$FAILED) {
7918
+ s0 = peg$currPos;
7919
+ if (input.substr(peg$currPos, 2) === peg$c112) {
7920
+ s1 = peg$c112;
7921
+ peg$currPos += 2;
7922
+ } else {
7923
+ s1 = peg$FAILED;
7924
+ if (peg$silentFails === 0) { peg$fail(peg$c113); }
7925
+ }
7926
+ if (s1 !== peg$FAILED) {
7927
+ peg$reportedPos = s0;
7928
+ s1 = peg$c114();
7929
+ }
7930
+ s0 = s1;
7931
+ if (s0 === peg$FAILED) {
7932
+ s0 = peg$currPos;
7933
+ if (input.substr(peg$currPos, 2) === peg$c115) {
7934
+ s1 = peg$c115;
7935
+ peg$currPos += 2;
7936
+ } else {
7937
+ s1 = peg$FAILED;
7938
+ if (peg$silentFails === 0) { peg$fail(peg$c116); }
7939
+ }
7940
+ if (s1 !== peg$FAILED) {
7941
+ peg$reportedPos = s0;
7942
+ s1 = peg$c117();
7943
+ }
7944
+ s0 = s1;
7945
+ if (s0 === peg$FAILED) {
7946
+ s0 = peg$parseESCAPED_UNICODE();
7947
+ }
7948
+ }
7949
+ }
7950
+ }
7951
+ }
7952
+ }
7953
+ }
7954
+
7955
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
7956
+
7957
+ return s0;
7958
+ }
7959
+
7960
+ function peg$parseESCAPED_UNICODE() {
7961
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
7962
+
7963
+ var key = peg$currPos * 49 + 48,
7964
+ cached = peg$cache[key];
7965
+
7966
+ if (cached) {
7967
+ peg$currPos = cached.nextPos;
7968
+ return cached.result;
7969
+ }
7970
+
7971
+ s0 = peg$currPos;
7972
+ if (input.substr(peg$currPos, 2) === peg$c118) {
7973
+ s1 = peg$c118;
7974
+ peg$currPos += 2;
7975
+ } else {
7976
+ s1 = peg$FAILED;
7977
+ if (peg$silentFails === 0) { peg$fail(peg$c119); }
7978
+ }
7979
+ if (s1 !== peg$FAILED) {
7980
+ s2 = peg$currPos;
7981
+ s3 = peg$parseHEX();
7982
+ if (s3 !== peg$FAILED) {
7983
+ s4 = peg$parseHEX();
7984
+ if (s4 !== peg$FAILED) {
7985
+ s5 = peg$parseHEX();
7986
+ if (s5 !== peg$FAILED) {
7987
+ s6 = peg$parseHEX();
7988
+ if (s6 !== peg$FAILED) {
7989
+ s7 = peg$parseHEX();
7990
+ if (s7 !== peg$FAILED) {
7991
+ s8 = peg$parseHEX();
7992
+ if (s8 !== peg$FAILED) {
7993
+ s9 = peg$parseHEX();
7994
+ if (s9 !== peg$FAILED) {
7995
+ s10 = peg$parseHEX();
7996
+ if (s10 !== peg$FAILED) {
7997
+ s3 = [s3, s4, s5, s6, s7, s8, s9, s10];
7998
+ s2 = s3;
7999
+ } else {
8000
+ peg$currPos = s2;
8001
+ s2 = peg$c2;
8002
+ }
8003
+ } else {
8004
+ peg$currPos = s2;
8005
+ s2 = peg$c2;
8006
+ }
8007
+ } else {
8008
+ peg$currPos = s2;
8009
+ s2 = peg$c2;
8010
+ }
8011
+ } else {
8012
+ peg$currPos = s2;
8013
+ s2 = peg$c2;
8014
+ }
8015
+ } else {
8016
+ peg$currPos = s2;
8017
+ s2 = peg$c2;
8018
+ }
8019
+ } else {
8020
+ peg$currPos = s2;
8021
+ s2 = peg$c2;
8022
+ }
8023
+ } else {
8024
+ peg$currPos = s2;
8025
+ s2 = peg$c2;
8026
+ }
8027
+ } else {
8028
+ peg$currPos = s2;
8029
+ s2 = peg$c2;
8030
+ }
8031
+ if (s2 !== peg$FAILED) {
8032
+ peg$reportedPos = s0;
8033
+ s1 = peg$c120(s2);
8034
+ s0 = s1;
8035
+ } else {
8036
+ peg$currPos = s0;
8037
+ s0 = peg$c2;
8038
+ }
8039
+ } else {
8040
+ peg$currPos = s0;
8041
+ s0 = peg$c2;
8042
+ }
8043
+ if (s0 === peg$FAILED) {
8044
+ s0 = peg$currPos;
8045
+ if (input.substr(peg$currPos, 2) === peg$c121) {
8046
+ s1 = peg$c121;
8047
+ peg$currPos += 2;
8048
+ } else {
8049
+ s1 = peg$FAILED;
8050
+ if (peg$silentFails === 0) { peg$fail(peg$c122); }
8051
+ }
8052
+ if (s1 !== peg$FAILED) {
8053
+ s2 = peg$currPos;
8054
+ s3 = peg$parseHEX();
8055
+ if (s3 !== peg$FAILED) {
8056
+ s4 = peg$parseHEX();
8057
+ if (s4 !== peg$FAILED) {
8058
+ s5 = peg$parseHEX();
8059
+ if (s5 !== peg$FAILED) {
8060
+ s6 = peg$parseHEX();
8061
+ if (s6 !== peg$FAILED) {
8062
+ s3 = [s3, s4, s5, s6];
8063
+ s2 = s3;
8064
+ } else {
8065
+ peg$currPos = s2;
8066
+ s2 = peg$c2;
8067
+ }
8068
+ } else {
8069
+ peg$currPos = s2;
8070
+ s2 = peg$c2;
8071
+ }
8072
+ } else {
8073
+ peg$currPos = s2;
8074
+ s2 = peg$c2;
8075
+ }
8076
+ } else {
8077
+ peg$currPos = s2;
8078
+ s2 = peg$c2;
8079
+ }
8080
+ if (s2 !== peg$FAILED) {
8081
+ peg$reportedPos = s0;
8082
+ s1 = peg$c120(s2);
8083
+ s0 = s1;
8084
+ } else {
8085
+ peg$currPos = s0;
8086
+ s0 = peg$c2;
8087
+ }
8088
+ } else {
8089
+ peg$currPos = s0;
8090
+ s0 = peg$c2;
8091
+ }
8092
+ }
8093
+
8094
+ peg$cache[key] = { nextPos: peg$currPos, result: s0 };
8095
+
8096
+ return s0;
8097
+ }
8098
+
8099
+
8100
+ var nodes = [];
8101
+
8102
+ function genError(err, line, col) {
8103
+ var ex = new Error(err);
8104
+ ex.line = line;
8105
+ ex.column = col;
8106
+ throw ex;
8107
+ }
8108
+
8109
+ function addNode(node) {
8110
+ nodes.push(node);
8111
+ }
8112
+
8113
+ function node(type, value, line, column, key) {
8114
+ var obj = { type: type, value: value, line: line(), column: column() };
8115
+ if (key) obj.key = key;
8116
+ return obj;
8117
+ }
8118
+
8119
+ function convertCodePoint(str, line, col) {
8120
+ var num = parseInt("0x" + str);
8121
+
8122
+ if (
8123
+ !isFinite(num) ||
8124
+ Math.floor(num) != num ||
8125
+ num < 0 ||
8126
+ num > 0x10FFFF ||
8127
+ (num > 0xD7FF && num < 0xE000)
8128
+ ) {
8129
+ genError("Invalid Unicode escape code: " + str, line, col);
8130
+ } else {
8131
+ return fromCodePoint(num);
8132
+ }
8133
+ }
8134
+
8135
+ function fromCodePoint() {
8136
+ var MAX_SIZE = 0x4000;
8137
+ var codeUnits = [];
8138
+ var highSurrogate;
8139
+ var lowSurrogate;
8140
+ var index = -1;
8141
+ var length = arguments.length;
8142
+ if (!length) {
8143
+ return '';
8144
+ }
8145
+ var result = '';
8146
+ while (++index < length) {
8147
+ var codePoint = Number(arguments[index]);
8148
+ if (codePoint <= 0xFFFF) { // BMP code point
8149
+ codeUnits.push(codePoint);
8150
+ } else { // Astral code point; split in surrogate halves
8151
+ // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
8152
+ codePoint -= 0x10000;
8153
+ highSurrogate = (codePoint >> 10) + 0xD800;
8154
+ lowSurrogate = (codePoint % 0x400) + 0xDC00;
8155
+ codeUnits.push(highSurrogate, lowSurrogate);
8156
+ }
8157
+ if (index + 1 == length || codeUnits.length > MAX_SIZE) {
8158
+ result += String.fromCharCode.apply(null, codeUnits);
8159
+ codeUnits.length = 0;
8160
+ }
8161
+ }
8162
+ return result;
8163
+ }
8164
+
8165
+
8166
+ peg$result = peg$startRuleFunction();
8167
+
8168
+ if (peg$result !== peg$FAILED && peg$currPos === input.length) {
8169
+ return peg$result;
8170
+ } else {
8171
+ if (peg$result !== peg$FAILED && peg$currPos < input.length) {
8172
+ peg$fail({ type: "end", description: "end of input" });
8173
+ }
8174
+
8175
+ throw peg$buildException(null, peg$maxFailExpected, peg$maxFailPos);
8176
+ }
8177
+ }
8178
+
8179
+ return {
8180
+ SyntaxError: SyntaxError,
8181
+ parse: parse
8182
+ };
8183
+ })();
8184
+
8185
+
4119
8186
  /***/ }),
4120
8187
 
4121
8188
  /***/ 76158:
@@ -6103,4 +10170,4 @@ module.exports = {"i":"2.19.5"};
6103
10170
 
6104
10171
  };
6105
10172
  ;
6106
- //# sourceMappingURL=38.index.js.map
10173
+ //# sourceMappingURL=674.index.js.map