{
  "type": "File",
  "start": 0,
  "end": 3503,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 131,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 3503,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 131,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 28,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 28
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 7,
            "end": 13,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 13
              }
            },
            "local": {
              "type": "Identifier",
              "start": 7,
              "end": 13,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 7
                },
                "end": {
                  "line": 1,
                  "column": 13
                },
                "identifierName": "assert"
              },
              "name": "assert"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 19,
          "end": 27,
          "loc": {
            "start": {
              "line": 1,
              "column": 19
            },
            "end": {
              "line": 1,
              "column": 27
            }
          },
          "extra": {
            "rawValue": "assert",
            "raw": "\"assert\""
          },
          "value": "assert"
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " from https://github.com/bitcoinjs/bitcoinjs-lib",
            "start": 29,
            "end": 79,
            "loc": {
              "start": {
                "line": 1,
                "column": 29
              },
              "end": {
                "line": 1,
                "column": 79
              }
            }
          }
        ]
      },
      {
        "type": "ImportDeclaration",
        "start": 80,
        "end": 122,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 42
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 87,
            "end": 98,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 18
              }
            },
            "local": {
              "type": "Identifier",
              "start": 87,
              "end": 98,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 18
                },
                "identifierName": "enforceType"
              },
              "name": "enforceType",
              "leadingComments": null
            },
            "leadingComments": null
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 104,
          "end": 121,
          "loc": {
            "start": {
              "line": 2,
              "column": 24
            },
            "end": {
              "line": 2,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./enforce_types",
            "raw": "\"./enforce_types\""
          },
          "value": "./enforce_types"
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " from https://github.com/bitcoinjs/bitcoinjs-lib",
            "start": 29,
            "end": 79,
            "loc": {
              "start": {
                "line": 1,
                "column": 29
              },
              "end": {
                "line": 1,
                "column": 79
              }
            }
          }
        ]
      },
      {
        "type": "ImportDeclaration",
        "start": 123,
        "end": 153,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 30
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 130,
            "end": 140,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 17
              }
            },
            "local": {
              "type": "Identifier",
              "start": 130,
              "end": 140,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 17
                },
                "identifierName": "BigInteger"
              },
              "name": "BigInteger"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 146,
          "end": 152,
          "loc": {
            "start": {
              "line": 3,
              "column": 23
            },
            "end": {
              "line": 3,
              "column": 29
            }
          },
          "extra": {
            "rawValue": "bigi",
            "raw": "\"bigi\""
          },
          "value": "bigi"
        }
      },
      {
        "type": "VariableDeclaration",
        "start": 154,
        "end": 199,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 45
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 160,
            "end": 198,
            "loc": {
              "start": {
                "line": 4,
                "column": 6
              },
              "end": {
                "line": 4,
                "column": 44
              }
            },
            "id": {
              "type": "Identifier",
              "start": 160,
              "end": 166,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 6
                },
                "end": {
                  "line": 4,
                  "column": 12
                },
                "identifierName": "Buffer"
              },
              "name": "Buffer"
            },
            "init": {
              "type": "MemberExpression",
              "start": 169,
              "end": 198,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 15
                },
                "end": {
                  "line": 4,
                  "column": 44
                }
              },
              "object": {
                "type": "CallExpression",
                "start": 169,
                "end": 191,
                "loc": {
                  "start": {
                    "line": 4,
                    "column": 15
                  },
                  "end": {
                    "line": 4,
                    "column": 37
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 169,
                  "end": 176,
                  "loc": {
                    "start": {
                      "line": 4,
                      "column": 15
                    },
                    "end": {
                      "line": 4,
                      "column": 22
                    },
                    "identifierName": "require"
                  },
                  "name": "require"
                },
                "arguments": [
                  {
                    "type": "StringLiteral",
                    "start": 177,
                    "end": 190,
                    "loc": {
                      "start": {
                        "line": 4,
                        "column": 23
                      },
                      "end": {
                        "line": 4,
                        "column": 36
                      }
                    },
                    "extra": {
                      "rawValue": "safe-buffer",
                      "raw": "\"safe-buffer\""
                    },
                    "value": "safe-buffer"
                  }
                ]
              },
              "property": {
                "type": "Identifier",
                "start": 192,
                "end": 198,
                "loc": {
                  "start": {
                    "line": 4,
                    "column": 38
                  },
                  "end": {
                    "line": 4,
                    "column": 44
                  },
                  "identifierName": "Buffer"
                },
                "name": "Buffer"
              },
              "computed": false
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "Identifier",
        "start": 201,
        "end": 328,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 12,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 210,
          "end": 221,
          "loc": {
            "start": {
              "line": 6,
              "column": 9
            },
            "end": {
              "line": 6,
              "column": 20
            },
            "identifierName": "ECSignature"
          },
          "name": "ECSignature"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 222,
            "end": 223,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 22
              },
              "identifierName": "r"
            },
            "name": "r"
          },
          {
            "type": "Identifier",
            "start": 225,
            "end": 226,
            "loc": {
              "start": {
                "line": 6,
                "column": 24
              },
              "end": {
                "line": 6,
                "column": 25
              },
              "identifierName": "s"
            },
            "name": "s"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 228,
          "end": 328,
          "loc": {
            "start": {
              "line": 6,
              "column": 27
            },
            "end": {
              "line": 12,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ExpressionStatement",
              "start": 234,
              "end": 261,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 4
                },
                "end": {
                  "line": 7,
                  "column": 31
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 234,
                "end": 260,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 4
                  },
                  "end": {
                    "line": 7,
                    "column": 30
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 234,
                  "end": 245,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 4
                    },
                    "end": {
                      "line": 7,
                      "column": 15
                    },
                    "identifierName": "enforceType"
                  },
                  "name": "enforceType"
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 246,
                    "end": 256,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 16
                      },
                      "end": {
                        "line": 7,
                        "column": 26
                      },
                      "identifierName": "BigInteger"
                    },
                    "name": "BigInteger"
                  },
                  {
                    "type": "Identifier",
                    "start": 258,
                    "end": 259,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 28
                      },
                      "end": {
                        "line": 7,
                        "column": 29
                      },
                      "identifierName": "r"
                    },
                    "name": "r"
                  }
                ]
              }
            },
            {
              "type": "ExpressionStatement",
              "start": 266,
              "end": 293,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 4
                },
                "end": {
                  "line": 8,
                  "column": 31
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 266,
                "end": 292,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 4
                  },
                  "end": {
                    "line": 8,
                    "column": 30
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 266,
                  "end": 277,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 4
                    },
                    "end": {
                      "line": 8,
                      "column": 15
                    },
                    "identifierName": "enforceType"
                  },
                  "name": "enforceType"
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 278,
                    "end": 288,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 16
                      },
                      "end": {
                        "line": 8,
                        "column": 26
                      },
                      "identifierName": "BigInteger"
                    },
                    "name": "BigInteger"
                  },
                  {
                    "type": "Identifier",
                    "start": 290,
                    "end": 291,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 28
                      },
                      "end": {
                        "line": 8,
                        "column": 29
                      },
                      "identifierName": "s"
                    },
                    "name": "s"
                  }
                ]
              }
            },
            {
              "type": "ExpressionStatement",
              "start": 299,
              "end": 310,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 4
                },
                "end": {
                  "line": 10,
                  "column": 15
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 299,
                "end": 309,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 4
                  },
                  "end": {
                    "line": 10,
                    "column": 14
                  }
                },
                "operator": "=",
                "left": {
                  "type": "MemberExpression",
                  "start": 299,
                  "end": 305,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 4
                    },
                    "end": {
                      "line": 10,
                      "column": 10
                    }
                  },
                  "object": {
                    "type": "ThisExpression",
                    "start": 299,
                    "end": 303,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 4
                      },
                      "end": {
                        "line": 10,
                        "column": 8
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 304,
                    "end": 305,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 9
                      },
                      "end": {
                        "line": 10,
                        "column": 10
                      },
                      "identifierName": "r"
                    },
                    "name": "r"
                  },
                  "computed": false
                },
                "right": {
                  "type": "Identifier",
                  "start": 308,
                  "end": 309,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 13
                    },
                    "end": {
                      "line": 10,
                      "column": 14
                    },
                    "identifierName": "r"
                  },
                  "name": "r"
                }
              }
            },
            {
              "type": "ExpressionStatement",
              "start": 315,
              "end": 326,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 4
                },
                "end": {
                  "line": 11,
                  "column": 15
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 315,
                "end": 325,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 4
                  },
                  "end": {
                    "line": 11,
                    "column": 14
                  }
                },
                "operator": "=",
                "left": {
                  "type": "MemberExpression",
                  "start": 315,
                  "end": 321,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 4
                    },
                    "end": {
                      "line": 11,
                      "column": 10
                    }
                  },
                  "object": {
                    "type": "ThisExpression",
                    "start": 315,
                    "end": 319,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 4
                      },
                      "end": {
                        "line": 11,
                        "column": 8
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 320,
                    "end": 321,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 9
                      },
                      "end": {
                        "line": 11,
                        "column": 10
                      },
                      "identifierName": "s"
                    },
                    "name": "s"
                  },
                  "computed": false
                },
                "right": {
                  "type": "Identifier",
                  "start": 324,
                  "end": 325,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 13
                    },
                    "end": {
                      "line": 11,
                      "column": 14
                    },
                    "identifierName": "s"
                  },
                  "name": "s"
                }
              }
            }
          ],
          "directives": [],
          "trailingComments": null
        },
        "trailingComments": [],
        "name": "_",
        "leadingComments": []
      },
      {
        "type": "ExpressionStatement",
        "start": 351,
        "end": 877,
        "loc": {
          "start": {
            "line": 15,
            "column": 0
          },
          "end": {
            "line": 34,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 351,
          "end": 876,
          "loc": {
            "start": {
              "line": 15,
              "column": 0
            },
            "end": {
              "line": 34,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 351,
            "end": 375,
            "loc": {
              "start": {
                "line": 15,
                "column": 0
              },
              "end": {
                "line": 15,
                "column": 24
              }
            },
            "object": {
              "type": "Identifier",
              "start": 351,
              "end": 362,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 0
                },
                "end": {
                  "line": 15,
                  "column": 11
                },
                "identifierName": "ECSignature"
              },
              "name": "ECSignature",
              "leadingComments": null
            },
            "property": {
              "type": "Identifier",
              "start": 363,
              "end": 375,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 12
                },
                "end": {
                  "line": 15,
                  "column": 24
                },
                "identifierName": "parseCompact"
              },
              "name": "parseCompact"
            },
            "computed": false,
            "leadingComments": null
          },
          "right": {
            "type": "FunctionExpression",
            "start": 378,
            "end": 876,
            "loc": {
              "start": {
                "line": 15,
                "column": 27
              },
              "end": {
                "line": 34,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 363,
              "end": 375,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 12
                },
                "end": {
                  "line": 15,
                  "column": 24
                },
                "identifierName": "parseCompact"
              },
              "name": "parseCompact"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 387,
                "end": 393,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 36
                  },
                  "end": {
                    "line": 15,
                    "column": 42
                  },
                  "identifierName": "buffer"
                },
                "name": "buffer"
              }
            ],
            "body": {
              "type": "BlockStatement",
              "start": 395,
              "end": 876,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 44
                },
                "end": {
                  "line": 34,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ExpressionStatement",
                  "start": 401,
                  "end": 461,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 4
                    },
                    "end": {
                      "line": 16,
                      "column": 64
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 401,
                    "end": 460,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 4
                      },
                      "end": {
                        "line": 16,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 401,
                      "end": 413,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 4
                        },
                        "end": {
                          "line": 16,
                          "column": 16
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 401,
                        "end": 407,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 4
                          },
                          "end": {
                            "line": 16,
                            "column": 10
                          },
                          "identifierName": "assert"
                        },
                        "name": "assert"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 408,
                        "end": 413,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 11
                          },
                          "end": {
                            "line": 16,
                            "column": 16
                          },
                          "identifierName": "equal"
                        },
                        "name": "equal"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "MemberExpression",
                        "start": 414,
                        "end": 427,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 17
                          },
                          "end": {
                            "line": 16,
                            "column": 30
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 414,
                          "end": 420,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 17
                            },
                            "end": {
                              "line": 16,
                              "column": 23
                            },
                            "identifierName": "buffer"
                          },
                          "name": "buffer"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 421,
                          "end": 427,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 24
                            },
                            "end": {
                              "line": 16,
                              "column": 30
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      {
                        "type": "NumericLiteral",
                        "start": 429,
                        "end": 431,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 32
                          },
                          "end": {
                            "line": 16,
                            "column": 34
                          }
                        },
                        "extra": {
                          "rawValue": 65,
                          "raw": "65"
                        },
                        "value": 65
                      },
                      {
                        "type": "StringLiteral",
                        "start": 433,
                        "end": 459,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 36
                          },
                          "end": {
                            "line": 16,
                            "column": 62
                          }
                        },
                        "extra": {
                          "rawValue": "Invalid signature length",
                          "raw": "\"Invalid signature length\""
                        },
                        "value": "Invalid signature length"
                      }
                    ]
                  }
                },
                {
                  "type": "VariableDeclaration",
                  "start": 466,
                  "end": 499,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 4
                    },
                    "end": {
                      "line": 17,
                      "column": 37
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 470,
                      "end": 498,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 8
                        },
                        "end": {
                          "line": 17,
                          "column": 36
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 470,
                        "end": 471,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 8
                          },
                          "end": {
                            "line": 17,
                            "column": 9
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "init": {
                        "type": "BinaryExpression",
                        "start": 474,
                        "end": 498,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 12
                          },
                          "end": {
                            "line": 17,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 474,
                          "end": 493,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 12
                            },
                            "end": {
                              "line": 17,
                              "column": 31
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 474,
                            "end": 490,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 12
                              },
                              "end": {
                                "line": 17,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 474,
                              "end": 480,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 12
                                },
                                "end": {
                                  "line": 17,
                                  "column": 18
                                },
                                "identifierName": "buffer"
                              },
                              "name": "buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 481,
                              "end": 490,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 19
                                },
                                "end": {
                                  "line": 17,
                                  "column": 28
                                },
                                "identifierName": "readUInt8"
                              },
                              "name": "readUInt8"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NumericLiteral",
                              "start": 491,
                              "end": 492,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 29
                                },
                                "end": {
                                  "line": 17,
                                  "column": 30
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          ]
                        },
                        "operator": "-",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 496,
                          "end": 498,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 34
                            },
                            "end": {
                              "line": 17,
                              "column": 36
                            }
                          },
                          "extra": {
                            "rawValue": 27,
                            "raw": "27"
                          },
                          "value": 27
                        }
                      }
                    }
                  ],
                  "kind": "var",
                  "trailingComments": [
                    {
                      "type": "CommentLine",
                      "value": " At most 3 bits",
                      "start": 505,
                      "end": 522,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 4
                        },
                        "end": {
                          "line": 19,
                          "column": 21
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 527,
                  "end": 581,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 4
                    },
                    "end": {
                      "line": 20,
                      "column": 58
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 527,
                    "end": 580,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 4
                      },
                      "end": {
                        "line": 20,
                        "column": 57
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 527,
                      "end": 539,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 16
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 527,
                        "end": 533,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 4
                          },
                          "end": {
                            "line": 20,
                            "column": 10
                          },
                          "identifierName": "assert"
                        },
                        "name": "assert",
                        "leadingComments": null
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 534,
                        "end": 539,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 11
                          },
                          "end": {
                            "line": 20,
                            "column": 16
                          },
                          "identifierName": "equal"
                        },
                        "name": "equal"
                      },
                      "computed": false,
                      "leadingComments": null
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 540,
                        "end": 541,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 17
                          },
                          "end": {
                            "line": 20,
                            "column": 18
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 543,
                        "end": 548,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 20
                          },
                          "end": {
                            "line": 20,
                            "column": 25
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 543,
                          "end": 544,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 20
                            },
                            "end": {
                              "line": 20,
                              "column": 21
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "operator": "&",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 547,
                          "end": 548,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 24
                            },
                            "end": {
                              "line": 20,
                              "column": 25
                            }
                          },
                          "extra": {
                            "rawValue": 7,
                            "raw": "7"
                          },
                          "value": 7
                        }
                      },
                      {
                        "type": "StringLiteral",
                        "start": 550,
                        "end": 579,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 27
                          },
                          "end": {
                            "line": 20,
                            "column": 56
                          }
                        },
                        "extra": {
                          "rawValue": "Invalid signature parameter",
                          "raw": "\"Invalid signature parameter\""
                        },
                        "value": "Invalid signature parameter"
                      }
                    ],
                    "leadingComments": null
                  },
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " At most 3 bits",
                      "start": 505,
                      "end": 522,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 4
                        },
                        "end": {
                          "line": 19,
                          "column": 21
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "VariableDeclaration",
                  "start": 586,
                  "end": 613,
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 4
                    },
                    "end": {
                      "line": 21,
                      "column": 31
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 590,
                      "end": 612,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 8
                        },
                        "end": {
                          "line": 21,
                          "column": 30
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 590,
                        "end": 600,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 8
                          },
                          "end": {
                            "line": 21,
                            "column": 18
                          },
                          "identifierName": "compressed"
                        },
                        "name": "compressed"
                      },
                      "init": {
                        "type": "UnaryExpression",
                        "start": 603,
                        "end": 612,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 21
                          },
                          "end": {
                            "line": 21,
                            "column": 30
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "UnaryExpression",
                          "start": 604,
                          "end": 612,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 22
                            },
                            "end": {
                              "line": 21,
                              "column": 30
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "BinaryExpression",
                            "start": 606,
                            "end": 611,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 24
                              },
                              "end": {
                                "line": 21,
                                "column": 29
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 606,
                              "end": 607,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 24
                                },
                                "end": {
                                  "line": 21,
                                  "column": 25
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "operator": "&",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 610,
                              "end": 611,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 28
                                },
                                "end": {
                                  "line": 21,
                                  "column": 29
                                }
                              },
                              "extra": {
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "value": 4
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 605
                            }
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      }
                    }
                  ],
                  "kind": "var",
                  "trailingComments": [
                    {
                      "type": "CommentLine",
                      "value": " Recovery param only",
                      "start": 619,
                      "end": 641,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 4
                        },
                        "end": {
                          "line": 23,
                          "column": 26
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 646,
                  "end": 656,
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 4
                    },
                    "end": {
                      "line": 24,
                      "column": 14
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 646,
                    "end": 655,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 4
                      },
                      "end": {
                        "line": 24,
                        "column": 13
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 646,
                      "end": 647,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 4
                        },
                        "end": {
                          "line": 24,
                          "column": 5
                        },
                        "identifierName": "i"
                      },
                      "name": "i",
                      "leadingComments": null
                    },
                    "right": {
                      "type": "BinaryExpression",
                      "start": 650,
                      "end": 655,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 13
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 650,
                        "end": 651,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 8
                          },
                          "end": {
                            "line": 24,
                            "column": 9
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "operator": "&",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 654,
                        "end": 655,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 12
                          },
                          "end": {
                            "line": 24,
                            "column": 13
                          }
                        },
                        "extra": {
                          "rawValue": 3,
                          "raw": "3"
                        },
                        "value": 3
                      }
                    },
                    "leadingComments": null
                  },
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " Recovery param only",
                      "start": 619,
                      "end": 641,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 4
                        },
                        "end": {
                          "line": 23,
                          "column": 26
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "VariableDeclaration",
                  "start": 662,
                  "end": 713,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 4
                    },
                    "end": {
                      "line": 26,
                      "column": 55
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 666,
                      "end": 712,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 54
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 666,
                        "end": 667,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 8
                          },
                          "end": {
                            "line": 26,
                            "column": 9
                          },
                          "identifierName": "r"
                        },
                        "name": "r"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 670,
                        "end": 712,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 12
                          },
                          "end": {
                            "line": 26,
                            "column": 54
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 670,
                          "end": 691,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 12
                            },
                            "end": {
                              "line": 26,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 670,
                            "end": 680,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 12
                              },
                              "end": {
                                "line": 26,
                                "column": 22
                              },
                              "identifierName": "BigInteger"
                            },
                            "name": "BigInteger"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 681,
                            "end": 691,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 23
                              },
                              "end": {
                                "line": 26,
                                "column": 33
                              },
                              "identifierName": "fromBuffer"
                            },
                            "name": "fromBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 692,
                            "end": 711,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 34
                              },
                              "end": {
                                "line": 26,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 692,
                              "end": 704,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 34
                                },
                                "end": {
                                  "line": 26,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 692,
                                "end": 698,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 40
                                  },
                                  "identifierName": "buffer"
                                },
                                "name": "buffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 699,
                                "end": 704,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 46
                                  },
                                  "identifierName": "slice"
                                },
                                "name": "slice"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NumericLiteral",
                                "start": 705,
                                "end": 706,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 48
                                  }
                                },
                                "extra": {
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "value": 1
                              },
                              {
                                "type": "NumericLiteral",
                                "start": 708,
                                "end": 710,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 52
                                  }
                                },
                                "extra": {
                                  "rawValue": 33,
                                  "raw": "33"
                                },
                                "value": 33
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "VariableDeclaration",
                  "start": 718,
                  "end": 766,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 4
                    },
                    "end": {
                      "line": 27,
                      "column": 52
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 722,
                      "end": 765,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 51
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 722,
                        "end": 723,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 8
                          },
                          "end": {
                            "line": 27,
                            "column": 9
                          },
                          "identifierName": "s"
                        },
                        "name": "s"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 726,
                        "end": 765,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 12
                          },
                          "end": {
                            "line": 27,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 726,
                          "end": 747,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 12
                            },
                            "end": {
                              "line": 27,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 726,
                            "end": 736,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 12
                              },
                              "end": {
                                "line": 27,
                                "column": 22
                              },
                              "identifierName": "BigInteger"
                            },
                            "name": "BigInteger"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 737,
                            "end": 747,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 23
                              },
                              "end": {
                                "line": 27,
                                "column": 33
                              },
                              "identifierName": "fromBuffer"
                            },
                            "name": "fromBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 748,
                            "end": 764,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 34
                              },
                              "end": {
                                "line": 27,
                                "column": 50
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 748,
                              "end": 760,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 34
                                },
                                "end": {
                                  "line": 27,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 748,
                                "end": 754,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 40
                                  },
                                  "identifierName": "buffer"
                                },
                                "name": "buffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 755,
                                "end": 760,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 46
                                  },
                                  "identifierName": "slice"
                                },
                                "name": "slice"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NumericLiteral",
                                "start": 761,
                                "end": 763,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 49
                                  }
                                },
                                "extra": {
                                  "rawValue": 33,
                                  "raw": "33"
                                },
                                "value": 33
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ReturnStatement",
                  "start": 772,
                  "end": 874,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 4
                    },
                    "end": {
                      "line": 33,
                      "column": 6
                    }
                  },
                  "argument": {
                    "type": "ObjectExpression",
                    "start": 779,
                    "end": 873,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 11
                      },
                      "end": {
                        "line": 33,
                        "column": 5
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 789,
                        "end": 811,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 8
                          },
                          "end": {
                            "line": 30,
                            "column": 30
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 789,
                          "end": 799,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 8
                            },
                            "end": {
                              "line": 30,
                              "column": 18
                            },
                            "identifierName": "compressed"
                          },
                          "name": "compressed"
                        },
                        "value": {
                          "type": "Identifier",
                          "start": 801,
                          "end": 811,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 20
                            },
                            "end": {
                              "line": 30,
                              "column": 30
                            },
                            "identifierName": "compressed"
                          },
                          "name": "compressed"
                        }
                      },
                      {
                        "type": "ObjectProperty",
                        "start": 821,
                        "end": 825,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 8
                          },
                          "end": {
                            "line": 31,
                            "column": 12
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 821,
                          "end": 822,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 9
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "value": {
                          "type": "Identifier",
                          "start": 824,
                          "end": 825,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 11
                            },
                            "end": {
                              "line": 31,
                              "column": 12
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        }
                      },
                      {
                        "type": "ObjectProperty",
                        "start": 835,
                        "end": 867,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 8
                          },
                          "end": {
                            "line": 32,
                            "column": 40
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 835,
                          "end": 844,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 17
                            },
                            "identifierName": "signature"
                          },
                          "name": "signature"
                        },
                        "value": {
                          "type": "NewExpression",
                          "start": 846,
                          "end": 867,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 19
                            },
                            "end": {
                              "line": 32,
                              "column": 40
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 850,
                            "end": 861,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 23
                              },
                              "end": {
                                "line": 32,
                                "column": 34
                              },
                              "identifierName": "ECSignature"
                            },
                            "name": "ECSignature"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 862,
                              "end": 863,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 35
                                },
                                "end": {
                                  "line": 32,
                                  "column": 36
                                },
                                "identifierName": "r"
                              },
                              "name": "r"
                            },
                            {
                              "type": "Identifier",
                              "start": 865,
                              "end": 866,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 38
                                },
                                "end": {
                                  "line": 32,
                                  "column": 39
                                },
                                "identifierName": "s"
                              },
                              "name": "s"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ],
              "directives": []
            }
          },
          "leadingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Import operations",
            "start": 330,
            "end": 350,
            "loc": {
              "start": {
                "line": 14,
                "column": 0
              },
              "end": {
                "line": 14,
                "column": 20
              }
            }
          }
        ]
      },
      {
        "type": "ExpressionStatement",
        "start": 879,
        "end": 2094,
        "loc": {
          "start": {
            "line": 36,
            "column": 0
          },
          "end": {
            "line": 74,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 879,
          "end": 2093,
          "loc": {
            "start": {
              "line": 36,
              "column": 0
            },
            "end": {
              "line": 74,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 879,
            "end": 898,
            "loc": {
              "start": {
                "line": 36,
                "column": 0
              },
              "end": {
                "line": 36,
                "column": 19
              }
            },
            "object": {
              "type": "Identifier",
              "start": 879,
              "end": 890,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 0
                },
                "end": {
                  "line": 36,
                  "column": 11
                },
                "identifierName": "ECSignature"
              },
              "name": "ECSignature"
            },
            "property": {
              "type": "Identifier",
              "start": 891,
              "end": 898,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 12
                },
                "end": {
                  "line": 36,
                  "column": 19
                },
                "identifierName": "fromDER"
              },
              "name": "fromDER"
            },
            "computed": false
          },
          "right": {
            "type": "FunctionExpression",
            "start": 901,
            "end": 2093,
            "loc": {
              "start": {
                "line": 36,
                "column": 22
              },
              "end": {
                "line": 74,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 891,
              "end": 898,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 12
                },
                "end": {
                  "line": 36,
                  "column": 19
                },
                "identifierName": "fromDER"
              },
              "name": "fromDER"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 910,
                "end": 916,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 31
                  },
                  "end": {
                    "line": 36,
                    "column": 37
                  },
                  "identifierName": "buffer"
                },
                "name": "buffer"
              }
            ],
            "body": {
              "type": "BlockStatement",
              "start": 918,
              "end": 2093,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 39
                },
                "end": {
                  "line": 74,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ExpressionStatement",
                  "start": 924,
                  "end": 986,
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 4
                    },
                    "end": {
                      "line": 37,
                      "column": 66
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 924,
                    "end": 985,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 4
                      },
                      "end": {
                        "line": 37,
                        "column": 65
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 924,
                      "end": 936,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 4
                        },
                        "end": {
                          "line": 37,
                          "column": 16
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 924,
                        "end": 930,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 4
                          },
                          "end": {
                            "line": 37,
                            "column": 10
                          },
                          "identifierName": "assert"
                        },
                        "name": "assert"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 931,
                        "end": 936,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 11
                          },
                          "end": {
                            "line": 37,
                            "column": 16
                          },
                          "identifierName": "equal"
                        },
                        "name": "equal"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 937,
                        "end": 956,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 17
                          },
                          "end": {
                            "line": 37,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 937,
                          "end": 953,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 17
                            },
                            "end": {
                              "line": 37,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 937,
                            "end": 943,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 17
                              },
                              "end": {
                                "line": 37,
                                "column": 23
                              },
                              "identifierName": "buffer"
                            },
                            "name": "buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 944,
                            "end": 953,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 24
                              },
                              "end": {
                                "line": 37,
                                "column": 33
                              },
                              "identifierName": "readUInt8"
                            },
                            "name": "readUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 954,
                            "end": 955,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 34
                              },
                              "end": {
                                "line": 37,
                                "column": 35
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        ]
                      },
                      {
                        "type": "NumericLiteral",
                        "start": 958,
                        "end": 962,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 38
                          },
                          "end": {
                            "line": 37,
                            "column": 42
                          }
                        },
                        "extra": {
                          "rawValue": 48,
                          "raw": "0x30"
                        },
                        "value": 48
                      },
                      {
                        "type": "StringLiteral",
                        "start": 964,
                        "end": 984,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 44
                          },
                          "end": {
                            "line": 37,
                            "column": 64
                          }
                        },
                        "extra": {
                          "rawValue": "Not a DER sequence",
                          "raw": "\"Not a DER sequence\""
                        },
                        "value": "Not a DER sequence"
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 991,
                  "end": 1101,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 4
                    },
                    "end": {
                      "line": 42,
                      "column": 6
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 991,
                    "end": 1100,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 4
                      },
                      "end": {
                        "line": 42,
                        "column": 5
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 991,
                      "end": 1003,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 4
                        },
                        "end": {
                          "line": 38,
                          "column": 16
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 991,
                        "end": 997,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 4
                          },
                          "end": {
                            "line": 38,
                            "column": 10
                          },
                          "identifierName": "assert"
                        },
                        "name": "assert"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 998,
                        "end": 1003,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 11
                          },
                          "end": {
                            "line": 38,
                            "column": 16
                          },
                          "identifierName": "equal"
                        },
                        "name": "equal"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 1013,
                        "end": 1032,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 8
                          },
                          "end": {
                            "line": 39,
                            "column": 27
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1013,
                          "end": 1029,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1013,
                            "end": 1019,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 8
                              },
                              "end": {
                                "line": 39,
                                "column": 14
                              },
                              "identifierName": "buffer"
                            },
                            "name": "buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1020,
                            "end": 1029,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 15
                              },
                              "end": {
                                "line": 39,
                                "column": 24
                              },
                              "identifierName": "readUInt8"
                            },
                            "name": "readUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 1030,
                            "end": 1031,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 25
                              },
                              "end": {
                                "line": 39,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "value": 1
                          }
                        ]
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 1042,
                        "end": 1059,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 8
                          },
                          "end": {
                            "line": 40,
                            "column": 25
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 1042,
                          "end": 1055,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1042,
                            "end": 1048,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 14
                              },
                              "identifierName": "buffer"
                            },
                            "name": "buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1049,
                            "end": 1055,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 15
                              },
                              "end": {
                                "line": 40,
                                "column": 21
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "operator": "-",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 1058,
                          "end": 1059,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 24
                            },
                            "end": {
                              "line": 40,
                              "column": 25
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      },
                      {
                        "type": "StringLiteral",
                        "start": 1069,
                        "end": 1094,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 33
                          }
                        },
                        "extra": {
                          "rawValue": "Invalid sequence length",
                          "raw": "\"Invalid sequence length\""
                        },
                        "value": "Invalid sequence length"
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 1106,
                  "end": 1172,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 4
                    },
                    "end": {
                      "line": 43,
                      "column": 70
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 1106,
                    "end": 1171,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 4
                      },
                      "end": {
                        "line": 43,
                        "column": 69
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1106,
                      "end": 1118,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 4
                        },
                        "end": {
                          "line": 43,
                          "column": 16
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1106,
                        "end": 1112,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 4
                          },
                          "end": {
                            "line": 43,
                            "column": 10
                          },
                          "identifierName": "assert"
                        },
                        "name": "assert"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1113,
                        "end": 1118,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 11
                          },
                          "end": {
                            "line": 43,
                            "column": 16
                          },
                          "identifierName": "equal"
                        },
                        "name": "equal"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 1119,
                        "end": 1138,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 17
                          },
                          "end": {
                            "line": 43,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1119,
                          "end": 1135,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 17
                            },
                            "end": {
                              "line": 43,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1119,
                            "end": 1125,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 17
                              },
                              "end": {
                                "line": 43,
                                "column": 23
                              },
                              "identifierName": "buffer"
                            },
                            "name": "buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1126,
                            "end": 1135,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 24
                              },
                              "end": {
                                "line": 43,
                                "column": 33
                              },
                              "identifierName": "readUInt8"
                            },
                            "name": "readUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 1136,
                            "end": 1137,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 34
                              },
                              "end": {
                                "line": 43,
                                "column": 35
                              }
                            },
                            "extra": {
                              "rawValue": 2,
                              "raw": "2"
                            },
                            "value": 2
                          }
                        ]
                      },
                      {
                        "type": "NumericLiteral",
                        "start": 1140,
                        "end": 1144,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 38
                          },
                          "end": {
                            "line": 43,
                            "column": 42
                          }
                        },
                        "extra": {
                          "rawValue": 2,
                          "raw": "0x02"
                        },
                        "value": 2
                      },
                      {
                        "type": "StringLiteral",
                        "start": 1146,
                        "end": 1170,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 44
                          },
                          "end": {
                            "line": 43,
                            "column": 68
                          }
                        },
                        "extra": {
                          "rawValue": "Expected a DER integer",
                          "raw": "\"Expected a DER integer\""
                        },
                        "value": "Expected a DER integer"
                      }
                    ]
                  }
                },
                {
                  "type": "VariableDeclaration",
                  "start": 1178,
                  "end": 1209,
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 4
                    },
                    "end": {
                      "line": 45,
                      "column": 35
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 1182,
                      "end": 1208,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 8
                        },
                        "end": {
                          "line": 45,
                          "column": 34
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 1182,
                        "end": 1186,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 8
                          },
                          "end": {
                            "line": 45,
                            "column": 12
                          },
                          "identifierName": "rLen"
                        },
                        "name": "rLen"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 1189,
                        "end": 1208,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 15
                          },
                          "end": {
                            "line": 45,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1189,
                          "end": 1205,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 15
                            },
                            "end": {
                              "line": 45,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1189,
                            "end": 1195,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 15
                              },
                              "end": {
                                "line": 45,
                                "column": 21
                              },
                              "identifierName": "buffer"
                            },
                            "name": "buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1196,
                            "end": 1205,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 22
                              },
                              "end": {
                                "line": 45,
                                "column": 31
                              },
                              "identifierName": "readUInt8"
                            },
                            "name": "readUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 1206,
                            "end": 1207,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 32
                              },
                              "end": {
                                "line": 45,
                                "column": 33
                              }
                            },
                            "extra": {
                              "rawValue": 3,
                              "raw": "3"
                            },
                            "value": 3
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 1214,
                  "end": 1251,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 4
                    },
                    "end": {
                      "line": 46,
                      "column": 41
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 1214,
                    "end": 1250,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 4
                      },
                      "end": {
                        "line": 46,
                        "column": 40
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 1214,
                      "end": 1220,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 4
                        },
                        "end": {
                          "line": 46,
                          "column": 10
                        },
                        "identifierName": "assert"
                      },
                      "name": "assert"
                    },
                    "arguments": [
                      {
                        "type": "BinaryExpression",
                        "start": 1221,
                        "end": 1229,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 11
                          },
                          "end": {
                            "line": 46,
                            "column": 19
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1221,
                          "end": 1225,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 11
                            },
                            "end": {
                              "line": 46,
                              "column": 15
                            },
                            "identifierName": "rLen"
                          },
                          "name": "rLen"
                        },
                        "operator": ">",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 1228,
                          "end": 1229,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 18
                            },
                            "end": {
                              "line": 46,
                              "column": 19
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      {
                        "type": "StringLiteral",
                        "start": 1231,
                        "end": 1249,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 21
                          },
                          "end": {
                            "line": 46,
                            "column": 39
                          }
                        },
                        "extra": {
                          "rawValue": "R length is zero",
                          "raw": "\"R length is zero\""
                        },
                        "value": "R length is zero"
                      }
                    ]
                  }
                },
                {
                  "type": "VariableDeclaration",
                  "start": 1257,
                  "end": 1279,
                  "loc": {
                    "start": {
                      "line": 48,
                      "column": 4
                    },
                    "end": {
                      "line": 48,
                      "column": 26
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 1261,
                      "end": 1278,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 25
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 1261,
                        "end": 1267,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 8
                          },
                          "end": {
                            "line": 48,
                            "column": 14
                          },
                          "identifierName": "offset"
                        },
                        "name": "offset"
                      },
                      "init": {
                        "type": "BinaryExpression",
                        "start": 1270,
                        "end": 1278,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 17
                          },
                          "end": {
                            "line": 48,
                            "column": 25
                          }
                        },
                        "left": {
                          "type": "NumericLiteral",
                          "start": 1270,
                          "end": 1271,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 17
                            },
                            "end": {
                              "line": 48,
                              "column": 18
                            }
                          },
                          "extra": {
                            "rawValue": 4,
                            "raw": "4"
                          },
                          "value": 4
                        },
                        "operator": "+",
                        "right": {
                          "type": "Identifier",
                          "start": 1274,
                          "end": 1278,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 21
                            },
                            "end": {
                              "line": 48,
                              "column": 25
                            },
                            "identifierName": "rLen"
                          },
                          "name": "rLen"
                        }
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 1284,
                  "end": 1359,
                  "loc": {
                    "start": {
                      "line": 49,
                      "column": 4
                    },
                    "end": {
                      "line": 49,
                      "column": 79
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 1284,
                    "end": 1358,
                    "loc": {
                      "start": {
                        "line": 49,
                        "column": 4
                      },
                      "end": {
                        "line": 49,
                        "column": 78
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1284,
                      "end": 1296,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 4
                        },
                        "end": {
                          "line": 49,
                          "column": 16
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1284,
                        "end": 1290,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 4
                          },
                          "end": {
                            "line": 49,
                            "column": 10
                          },
                          "identifierName": "assert"
                        },
                        "name": "assert"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1291,
                        "end": 1296,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 11
                          },
                          "end": {
                            "line": 49,
                            "column": 16
                          },
                          "identifierName": "equal"
                        },
                        "name": "equal"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 1297,
                        "end": 1321,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 17
                          },
                          "end": {
                            "line": 49,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1297,
                          "end": 1313,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 17
                            },
                            "end": {
                              "line": 49,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1297,
                            "end": 1303,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 17
                              },
                              "end": {
                                "line": 49,
                                "column": 23
                              },
                              "identifierName": "buffer"
                            },
                            "name": "buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1304,
                            "end": 1313,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 24
                              },
                              "end": {
                                "line": 49,
                                "column": 33
                              },
                              "identifierName": "readUInt8"
                            },
                            "name": "readUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1314,
                            "end": 1320,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 34
                              },
                              "end": {
                                "line": 49,
                                "column": 40
                              },
                              "identifierName": "offset"
                            },
                            "name": "offset"
                          }
                        ]
                      },
                      {
                        "type": "NumericLiteral",
                        "start": 1323,
                        "end": 1327,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 43
                          },
                          "end": {
                            "line": 49,
                            "column": 47
                          }
                        },
                        "extra": {
                          "rawValue": 2,
                          "raw": "0x02"
                        },
                        "value": 2
                      },
                      {
                        "type": "StringLiteral",
                        "start": 1329,
                        "end": 1357,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 49
                          },
                          "end": {
                            "line": 49,
                            "column": 77
                          }
                        },
                        "extra": {
                          "rawValue": "Expected a DER integer (2)",
                          "raw": "\"Expected a DER integer (2)\""
                        },
                        "value": "Expected a DER integer (2)"
                      }
                    ]
                  }
                },
                {
                  "type": "VariableDeclaration",
                  "start": 1365,
                  "end": 1405,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 4
                    },
                    "end": {
                      "line": 51,
                      "column": 44
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 1369,
                      "end": 1404,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 51,
                          "column": 43
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 1369,
                        "end": 1373,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 12
                          },
                          "identifierName": "sLen"
                        },
                        "name": "sLen"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 1376,
                        "end": 1404,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 15
                          },
                          "end": {
                            "line": 51,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1376,
                          "end": 1392,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 15
                            },
                            "end": {
                              "line": 51,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1376,
                            "end": 1382,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 15
                              },
                              "end": {
                                "line": 51,
                                "column": 21
                              },
                              "identifierName": "buffer"
                            },
                            "name": "buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1383,
                            "end": 1392,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 22
                              },
                              "end": {
                                "line": 51,
                                "column": 31
                              },
                              "identifierName": "readUInt8"
                            },
                            "name": "readUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 1393,
                            "end": 1403,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 32
                              },
                              "end": {
                                "line": 51,
                                "column": 42
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 1393,
                              "end": 1399,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 32
                                },
                                "end": {
                                  "line": 51,
                                  "column": 38
                                },
                                "identifierName": "offset"
                              },
                              "name": "offset"
                            },
                            "operator": "+",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 1402,
                              "end": 1403,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 41
                                },
                                "end": {
                                  "line": 51,
                                  "column": 42
                                }
                              },
                              "extra": {
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "value": 1
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 1410,
                  "end": 1447,
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 4
                    },
                    "end": {
                      "line": 52,
                      "column": 41
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 1410,
                    "end": 1446,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 4
                      },
                      "end": {
                        "line": 52,
                        "column": 40
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 1410,
                      "end": 1416,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 4
                        },
                        "end": {
                          "line": 52,
                          "column": 10
                        },
                        "identifierName": "assert"
                      },
                      "name": "assert"
                    },
                    "arguments": [
                      {
                        "type": "BinaryExpression",
                        "start": 1417,
                        "end": 1425,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 11
                          },
                          "end": {
                            "line": 52,
                            "column": 19
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1417,
                          "end": 1421,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 11
                            },
                            "end": {
                              "line": 52,
                              "column": 15
                            },
                            "identifierName": "sLen"
                          },
                          "name": "sLen"
                        },
                        "operator": ">",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 1424,
                          "end": 1425,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 18
                            },
                            "end": {
                              "line": 52,
                              "column": 19
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      {
                        "type": "StringLiteral",
                        "start": 1427,
                        "end": 1445,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 21
                          },
                          "end": {
                            "line": 52,
                            "column": 39
                          }
                        },
                        "extra": {
                          "rawValue": "S length is zero",
                          "raw": "\"S length is zero\""
                        },
                        "value": "S length is zero"
                      }
                    ]
                  }
                },
                {
                  "type": "VariableDeclaration",
                  "start": 1453,
                  "end": 1486,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 4
                    },
                    "end": {
                      "line": 54,
                      "column": 37
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 1457,
                      "end": 1485,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 36
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 1457,
                        "end": 1459,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 8
                          },
                          "end": {
                            "line": 54,
                            "column": 10
                          },
                          "identifierName": "rB"
                        },
                        "name": "rB"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 1462,
                        "end": 1485,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 13
                          },
                          "end": {
                            "line": 54,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1462,
                          "end": 1474,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 13
                            },
                            "end": {
                              "line": 54,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1462,
                            "end": 1468,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 13
                              },
                              "end": {
                                "line": 54,
                                "column": 19
                              },
                              "identifierName": "buffer"
                            },
                            "name": "buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1469,
                            "end": 1474,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 20
                              },
                              "end": {
                                "line": 54,
                                "column": 25
                              },
                              "identifierName": "slice"
                            },
                            "name": "slice"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 1475,
                            "end": 1476,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 26
                              },
                              "end": {
                                "line": 54,
                                "column": 27
                              }
                            },
                            "extra": {
                              "rawValue": 4,
                              "raw": "4"
                            },
                            "value": 4
                          },
                          {
                            "type": "Identifier",
                            "start": 1478,
                            "end": 1484,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 29
                              },
                              "end": {
                                "line": 54,
                                "column": 35
                              },
                              "identifierName": "offset"
                            },
                            "name": "offset"
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "VariableDeclaration",
                  "start": 1491,
                  "end": 1525,
                  "loc": {
                    "start": {
                      "line": 55,
                      "column": 4
                    },
                    "end": {
                      "line": 55,
                      "column": 38
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 1495,
                      "end": 1524,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 8
                        },
                        "end": {
                          "line": 55,
                          "column": 37
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 1495,
                        "end": 1497,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 8
                          },
                          "end": {
                            "line": 55,
                            "column": 10
                          },
                          "identifierName": "sB"
                        },
                        "name": "sB"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 1500,
                        "end": 1524,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 13
                          },
                          "end": {
                            "line": 55,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1500,
                          "end": 1512,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 13
                            },
                            "end": {
                              "line": 55,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1500,
                            "end": 1506,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 13
                              },
                              "end": {
                                "line": 55,
                                "column": 19
                              },
                              "identifierName": "buffer"
                            },
                            "name": "buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1507,
                            "end": 1512,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 20
                              },
                              "end": {
                                "line": 55,
                                "column": 25
                              },
                              "identifierName": "slice"
                            },
                            "name": "slice"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 1513,
                            "end": 1523,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 26
                              },
                              "end": {
                                "line": 55,
                                "column": 36
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 1513,
                              "end": 1519,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 26
                                },
                                "end": {
                                  "line": 55,
                                  "column": 32
                                },
                                "identifierName": "offset"
                              },
                              "name": "offset"
                            },
                            "operator": "+",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 1522,
                              "end": 1523,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 35
                                },
                                "end": {
                                  "line": 55,
                                  "column": 36
                                }
                              },
                              "extra": {
                                "rawValue": 2,
                                "raw": "2"
                              },
                              "value": 2
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 1530,
                  "end": 1549,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 4
                    },
                    "end": {
                      "line": 56,
                      "column": 23
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 1530,
                    "end": 1548,
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 4
                      },
                      "end": {
                        "line": 56,
                        "column": 22
                      }
                    },
                    "operator": "+=",
                    "left": {
                      "type": "Identifier",
                      "start": 1530,
                      "end": 1536,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 4
                        },
                        "end": {
                          "line": 56,
                          "column": 10
                        },
                        "identifierName": "offset"
                      },
                      "name": "offset"
                    },
                    "right": {
                      "type": "BinaryExpression",
                      "start": 1540,
                      "end": 1548,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 14
                        },
                        "end": {
                          "line": 56,
                          "column": 22
                        }
                      },
                      "left": {
                        "type": "NumericLiteral",
                        "start": 1540,
                        "end": 1541,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 14
                          },
                          "end": {
                            "line": 56,
                            "column": 15
                          }
                        },
                        "extra": {
                          "rawValue": 2,
                          "raw": "2"
                        },
                        "value": 2
                      },
                      "operator": "+",
                      "right": {
                        "type": "Identifier",
                        "start": 1544,
                        "end": 1548,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 18
                          },
                          "end": {
                            "line": 56,
                            "column": 22
                          },
                          "identifierName": "sLen"
                        },
                        "name": "sLen"
                      }
                    }
                  }
                },
                {
                  "type": "IfStatement",
                  "start": 1555,
                  "end": 1674,
                  "loc": {
                    "start": {
                      "line": 58,
                      "column": 4
                    },
                    "end": {
                      "line": 60,
                      "column": 5
                    }
                  },
                  "test": {
                    "type": "LogicalExpression",
                    "start": 1559,
                    "end": 1595,
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 8
                      },
                      "end": {
                        "line": 58,
                        "column": 44
                      }
                    },
                    "left": {
                      "type": "BinaryExpression",
                      "start": 1559,
                      "end": 1567,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 16
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 1559,
                        "end": 1563,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 58,
                            "column": 12
                          },
                          "identifierName": "rLen"
                        },
                        "name": "rLen"
                      },
                      "operator": ">",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 1566,
                        "end": 1567,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 15
                          },
                          "end": {
                            "line": 58,
                            "column": 16
                          }
                        },
                        "extra": {
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "value": 1
                      }
                    },
                    "operator": "&&",
                    "right": {
                      "type": "BinaryExpression",
                      "start": 1571,
                      "end": 1595,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 20
                        },
                        "end": {
                          "line": 58,
                          "column": 44
                        }
                      },
                      "left": {
                        "type": "CallExpression",
                        "start": 1571,
                        "end": 1586,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 20
                          },
                          "end": {
                            "line": 58,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1571,
                          "end": 1583,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 20
                            },
                            "end": {
                              "line": 58,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1571,
                            "end": 1573,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 20
                              },
                              "end": {
                                "line": 58,
                                "column": 22
                              },
                              "identifierName": "rB"
                            },
                            "name": "rB"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1574,
                            "end": 1583,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 23
                              },
                              "end": {
                                "line": 58,
                                "column": 32
                              },
                              "identifierName": "readUInt8"
                            },
                            "name": "readUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 1584,
                            "end": 1585,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 33
                              },
                              "end": {
                                "line": 58,
                                "column": 34
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        ]
                      },
                      "operator": "===",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 1591,
                        "end": 1595,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 40
                          },
                          "end": {
                            "line": 58,
                            "column": 44
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0x00"
                        },
                        "value": 0
                      }
                    }
                  },
                  "consequent": {
                    "type": "BlockStatement",
                    "start": 1597,
                    "end": 1674,
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 46
                      },
                      "end": {
                        "line": 60,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 1607,
                        "end": 1668,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 8
                          },
                          "end": {
                            "line": 59,
                            "column": 69
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1607,
                          "end": 1667,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 59,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1607,
                            "end": 1613,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 8
                              },
                              "end": {
                                "line": 59,
                                "column": 14
                              },
                              "identifierName": "assert"
                            },
                            "name": "assert"
                          },
                          "arguments": [
                            {
                              "type": "BinaryExpression",
                              "start": 1614,
                              "end": 1636,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 15
                                },
                                "end": {
                                  "line": 59,
                                  "column": 37
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 1614,
                                "end": 1629,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 30
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1614,
                                  "end": 1626,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1614,
                                    "end": 1616,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 17
                                      },
                                      "identifierName": "rB"
                                    },
                                    "name": "rB"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1617,
                                    "end": 1626,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 27
                                      },
                                      "identifierName": "readUInt8"
                                    },
                                    "name": "readUInt8"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NumericLiteral",
                                    "start": 1627,
                                    "end": 1628,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 29
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 1,
                                      "raw": "1"
                                    },
                                    "value": 1
                                  }
                                ]
                              },
                              "operator": "&",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 1632,
                                "end": 1636,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 37
                                  }
                                },
                                "extra": {
                                  "rawValue": 128,
                                  "raw": "0x80"
                                },
                                "value": 128
                              }
                            },
                            {
                              "type": "StringLiteral",
                              "start": 1638,
                              "end": 1666,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 39
                                },
                                "end": {
                                  "line": 59,
                                  "column": 67
                                }
                              },
                              "extra": {
                                "rawValue": "R value excessively padded",
                                "raw": "\"R value excessively padded\""
                              },
                              "value": "R value excessively padded"
                            }
                          ]
                        }
                      }
                    ],
                    "directives": []
                  },
                  "alternate": null
                },
                {
                  "type": "IfStatement",
                  "start": 1680,
                  "end": 1799,
                  "loc": {
                    "start": {
                      "line": 62,
                      "column": 4
                    },
                    "end": {
                      "line": 64,
                      "column": 5
                    }
                  },
                  "test": {
                    "type": "LogicalExpression",
                    "start": 1684,
                    "end": 1720,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 8
                      },
                      "end": {
                        "line": 62,
                        "column": 44
                      }
                    },
                    "left": {
                      "type": "BinaryExpression",
                      "start": 1684,
                      "end": 1692,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 16
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 1684,
                        "end": 1688,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 8
                          },
                          "end": {
                            "line": 62,
                            "column": 12
                          },
                          "identifierName": "sLen"
                        },
                        "name": "sLen"
                      },
                      "operator": ">",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 1691,
                        "end": 1692,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 15
                          },
                          "end": {
                            "line": 62,
                            "column": 16
                          }
                        },
                        "extra": {
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "value": 1
                      }
                    },
                    "operator": "&&",
                    "right": {
                      "type": "BinaryExpression",
                      "start": 1696,
                      "end": 1720,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 20
                        },
                        "end": {
                          "line": 62,
                          "column": 44
                        }
                      },
                      "left": {
                        "type": "CallExpression",
                        "start": 1696,
                        "end": 1711,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 20
                          },
                          "end": {
                            "line": 62,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1696,
                          "end": 1708,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 20
                            },
                            "end": {
                              "line": 62,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1696,
                            "end": 1698,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 20
                              },
                              "end": {
                                "line": 62,
                                "column": 22
                              },
                              "identifierName": "sB"
                            },
                            "name": "sB"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1699,
                            "end": 1708,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 23
                              },
                              "end": {
                                "line": 62,
                                "column": 32
                              },
                              "identifierName": "readUInt8"
                            },
                            "name": "readUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 1709,
                            "end": 1710,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 33
                              },
                              "end": {
                                "line": 62,
                                "column": 34
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        ]
                      },
                      "operator": "===",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 1716,
                        "end": 1720,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 40
                          },
                          "end": {
                            "line": 62,
                            "column": 44
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0x00"
                        },
                        "value": 0
                      }
                    }
                  },
                  "consequent": {
                    "type": "BlockStatement",
                    "start": 1722,
                    "end": 1799,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 46
                      },
                      "end": {
                        "line": 64,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 1732,
                        "end": 1793,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 8
                          },
                          "end": {
                            "line": 63,
                            "column": 69
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1732,
                          "end": 1792,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1732,
                            "end": 1738,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 8
                              },
                              "end": {
                                "line": 63,
                                "column": 14
                              },
                              "identifierName": "assert"
                            },
                            "name": "assert"
                          },
                          "arguments": [
                            {
                              "type": "BinaryExpression",
                              "start": 1739,
                              "end": 1761,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 15
                                },
                                "end": {
                                  "line": 63,
                                  "column": 37
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 1739,
                                "end": 1754,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 30
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1739,
                                  "end": 1751,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1739,
                                    "end": 1741,
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 17
                                      },
                                      "identifierName": "sB"
                                    },
                                    "name": "sB"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1742,
                                    "end": 1751,
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 27
                                      },
                                      "identifierName": "readUInt8"
                                    },
                                    "name": "readUInt8"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NumericLiteral",
                                    "start": 1752,
                                    "end": 1753,
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 29
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 1,
                                      "raw": "1"
                                    },
                                    "value": 1
                                  }
                                ]
                              },
                              "operator": "&",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 1757,
                                "end": 1761,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 37
                                  }
                                },
                                "extra": {
                                  "rawValue": 128,
                                  "raw": "0x80"
                                },
                                "value": 128
                              }
                            },
                            {
                              "type": "StringLiteral",
                              "start": 1763,
                              "end": 1791,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 39
                                },
                                "end": {
                                  "line": 63,
                                  "column": 67
                                }
                              },
                              "extra": {
                                "rawValue": "S value excessively padded",
                                "raw": "\"S value excessively padded\""
                              },
                              "value": "S value excessively padded"
                            }
                          ]
                        }
                      }
                    ],
                    "directives": []
                  },
                  "alternate": null
                },
                {
                  "type": "ExpressionStatement",
                  "start": 1805,
                  "end": 1865,
                  "loc": {
                    "start": {
                      "line": 66,
                      "column": 4
                    },
                    "end": {
                      "line": 66,
                      "column": 64
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 1805,
                    "end": 1864,
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 4
                      },
                      "end": {
                        "line": 66,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1805,
                      "end": 1817,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 4
                        },
                        "end": {
                          "line": 66,
                          "column": 16
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1805,
                        "end": 1811,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 4
                          },
                          "end": {
                            "line": 66,
                            "column": 10
                          },
                          "identifierName": "assert"
                        },
                        "name": "assert"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1812,
                        "end": 1817,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 11
                          },
                          "end": {
                            "line": 66,
                            "column": 16
                          },
                          "identifierName": "equal"
                        },
                        "name": "equal"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1818,
                        "end": 1824,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 17
                          },
                          "end": {
                            "line": 66,
                            "column": 23
                          },
                          "identifierName": "offset"
                        },
                        "name": "offset"
                      },
                      {
                        "type": "MemberExpression",
                        "start": 1826,
                        "end": 1839,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 25
                          },
                          "end": {
                            "line": 66,
                            "column": 38
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1826,
                          "end": 1832,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 25
                            },
                            "end": {
                              "line": 66,
                              "column": 31
                            },
                            "identifierName": "buffer"
                          },
                          "name": "buffer"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1833,
                          "end": 1839,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 32
                            },
                            "end": {
                              "line": 66,
                              "column": 38
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      {
                        "type": "StringLiteral",
                        "start": 1841,
                        "end": 1863,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 40
                          },
                          "end": {
                            "line": 66,
                            "column": 62
                          }
                        },
                        "extra": {
                          "rawValue": "Invalid DER encoding",
                          "raw": "\"Invalid DER encoding\""
                        },
                        "value": "Invalid DER encoding"
                      }
                    ]
                  }
                },
                {
                  "type": "VariableDeclaration",
                  "start": 1870,
                  "end": 1908,
                  "loc": {
                    "start": {
                      "line": 67,
                      "column": 4
                    },
                    "end": {
                      "line": 67,
                      "column": 42
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 1874,
                      "end": 1907,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 8
                        },
                        "end": {
                          "line": 67,
                          "column": 41
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 1874,
                        "end": 1875,
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 8
                          },
                          "end": {
                            "line": 67,
                            "column": 9
                          },
                          "identifierName": "r"
                        },
                        "name": "r"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 1878,
                        "end": 1907,
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 12
                          },
                          "end": {
                            "line": 67,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1878,
                          "end": 1903,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 12
                            },
                            "end": {
                              "line": 67,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1878,
                            "end": 1888,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 12
                              },
                              "end": {
                                "line": 67,
                                "column": 22
                              },
                              "identifierName": "BigInteger"
                            },
                            "name": "BigInteger"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1889,
                            "end": 1903,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 23
                              },
                              "end": {
                                "line": 67,
                                "column": 37
                              },
                              "identifierName": "fromDERInteger"
                            },
                            "name": "fromDERInteger"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1904,
                            "end": 1906,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 38
                              },
                              "end": {
                                "line": 67,
                                "column": 40
                              },
                              "identifierName": "rB"
                            },
                            "name": "rB"
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "VariableDeclaration",
                  "start": 1913,
                  "end": 1951,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 4
                    },
                    "end": {
                      "line": 68,
                      "column": 42
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 1917,
                      "end": 1950,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 8
                        },
                        "end": {
                          "line": 68,
                          "column": 41
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 1917,
                        "end": 1918,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 8
                          },
                          "end": {
                            "line": 68,
                            "column": 9
                          },
                          "identifierName": "s"
                        },
                        "name": "s"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 1921,
                        "end": 1950,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 12
                          },
                          "end": {
                            "line": 68,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1921,
                          "end": 1946,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 12
                            },
                            "end": {
                              "line": 68,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1921,
                            "end": 1931,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 12
                              },
                              "end": {
                                "line": 68,
                                "column": 22
                              },
                              "identifierName": "BigInteger"
                            },
                            "name": "BigInteger"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1932,
                            "end": 1946,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 23
                              },
                              "end": {
                                "line": 68,
                                "column": 37
                              },
                              "identifierName": "fromDERInteger"
                            },
                            "name": "fromDERInteger"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1947,
                            "end": 1949,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 38
                              },
                              "end": {
                                "line": 68,
                                "column": 40
                              },
                              "identifierName": "sB"
                            },
                            "name": "sB"
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 1957,
                  "end": 2004,
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 4
                    },
                    "end": {
                      "line": 70,
                      "column": 51
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 1957,
                    "end": 2003,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 4
                      },
                      "end": {
                        "line": 70,
                        "column": 50
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 1957,
                      "end": 1963,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 4
                        },
                        "end": {
                          "line": 70,
                          "column": 10
                        },
                        "identifierName": "assert"
                      },
                      "name": "assert"
                    },
                    "arguments": [
                      {
                        "type": "BinaryExpression",
                        "start": 1964,
                        "end": 1979,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 11
                          },
                          "end": {
                            "line": 70,
                            "column": 26
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 1964,
                          "end": 1974,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 11
                            },
                            "end": {
                              "line": 70,
                              "column": 21
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1964,
                            "end": 1972,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 11
                              },
                              "end": {
                                "line": 70,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1964,
                              "end": 1965,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 11
                                },
                                "end": {
                                  "line": 70,
                                  "column": 12
                                },
                                "identifierName": "r"
                              },
                              "name": "r"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1966,
                              "end": 1972,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 13
                                },
                                "end": {
                                  "line": 70,
                                  "column": 19
                                },
                                "identifierName": "signum"
                              },
                              "name": "signum"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": ">=",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 1978,
                          "end": 1979,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 25
                            },
                            "end": {
                              "line": 70,
                              "column": 26
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      {
                        "type": "StringLiteral",
                        "start": 1981,
                        "end": 2002,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 28
                          },
                          "end": {
                            "line": 70,
                            "column": 49
                          }
                        },
                        "extra": {
                          "rawValue": "R value is negative",
                          "raw": "\"R value is negative\""
                        },
                        "value": "R value is negative"
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 2009,
                  "end": 2056,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 4
                    },
                    "end": {
                      "line": 71,
                      "column": 51
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 2009,
                    "end": 2055,
                    "loc": {
                      "start": {
                        "line": 71,
                        "column": 4
                      },
                      "end": {
                        "line": 71,
                        "column": 50
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 2009,
                      "end": 2015,
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 4
                        },
                        "end": {
                          "line": 71,
                          "column": 10
                        },
                        "identifierName": "assert"
                      },
                      "name": "assert"
                    },
                    "arguments": [
                      {
                        "type": "BinaryExpression",
                        "start": 2016,
                        "end": 2031,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 11
                          },
                          "end": {
                            "line": 71,
                            "column": 26
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 2016,
                          "end": 2026,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 11
                            },
                            "end": {
                              "line": 71,
                              "column": 21
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2016,
                            "end": 2024,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 11
                              },
                              "end": {
                                "line": 71,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2016,
                              "end": 2017,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 11
                                },
                                "end": {
                                  "line": 71,
                                  "column": 12
                                },
                                "identifierName": "s"
                              },
                              "name": "s"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2018,
                              "end": 2024,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 13
                                },
                                "end": {
                                  "line": 71,
                                  "column": 19
                                },
                                "identifierName": "signum"
                              },
                              "name": "signum"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": ">=",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 2030,
                          "end": 2031,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 25
                            },
                            "end": {
                              "line": 71,
                              "column": 26
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      {
                        "type": "StringLiteral",
                        "start": 2033,
                        "end": 2054,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 28
                          },
                          "end": {
                            "line": 71,
                            "column": 49
                          }
                        },
                        "extra": {
                          "rawValue": "S value is negative",
                          "raw": "\"S value is negative\""
                        },
                        "value": "S value is negative"
                      }
                    ]
                  }
                },
                {
                  "type": "ReturnStatement",
                  "start": 2062,
                  "end": 2091,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 4
                    },
                    "end": {
                      "line": 73,
                      "column": 33
                    }
                  },
                  "argument": {
                    "type": "NewExpression",
                    "start": 2069,
                    "end": 2090,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 11
                      },
                      "end": {
                        "line": 73,
                        "column": 32
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 2073,
                      "end": 2084,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 15
                        },
                        "end": {
                          "line": 73,
                          "column": 26
                        },
                        "identifierName": "ECSignature"
                      },
                      "name": "ECSignature"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2085,
                        "end": 2086,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 27
                          },
                          "end": {
                            "line": 73,
                            "column": 28
                          },
                          "identifierName": "r"
                        },
                        "name": "r"
                      },
                      {
                        "type": "Identifier",
                        "start": 2088,
                        "end": 2089,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 30
                          },
                          "end": {
                            "line": 73,
                            "column": 31
                          },
                          "identifierName": "s"
                        },
                        "name": "s"
                      }
                    ]
                  }
                }
              ],
              "directives": []
            }
          }
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " FIXME: 0x00, 0x04, 0x80 are SIGHASH_* boundary constants, importing Transaction causes a circular dependency",
            "start": 2096,
            "end": 2207,
            "loc": {
              "start": {
                "line": 76,
                "column": 0
              },
              "end": {
                "line": 76,
                "column": 111
              }
            }
          }
        ]
      },
      {
        "type": "ExpressionStatement",
        "start": 2208,
        "end": 2544,
        "loc": {
          "start": {
            "line": 77,
            "column": 0
          },
          "end": {
            "line": 87,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 2208,
          "end": 2543,
          "loc": {
            "start": {
              "line": 77,
              "column": 0
            },
            "end": {
              "line": 87,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 2208,
            "end": 2240,
            "loc": {
              "start": {
                "line": 77,
                "column": 0
              },
              "end": {
                "line": 77,
                "column": 32
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2208,
              "end": 2219,
              "loc": {
                "start": {
                  "line": 77,
                  "column": 0
                },
                "end": {
                  "line": 77,
                  "column": 11
                },
                "identifierName": "ECSignature"
              },
              "name": "ECSignature",
              "leadingComments": null
            },
            "property": {
              "type": "Identifier",
              "start": 2220,
              "end": 2240,
              "loc": {
                "start": {
                  "line": 77,
                  "column": 12
                },
                "end": {
                  "line": 77,
                  "column": 32
                },
                "identifierName": "parseScriptSignature"
              },
              "name": "parseScriptSignature"
            },
            "computed": false,
            "leadingComments": null
          },
          "right": {
            "type": "FunctionExpression",
            "start": 2243,
            "end": 2543,
            "loc": {
              "start": {
                "line": 77,
                "column": 35
              },
              "end": {
                "line": 87,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 2220,
              "end": 2240,
              "loc": {
                "start": {
                  "line": 77,
                  "column": 12
                },
                "end": {
                  "line": 77,
                  "column": 32
                },
                "identifierName": "parseScriptSignature"
              },
              "name": "parseScriptSignature"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 2252,
                "end": 2258,
                "loc": {
                  "start": {
                    "line": 77,
                    "column": 44
                  },
                  "end": {
                    "line": 77,
                    "column": 50
                  },
                  "identifierName": "buffer"
                },
                "name": "buffer"
              }
            ],
            "body": {
              "type": "BlockStatement",
              "start": 2260,
              "end": 2543,
              "loc": {
                "start": {
                  "line": 77,
                  "column": 52
                },
                "end": {
                  "line": 87,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 2266,
                  "end": 2317,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 4
                    },
                    "end": {
                      "line": 78,
                      "column": 55
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 2270,
                      "end": 2316,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 8
                        },
                        "end": {
                          "line": 78,
                          "column": 54
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 2270,
                        "end": 2278,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 8
                          },
                          "end": {
                            "line": 78,
                            "column": 16
                          },
                          "identifierName": "hashType"
                        },
                        "name": "hashType"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 2281,
                        "end": 2316,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 19
                          },
                          "end": {
                            "line": 78,
                            "column": 54
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2281,
                          "end": 2297,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 19
                            },
                            "end": {
                              "line": 78,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2281,
                            "end": 2287,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 19
                              },
                              "end": {
                                "line": 78,
                                "column": 25
                              },
                              "identifierName": "buffer"
                            },
                            "name": "buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2288,
                            "end": 2297,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 26
                              },
                              "end": {
                                "line": 78,
                                "column": 35
                              },
                              "identifierName": "readUInt8"
                            },
                            "name": "readUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 2298,
                            "end": 2315,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 36
                              },
                              "end": {
                                "line": 78,
                                "column": 53
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 2298,
                              "end": 2311,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 36
                                },
                                "end": {
                                  "line": 78,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2298,
                                "end": 2304,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 42
                                  },
                                  "identifierName": "buffer"
                                },
                                "name": "buffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2305,
                                "end": 2311,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 49
                                  },
                                  "identifierName": "length"
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "operator": "-",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 2314,
                              "end": 2315,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 52
                                },
                                "end": {
                                  "line": 78,
                                  "column": 53
                                }
                              },
                              "extra": {
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "value": 1
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "VariableDeclaration",
                  "start": 2322,
                  "end": 2357,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 4
                    },
                    "end": {
                      "line": 79,
                      "column": 39
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 2326,
                      "end": 2356,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 8
                        },
                        "end": {
                          "line": 79,
                          "column": 38
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 2326,
                        "end": 2337,
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 8
                          },
                          "end": {
                            "line": 79,
                            "column": 19
                          },
                          "identifierName": "hashTypeMod"
                        },
                        "name": "hashTypeMod"
                      },
                      "init": {
                        "type": "BinaryExpression",
                        "start": 2340,
                        "end": 2356,
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 22
                          },
                          "end": {
                            "line": 79,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 2340,
                          "end": 2348,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 22
                            },
                            "end": {
                              "line": 79,
                              "column": 30
                            },
                            "identifierName": "hashType"
                          },
                          "name": "hashType"
                        },
                        "operator": "&",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 2351,
                          "end": 2356,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 33
                            },
                            "end": {
                              "line": 79,
                              "column": 38
                            }
                          },
                          "operator": "~",
                          "prefix": true,
                          "argument": {
                            "type": "NumericLiteral",
                            "start": 2352,
                            "end": 2356,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 34
                              },
                              "end": {
                                "line": 79,
                                "column": 38
                              }
                            },
                            "extra": {
                              "rawValue": 128,
                              "raw": "0x80"
                            },
                            "value": 128
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 2363,
                  "end": 2432,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 4
                    },
                    "end": {
                      "line": 81,
                      "column": 73
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 2363,
                    "end": 2431,
                    "loc": {
                      "start": {
                        "line": 81,
                        "column": 4
                      },
                      "end": {
                        "line": 81,
                        "column": 72
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 2363,
                      "end": 2369,
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 4
                        },
                        "end": {
                          "line": 81,
                          "column": 10
                        },
                        "identifierName": "assert"
                      },
                      "name": "assert"
                    },
                    "arguments": [
                      {
                        "type": "LogicalExpression",
                        "start": 2370,
                        "end": 2410,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 11
                          },
                          "end": {
                            "line": 81,
                            "column": 51
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 2370,
                          "end": 2388,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 11
                            },
                            "end": {
                              "line": 81,
                              "column": 29
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 2370,
                            "end": 2381,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 11
                              },
                              "end": {
                                "line": 81,
                                "column": 22
                              },
                              "identifierName": "hashTypeMod"
                            },
                            "name": "hashTypeMod"
                          },
                          "operator": ">",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 2384,
                            "end": 2388,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 25
                              },
                              "end": {
                                "line": 81,
                                "column": 29
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0x00"
                            },
                            "value": 0
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 2392,
                          "end": 2410,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 33
                            },
                            "end": {
                              "line": 81,
                              "column": 51
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 2392,
                            "end": 2403,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 33
                              },
                              "end": {
                                "line": 81,
                                "column": 44
                              },
                              "identifierName": "hashTypeMod"
                            },
                            "name": "hashTypeMod"
                          },
                          "operator": "<",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 2406,
                            "end": 2410,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 47
                              },
                              "end": {
                                "line": 81,
                                "column": 51
                              }
                            },
                            "extra": {
                              "rawValue": 4,
                              "raw": "0x04"
                            },
                            "value": 4
                          }
                        }
                      },
                      {
                        "type": "StringLiteral",
                        "start": 2412,
                        "end": 2430,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 53
                          },
                          "end": {
                            "line": 81,
                            "column": 71
                          }
                        },
                        "extra": {
                          "rawValue": "Invalid hashType",
                          "raw": "\"Invalid hashType\""
                        },
                        "value": "Invalid hashType"
                      }
                    ]
                  }
                },
                {
                  "type": "ReturnStatement",
                  "start": 2438,
                  "end": 2541,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 4
                    },
                    "end": {
                      "line": 86,
                      "column": 6
                    }
                  },
                  "argument": {
                    "type": "ObjectExpression",
                    "start": 2445,
                    "end": 2540,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 11
                      },
                      "end": {
                        "line": 86,
                        "column": 5
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 2455,
                        "end": 2506,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 8
                          },
                          "end": {
                            "line": 84,
                            "column": 59
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 2455,
                          "end": 2464,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 8
                            },
                            "end": {
                              "line": 84,
                              "column": 17
                            },
                            "identifierName": "signature"
                          },
                          "name": "signature"
                        },
                        "value": {
                          "type": "CallExpression",
                          "start": 2466,
                          "end": 2506,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 19
                            },
                            "end": {
                              "line": 84,
                              "column": 59
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2466,
                            "end": 2485,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 19
                              },
                              "end": {
                                "line": 84,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2466,
                              "end": 2477,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 19
                                },
                                "end": {
                                  "line": 84,
                                  "column": 30
                                },
                                "identifierName": "ECSignature"
                              },
                              "name": "ECSignature"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2478,
                              "end": 2485,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 31
                                },
                                "end": {
                                  "line": 84,
                                  "column": 38
                                },
                                "identifierName": "fromDER"
                              },
                              "name": "fromDER"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 2486,
                              "end": 2505,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 39
                                },
                                "end": {
                                  "line": 84,
                                  "column": 58
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2486,
                                "end": 2498,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2486,
                                  "end": 2492,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 45
                                    },
                                    "identifierName": "buffer"
                                  },
                                  "name": "buffer"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2493,
                                  "end": 2498,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 51
                                    },
                                    "identifierName": "slice"
                                  },
                                  "name": "slice"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "NumericLiteral",
                                  "start": 2499,
                                  "end": 2500,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 53
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "value": 0
                                },
                                {
                                  "type": "UnaryExpression",
                                  "start": 2502,
                                  "end": 2504,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 57
                                    }
                                  },
                                  "operator": "-",
                                  "prefix": true,
                                  "argument": {
                                    "type": "NumericLiteral",
                                    "start": 2503,
                                    "end": 2504,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 57
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 1,
                                      "raw": "1"
                                    },
                                    "value": 1
                                  },
                                  "extra": {
                                    "parenthesizedArgument": false
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      },
                      {
                        "type": "ObjectProperty",
                        "start": 2516,
                        "end": 2534,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 8
                          },
                          "end": {
                            "line": 85,
                            "column": 26
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 2516,
                          "end": 2524,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 8
                            },
                            "end": {
                              "line": 85,
                              "column": 16
                            },
                            "identifierName": "hashType"
                          },
                          "name": "hashType"
                        },
                        "value": {
                          "type": "Identifier",
                          "start": 2526,
                          "end": 2534,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 18
                            },
                            "end": {
                              "line": 85,
                              "column": 26
                            },
                            "identifierName": "hashType"
                          },
                          "name": "hashType"
                        }
                      }
                    ]
                  }
                }
              ],
              "directives": []
            }
          },
          "leadingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " FIXME: 0x00, 0x04, 0x80 are SIGHASH_* boundary constants, importing Transaction causes a circular dependency",
            "start": 2096,
            "end": 2207,
            "loc": {
              "start": {
                "line": 76,
                "column": 0
              },
              "end": {
                "line": 76,
                "column": 111
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " Export operations",
            "start": 2546,
            "end": 2566,
            "loc": {
              "start": {
                "line": 89,
                "column": 0
              },
              "end": {
                "line": 89,
                "column": 20
              }
            }
          }
        ]
      },
      {
        "type": "ExpressionStatement",
        "start": 2567,
        "end": 2839,
        "loc": {
          "start": {
            "line": 90,
            "column": 0
          },
          "end": {
            "line": 101,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 2567,
          "end": 2838,
          "loc": {
            "start": {
              "line": 90,
              "column": 0
            },
            "end": {
              "line": 101,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 2567,
            "end": 2598,
            "loc": {
              "start": {
                "line": 90,
                "column": 0
              },
              "end": {
                "line": 90,
                "column": 31
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 2567,
              "end": 2588,
              "loc": {
                "start": {
                  "line": 90,
                  "column": 0
                },
                "end": {
                  "line": 90,
                  "column": 21
                }
              },
              "object": {
                "type": "Identifier",
                "start": 2567,
                "end": 2578,
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 0
                  },
                  "end": {
                    "line": 90,
                    "column": 11
                  },
                  "identifierName": "ECSignature"
                },
                "name": "ECSignature",
                "leadingComments": null
              },
              "property": {
                "type": "Identifier",
                "start": 2579,
                "end": 2588,
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 12
                  },
                  "end": {
                    "line": 90,
                    "column": 21
                  },
                  "identifierName": "prototype"
                },
                "name": "prototype"
              },
              "computed": false,
              "leadingComments": null
            },
            "property": {
              "type": "Identifier",
              "start": 2589,
              "end": 2598,
              "loc": {
                "start": {
                  "line": 90,
                  "column": 22
                },
                "end": {
                  "line": 90,
                  "column": 31
                },
                "identifierName": "toCompact"
              },
              "name": "toCompact"
            },
            "computed": false,
            "leadingComments": null
          },
          "right": {
            "type": "FunctionExpression",
            "start": 2601,
            "end": 2838,
            "loc": {
              "start": {
                "line": 90,
                "column": 34
              },
              "end": {
                "line": 101,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 2589,
              "end": 2598,
              "loc": {
                "start": {
                  "line": 90,
                  "column": 22
                },
                "end": {
                  "line": 90,
                  "column": 31
                },
                "identifierName": "toCompact"
              },
              "name": "toCompact"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 2610,
                "end": 2611,
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 43
                  },
                  "end": {
                    "line": 90,
                    "column": 44
                  },
                  "identifierName": "i"
                },
                "name": "i"
              },
              {
                "type": "Identifier",
                "start": 2613,
                "end": 2623,
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 46
                  },
                  "end": {
                    "line": 90,
                    "column": 56
                  },
                  "identifierName": "compressed"
                },
                "name": "compressed"
              }
            ],
            "body": {
              "type": "BlockStatement",
              "start": 2625,
              "end": 2838,
              "loc": {
                "start": {
                  "line": 90,
                  "column": 58
                },
                "end": {
                  "line": 101,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "IfStatement",
                  "start": 2631,
                  "end": 2654,
                  "loc": {
                    "start": {
                      "line": 91,
                      "column": 4
                    },
                    "end": {
                      "line": 91,
                      "column": 27
                    }
                  },
                  "test": {
                    "type": "Identifier",
                    "start": 2635,
                    "end": 2645,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 8
                      },
                      "end": {
                        "line": 91,
                        "column": 18
                      },
                      "identifierName": "compressed"
                    },
                    "name": "compressed"
                  },
                  "consequent": {
                    "type": "ExpressionStatement",
                    "start": 2647,
                    "end": 2654,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 20
                      },
                      "end": {
                        "line": 91,
                        "column": 27
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2647,
                      "end": 2653,
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 20
                        },
                        "end": {
                          "line": 91,
                          "column": 26
                        }
                      },
                      "operator": "+=",
                      "left": {
                        "type": "Identifier",
                        "start": 2647,
                        "end": 2648,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 20
                          },
                          "end": {
                            "line": 91,
                            "column": 21
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "right": {
                        "type": "NumericLiteral",
                        "start": 2652,
                        "end": 2653,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 25
                          },
                          "end": {
                            "line": 91,
                            "column": 26
                          }
                        },
                        "extra": {
                          "rawValue": 4,
                          "raw": "4"
                        },
                        "value": 4
                      }
                    }
                  },
                  "alternate": null
                },
                {
                  "type": "ExpressionStatement",
                  "start": 2659,
                  "end": 2667,
                  "loc": {
                    "start": {
                      "line": 92,
                      "column": 4
                    },
                    "end": {
                      "line": 92,
                      "column": 12
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 2659,
                    "end": 2666,
                    "loc": {
                      "start": {
                        "line": 92,
                        "column": 4
                      },
                      "end": {
                        "line": 92,
                        "column": 11
                      }
                    },
                    "operator": "+=",
                    "left": {
                      "type": "Identifier",
                      "start": 2659,
                      "end": 2660,
                      "loc": {
                        "start": {
                          "line": 92,
                          "column": 4
                        },
                        "end": {
                          "line": 92,
                          "column": 5
                        },
                        "identifierName": "i"
                      },
                      "name": "i"
                    },
                    "right": {
                      "type": "NumericLiteral",
                      "start": 2664,
                      "end": 2666,
                      "loc": {
                        "start": {
                          "line": 92,
                          "column": 9
                        },
                        "end": {
                          "line": 92,
                          "column": 11
                        }
                      },
                      "extra": {
                        "rawValue": 27,
                        "raw": "27"
                      },
                      "value": 27
                    }
                  }
                },
                {
                  "type": "VariableDeclaration",
                  "start": 2673,
                  "end": 2703,
                  "loc": {
                    "start": {
                      "line": 94,
                      "column": 4
                    },
                    "end": {
                      "line": 94,
                      "column": 34
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 2677,
                      "end": 2702,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 8
                        },
                        "end": {
                          "line": 94,
                          "column": 33
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 2677,
                        "end": 2683,
                        "loc": {
                          "start": {
                            "line": 94,
                            "column": 8
                          },
                          "end": {
                            "line": 94,
                            "column": 14
                          },
                          "identifierName": "buffer"
                        },
                        "name": "buffer"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 2686,
                        "end": 2702,
                        "loc": {
                          "start": {
                            "line": 94,
                            "column": 17
                          },
                          "end": {
                            "line": 94,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2686,
                          "end": 2698,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 17
                            },
                            "end": {
                              "line": 94,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2686,
                            "end": 2692,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 17
                              },
                              "end": {
                                "line": 94,
                                "column": 23
                              },
                              "identifierName": "Buffer"
                            },
                            "name": "Buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2693,
                            "end": 2698,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 24
                              },
                              "end": {
                                "line": 94,
                                "column": 29
                              },
                              "identifierName": "alloc"
                            },
                            "name": "alloc"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 2699,
                            "end": 2701,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 30
                              },
                              "end": {
                                "line": 94,
                                "column": 32
                              }
                            },
                            "extra": {
                              "rawValue": 65,
                              "raw": "65"
                            },
                            "value": 65
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 2708,
                  "end": 2732,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 4
                    },
                    "end": {
                      "line": 95,
                      "column": 28
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 2708,
                    "end": 2731,
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 4
                      },
                      "end": {
                        "line": 95,
                        "column": 27
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2708,
                      "end": 2725,
                      "loc": {
                        "start": {
                          "line": 95,
                          "column": 4
                        },
                        "end": {
                          "line": 95,
                          "column": 21
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2708,
                        "end": 2714,
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 4
                          },
                          "end": {
                            "line": 95,
                            "column": 10
                          },
                          "identifierName": "buffer"
                        },
                        "name": "buffer"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2715,
                        "end": 2725,
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 11
                          },
                          "end": {
                            "line": 95,
                            "column": 21
                          },
                          "identifierName": "writeUInt8"
                        },
                        "name": "writeUInt8"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2726,
                        "end": 2727,
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 22
                          },
                          "end": {
                            "line": 95,
                            "column": 23
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      {
                        "type": "NumericLiteral",
                        "start": 2729,
                        "end": 2730,
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 25
                          },
                          "end": {
                            "line": 95,
                            "column": 26
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 2738,
                  "end": 2774,
                  "loc": {
                    "start": {
                      "line": 97,
                      "column": 4
                    },
                    "end": {
                      "line": 97,
                      "column": 40
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 2738,
                    "end": 2773,
                    "loc": {
                      "start": {
                        "line": 97,
                        "column": 4
                      },
                      "end": {
                        "line": 97,
                        "column": 39
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2738,
                      "end": 2762,
                      "loc": {
                        "start": {
                          "line": 97,
                          "column": 4
                        },
                        "end": {
                          "line": 97,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 2738,
                        "end": 2757,
                        "loc": {
                          "start": {
                            "line": 97,
                            "column": 4
                          },
                          "end": {
                            "line": 97,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2738,
                          "end": 2753,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 4
                            },
                            "end": {
                              "line": 97,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2738,
                            "end": 2744,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 4
                              },
                              "end": {
                                "line": 97,
                                "column": 10
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2738,
                              "end": 2742,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 4
                                },
                                "end": {
                                  "line": 97,
                                  "column": 8
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2743,
                              "end": 2744,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 9
                                },
                                "end": {
                                  "line": 97,
                                  "column": 10
                                },
                                "identifierName": "r"
                              },
                              "name": "r"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2745,
                            "end": 2753,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 11
                              },
                              "end": {
                                "line": 97,
                                "column": 19
                              },
                              "identifierName": "toBuffer"
                            },
                            "name": "toBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 2754,
                            "end": 2756,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 20
                              },
                              "end": {
                                "line": 97,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": 32,
                              "raw": "32"
                            },
                            "value": 32
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2758,
                        "end": 2762,
                        "loc": {
                          "start": {
                            "line": 97,
                            "column": 24
                          },
                          "end": {
                            "line": 97,
                            "column": 28
                          },
                          "identifierName": "copy"
                        },
                        "name": "copy"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2763,
                        "end": 2769,
                        "loc": {
                          "start": {
                            "line": 97,
                            "column": 29
                          },
                          "end": {
                            "line": 97,
                            "column": 35
                          },
                          "identifierName": "buffer"
                        },
                        "name": "buffer"
                      },
                      {
                        "type": "NumericLiteral",
                        "start": 2771,
                        "end": 2772,
                        "loc": {
                          "start": {
                            "line": 97,
                            "column": 37
                          },
                          "end": {
                            "line": 97,
                            "column": 38
                          }
                        },
                        "extra": {
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "value": 1
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 2779,
                  "end": 2816,
                  "loc": {
                    "start": {
                      "line": 98,
                      "column": 4
                    },
                    "end": {
                      "line": 98,
                      "column": 41
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 2779,
                    "end": 2815,
                    "loc": {
                      "start": {
                        "line": 98,
                        "column": 4
                      },
                      "end": {
                        "line": 98,
                        "column": 40
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2779,
                      "end": 2803,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 4
                        },
                        "end": {
                          "line": 98,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 2779,
                        "end": 2798,
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 4
                          },
                          "end": {
                            "line": 98,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2779,
                          "end": 2794,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 4
                            },
                            "end": {
                              "line": 98,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2779,
                            "end": 2785,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 4
                              },
                              "end": {
                                "line": 98,
                                "column": 10
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2779,
                              "end": 2783,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 4
                                },
                                "end": {
                                  "line": 98,
                                  "column": 8
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2784,
                              "end": 2785,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 9
                                },
                                "end": {
                                  "line": 98,
                                  "column": 10
                                },
                                "identifierName": "s"
                              },
                              "name": "s"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2786,
                            "end": 2794,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 11
                              },
                              "end": {
                                "line": 98,
                                "column": 19
                              },
                              "identifierName": "toBuffer"
                            },
                            "name": "toBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 2795,
                            "end": 2797,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 20
                              },
                              "end": {
                                "line": 98,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": 32,
                              "raw": "32"
                            },
                            "value": 32
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2799,
                        "end": 2803,
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 24
                          },
                          "end": {
                            "line": 98,
                            "column": 28
                          },
                          "identifierName": "copy"
                        },
                        "name": "copy"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2804,
                        "end": 2810,
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 29
                          },
                          "end": {
                            "line": 98,
                            "column": 35
                          },
                          "identifierName": "buffer"
                        },
                        "name": "buffer"
                      },
                      {
                        "type": "NumericLiteral",
                        "start": 2812,
                        "end": 2814,
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 37
                          },
                          "end": {
                            "line": 98,
                            "column": 39
                          }
                        },
                        "extra": {
                          "rawValue": 33,
                          "raw": "33"
                        },
                        "value": 33
                      }
                    ]
                  }
                },
                {
                  "type": "ReturnStatement",
                  "start": 2822,
                  "end": 2836,
                  "loc": {
                    "start": {
                      "line": 100,
                      "column": 4
                    },
                    "end": {
                      "line": 100,
                      "column": 18
                    }
                  },
                  "argument": {
                    "type": "Identifier",
                    "start": 2829,
                    "end": 2835,
                    "loc": {
                      "start": {
                        "line": 100,
                        "column": 11
                      },
                      "end": {
                        "line": 100,
                        "column": 17
                      },
                      "identifierName": "buffer"
                    },
                    "name": "buffer"
                  }
                }
              ],
              "directives": []
            }
          },
          "leadingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Export operations",
            "start": 2546,
            "end": 2566,
            "loc": {
              "start": {
                "line": 89,
                "column": 0
              },
              "end": {
                "line": 89,
                "column": 20
              }
            }
          }
        ]
      },
      {
        "type": "ExpressionStatement",
        "start": 2841,
        "end": 3261,
        "loc": {
          "start": {
            "line": 103,
            "column": 0
          },
          "end": {
            "line": 121,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 2841,
          "end": 3260,
          "loc": {
            "start": {
              "line": 103,
              "column": 0
            },
            "end": {
              "line": 121,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 2841,
            "end": 2868,
            "loc": {
              "start": {
                "line": 103,
                "column": 0
              },
              "end": {
                "line": 103,
                "column": 27
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 2841,
              "end": 2862,
              "loc": {
                "start": {
                  "line": 103,
                  "column": 0
                },
                "end": {
                  "line": 103,
                  "column": 21
                }
              },
              "object": {
                "type": "Identifier",
                "start": 2841,
                "end": 2852,
                "loc": {
                  "start": {
                    "line": 103,
                    "column": 0
                  },
                  "end": {
                    "line": 103,
                    "column": 11
                  },
                  "identifierName": "ECSignature"
                },
                "name": "ECSignature"
              },
              "property": {
                "type": "Identifier",
                "start": 2853,
                "end": 2862,
                "loc": {
                  "start": {
                    "line": 103,
                    "column": 12
                  },
                  "end": {
                    "line": 103,
                    "column": 21
                  },
                  "identifierName": "prototype"
                },
                "name": "prototype"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 2863,
              "end": 2868,
              "loc": {
                "start": {
                  "line": 103,
                  "column": 22
                },
                "end": {
                  "line": 103,
                  "column": 27
                },
                "identifierName": "toDER"
              },
              "name": "toDER"
            },
            "computed": false
          },
          "right": {
            "type": "FunctionExpression",
            "start": 2871,
            "end": 3260,
            "loc": {
              "start": {
                "line": 103,
                "column": 30
              },
              "end": {
                "line": 121,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 2863,
              "end": 2868,
              "loc": {
                "start": {
                  "line": 103,
                  "column": 22
                },
                "end": {
                  "line": 103,
                  "column": 27
                },
                "identifierName": "toDER"
              },
              "name": "toDER"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [],
            "body": {
              "type": "BlockStatement",
              "start": 2882,
              "end": 3260,
              "loc": {
                "start": {
                  "line": 103,
                  "column": 41
                },
                "end": {
                  "line": 121,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 2888,
                  "end": 2920,
                  "loc": {
                    "start": {
                      "line": 104,
                      "column": 4
                    },
                    "end": {
                      "line": 104,
                      "column": 36
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 2892,
                      "end": 2919,
                      "loc": {
                        "start": {
                          "line": 104,
                          "column": 8
                        },
                        "end": {
                          "line": 104,
                          "column": 35
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 2892,
                        "end": 2895,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 8
                          },
                          "end": {
                            "line": 104,
                            "column": 11
                          },
                          "identifierName": "rBa"
                        },
                        "name": "rBa"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 2898,
                        "end": 2919,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 14
                          },
                          "end": {
                            "line": 104,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2898,
                          "end": 2917,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 14
                            },
                            "end": {
                              "line": 104,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2898,
                            "end": 2904,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 14
                              },
                              "end": {
                                "line": 104,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2898,
                              "end": 2902,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 14
                                },
                                "end": {
                                  "line": 104,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2903,
                              "end": 2904,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 19
                                },
                                "end": {
                                  "line": 104,
                                  "column": 20
                                },
                                "identifierName": "r"
                              },
                              "name": "r"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2905,
                            "end": 2917,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 21
                              },
                              "end": {
                                "line": 104,
                                "column": 33
                              },
                              "identifierName": "toDERInteger"
                            },
                            "name": "toDERInteger"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "VariableDeclaration",
                  "start": 2925,
                  "end": 2957,
                  "loc": {
                    "start": {
                      "line": 105,
                      "column": 4
                    },
                    "end": {
                      "line": 105,
                      "column": 36
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 2929,
                      "end": 2956,
                      "loc": {
                        "start": {
                          "line": 105,
                          "column": 8
                        },
                        "end": {
                          "line": 105,
                          "column": 35
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 2929,
                        "end": 2932,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 8
                          },
                          "end": {
                            "line": 105,
                            "column": 11
                          },
                          "identifierName": "sBa"
                        },
                        "name": "sBa"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 2935,
                        "end": 2956,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 14
                          },
                          "end": {
                            "line": 105,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2935,
                          "end": 2954,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 14
                            },
                            "end": {
                              "line": 105,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2935,
                            "end": 2941,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 14
                              },
                              "end": {
                                "line": 105,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2935,
                              "end": 2939,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 14
                                },
                                "end": {
                                  "line": 105,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2940,
                              "end": 2941,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 19
                                },
                                "end": {
                                  "line": 105,
                                  "column": 20
                                },
                                "identifierName": "s"
                              },
                              "name": "s"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2942,
                            "end": 2954,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 21
                              },
                              "end": {
                                "line": 105,
                                "column": 33
                              },
                              "identifierName": "toDERInteger"
                            },
                            "name": "toDERInteger"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "VariableDeclaration",
                  "start": 2963,
                  "end": 2981,
                  "loc": {
                    "start": {
                      "line": 107,
                      "column": 4
                    },
                    "end": {
                      "line": 107,
                      "column": 22
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 2967,
                      "end": 2980,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 8
                        },
                        "end": {
                          "line": 107,
                          "column": 21
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 2967,
                        "end": 2975,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 8
                          },
                          "end": {
                            "line": 107,
                            "column": 16
                          },
                          "identifierName": "sequence"
                        },
                        "name": "sequence"
                      },
                      "init": {
                        "type": "ArrayExpression",
                        "start": 2978,
                        "end": 2980,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 19
                          },
                          "end": {
                            "line": 107,
                            "column": 21
                          }
                        },
                        "elements": []
                      }
                    }
                  ],
                  "kind": "var",
                  "trailingComments": [
                    {
                      "type": "CommentLine",
                      "value": " INTEGER",
                      "start": 2987,
                      "end": 2997,
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 4
                        },
                        "end": {
                          "line": 109,
                          "column": 14
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 3002,
                  "end": 3034,
                  "loc": {
                    "start": {
                      "line": 110,
                      "column": 4
                    },
                    "end": {
                      "line": 110,
                      "column": 36
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 3002,
                    "end": 3033,
                    "loc": {
                      "start": {
                        "line": 110,
                        "column": 4
                      },
                      "end": {
                        "line": 110,
                        "column": 35
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3002,
                      "end": 3015,
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 4
                        },
                        "end": {
                          "line": 110,
                          "column": 17
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3002,
                        "end": 3010,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 4
                          },
                          "end": {
                            "line": 110,
                            "column": 12
                          },
                          "identifierName": "sequence"
                        },
                        "name": "sequence",
                        "leadingComments": null
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3011,
                        "end": 3015,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 13
                          },
                          "end": {
                            "line": 110,
                            "column": 17
                          },
                          "identifierName": "push"
                        },
                        "name": "push"
                      },
                      "computed": false,
                      "leadingComments": null
                    },
                    "arguments": [
                      {
                        "type": "NumericLiteral",
                        "start": 3016,
                        "end": 3020,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 18
                          },
                          "end": {
                            "line": 110,
                            "column": 22
                          }
                        },
                        "extra": {
                          "rawValue": 2,
                          "raw": "0x02"
                        },
                        "value": 2
                      },
                      {
                        "type": "MemberExpression",
                        "start": 3022,
                        "end": 3032,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 24
                          },
                          "end": {
                            "line": 110,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3022,
                          "end": 3025,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 24
                            },
                            "end": {
                              "line": 110,
                              "column": 27
                            },
                            "identifierName": "rBa"
                          },
                          "name": "rBa"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3026,
                          "end": 3032,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 28
                            },
                            "end": {
                              "line": 110,
                              "column": 34
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      }
                    ],
                    "leadingComments": null
                  },
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " INTEGER",
                      "start": 2987,
                      "end": 2997,
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 4
                        },
                        "end": {
                          "line": 109,
                          "column": 14
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 3039,
                  "end": 3071,
                  "loc": {
                    "start": {
                      "line": 111,
                      "column": 4
                    },
                    "end": {
                      "line": 111,
                      "column": 36
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 3039,
                    "end": 3070,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 4
                      },
                      "end": {
                        "line": 111,
                        "column": 35
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 3039,
                      "end": 3047,
                      "loc": {
                        "start": {
                          "line": 111,
                          "column": 4
                        },
                        "end": {
                          "line": 111,
                          "column": 12
                        },
                        "identifierName": "sequence"
                      },
                      "name": "sequence"
                    },
                    "right": {
                      "type": "CallExpression",
                      "start": 3050,
                      "end": 3070,
                      "loc": {
                        "start": {
                          "line": 111,
                          "column": 15
                        },
                        "end": {
                          "line": 111,
                          "column": 35
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3050,
                        "end": 3065,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 15
                          },
                          "end": {
                            "line": 111,
                            "column": 30
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3050,
                          "end": 3058,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 15
                            },
                            "end": {
                              "line": 111,
                              "column": 23
                            },
                            "identifierName": "sequence"
                          },
                          "name": "sequence"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3059,
                          "end": 3065,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 24
                            },
                            "end": {
                              "line": 111,
                              "column": 30
                            },
                            "identifierName": "concat"
                          },
                          "name": "concat"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3066,
                          "end": 3069,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 31
                            },
                            "end": {
                              "line": 111,
                              "column": 34
                            },
                            "identifierName": "rBa"
                          },
                          "name": "rBa"
                        }
                      ]
                    }
                  },
                  "trailingComments": [
                    {
                      "type": "CommentLine",
                      "value": " INTEGER",
                      "start": 3077,
                      "end": 3087,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 4
                        },
                        "end": {
                          "line": 113,
                          "column": 14
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 3092,
                  "end": 3124,
                  "loc": {
                    "start": {
                      "line": 114,
                      "column": 4
                    },
                    "end": {
                      "line": 114,
                      "column": 36
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 3092,
                    "end": 3123,
                    "loc": {
                      "start": {
                        "line": 114,
                        "column": 4
                      },
                      "end": {
                        "line": 114,
                        "column": 35
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3092,
                      "end": 3105,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 4
                        },
                        "end": {
                          "line": 114,
                          "column": 17
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3092,
                        "end": 3100,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 4
                          },
                          "end": {
                            "line": 114,
                            "column": 12
                          },
                          "identifierName": "sequence"
                        },
                        "name": "sequence",
                        "leadingComments": null
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3101,
                        "end": 3105,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 13
                          },
                          "end": {
                            "line": 114,
                            "column": 17
                          },
                          "identifierName": "push"
                        },
                        "name": "push"
                      },
                      "computed": false,
                      "leadingComments": null
                    },
                    "arguments": [
                      {
                        "type": "NumericLiteral",
                        "start": 3106,
                        "end": 3110,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 18
                          },
                          "end": {
                            "line": 114,
                            "column": 22
                          }
                        },
                        "extra": {
                          "rawValue": 2,
                          "raw": "0x02"
                        },
                        "value": 2
                      },
                      {
                        "type": "MemberExpression",
                        "start": 3112,
                        "end": 3122,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 24
                          },
                          "end": {
                            "line": 114,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3112,
                          "end": 3115,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 24
                            },
                            "end": {
                              "line": 114,
                              "column": 27
                            },
                            "identifierName": "sBa"
                          },
                          "name": "sBa"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3116,
                          "end": 3122,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 28
                            },
                            "end": {
                              "line": 114,
                              "column": 34
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      }
                    ],
                    "leadingComments": null
                  },
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " INTEGER",
                      "start": 3077,
                      "end": 3087,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 4
                        },
                        "end": {
                          "line": 113,
                          "column": 14
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 3129,
                  "end": 3161,
                  "loc": {
                    "start": {
                      "line": 115,
                      "column": 4
                    },
                    "end": {
                      "line": 115,
                      "column": 36
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 3129,
                    "end": 3160,
                    "loc": {
                      "start": {
                        "line": 115,
                        "column": 4
                      },
                      "end": {
                        "line": 115,
                        "column": 35
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 3129,
                      "end": 3137,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 4
                        },
                        "end": {
                          "line": 115,
                          "column": 12
                        },
                        "identifierName": "sequence"
                      },
                      "name": "sequence"
                    },
                    "right": {
                      "type": "CallExpression",
                      "start": 3140,
                      "end": 3160,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 15
                        },
                        "end": {
                          "line": 115,
                          "column": 35
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3140,
                        "end": 3155,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 15
                          },
                          "end": {
                            "line": 115,
                            "column": 30
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3140,
                          "end": 3148,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 15
                            },
                            "end": {
                              "line": 115,
                              "column": 23
                            },
                            "identifierName": "sequence"
                          },
                          "name": "sequence"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3149,
                          "end": 3155,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 24
                            },
                            "end": {
                              "line": 115,
                              "column": 30
                            },
                            "identifierName": "concat"
                          },
                          "name": "concat"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3156,
                          "end": 3159,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 31
                            },
                            "end": {
                              "line": 115,
                              "column": 34
                            },
                            "identifierName": "sBa"
                          },
                          "name": "sBa"
                        }
                      ]
                    }
                  },
                  "trailingComments": [
                    {
                      "type": "CommentLine",
                      "value": " SEQUENCE",
                      "start": 3167,
                      "end": 3178,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 4
                        },
                        "end": {
                          "line": 117,
                          "column": 15
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 3183,
                  "end": 3223,
                  "loc": {
                    "start": {
                      "line": 118,
                      "column": 4
                    },
                    "end": {
                      "line": 118,
                      "column": 44
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 3183,
                    "end": 3222,
                    "loc": {
                      "start": {
                        "line": 118,
                        "column": 4
                      },
                      "end": {
                        "line": 118,
                        "column": 43
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3183,
                      "end": 3199,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 4
                        },
                        "end": {
                          "line": 118,
                          "column": 20
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3183,
                        "end": 3191,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 4
                          },
                          "end": {
                            "line": 118,
                            "column": 12
                          },
                          "identifierName": "sequence"
                        },
                        "name": "sequence",
                        "leadingComments": null
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3192,
                        "end": 3199,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 13
                          },
                          "end": {
                            "line": 118,
                            "column": 20
                          },
                          "identifierName": "unshift"
                        },
                        "name": "unshift"
                      },
                      "computed": false,
                      "leadingComments": null
                    },
                    "arguments": [
                      {
                        "type": "NumericLiteral",
                        "start": 3200,
                        "end": 3204,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 21
                          },
                          "end": {
                            "line": 118,
                            "column": 25
                          }
                        },
                        "extra": {
                          "rawValue": 48,
                          "raw": "0x30"
                        },
                        "value": 48
                      },
                      {
                        "type": "MemberExpression",
                        "start": 3206,
                        "end": 3221,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 27
                          },
                          "end": {
                            "line": 118,
                            "column": 42
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3206,
                          "end": 3214,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 27
                            },
                            "end": {
                              "line": 118,
                              "column": 35
                            },
                            "identifierName": "sequence"
                          },
                          "name": "sequence"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3215,
                          "end": 3221,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 36
                            },
                            "end": {
                              "line": 118,
                              "column": 42
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      }
                    ],
                    "leadingComments": null
                  },
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " SEQUENCE",
                      "start": 3167,
                      "end": 3178,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 4
                        },
                        "end": {
                          "line": 117,
                          "column": 15
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "ReturnStatement",
                  "start": 3229,
                  "end": 3258,
                  "loc": {
                    "start": {
                      "line": 120,
                      "column": 4
                    },
                    "end": {
                      "line": 120,
                      "column": 33
                    }
                  },
                  "argument": {
                    "type": "CallExpression",
                    "start": 3236,
                    "end": 3257,
                    "loc": {
                      "start": {
                        "line": 120,
                        "column": 11
                      },
                      "end": {
                        "line": 120,
                        "column": 32
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3236,
                      "end": 3247,
                      "loc": {
                        "start": {
                          "line": 120,
                          "column": 11
                        },
                        "end": {
                          "line": 120,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3236,
                        "end": 3242,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 11
                          },
                          "end": {
                            "line": 120,
                            "column": 17
                          },
                          "identifierName": "Buffer"
                        },
                        "name": "Buffer"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3243,
                        "end": 3247,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 18
                          },
                          "end": {
                            "line": 120,
                            "column": 22
                          },
                          "identifierName": "from"
                        },
                        "name": "from"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3248,
                        "end": 3256,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 23
                          },
                          "end": {
                            "line": 120,
                            "column": 31
                          },
                          "identifierName": "sequence"
                        },
                        "name": "sequence"
                      }
                    ]
                  }
                }
              ],
              "directives": []
            }
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 3263,
        "end": 3473,
        "loc": {
          "start": {
            "line": 123,
            "column": 0
          },
          "end": {
            "line": 128,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 3263,
          "end": 3472,
          "loc": {
            "start": {
              "line": 123,
              "column": 0
            },
            "end": {
              "line": 128,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 3263,
            "end": 3302,
            "loc": {
              "start": {
                "line": 123,
                "column": 0
              },
              "end": {
                "line": 123,
                "column": 39
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 3263,
              "end": 3284,
              "loc": {
                "start": {
                  "line": 123,
                  "column": 0
                },
                "end": {
                  "line": 123,
                  "column": 21
                }
              },
              "object": {
                "type": "Identifier",
                "start": 3263,
                "end": 3274,
                "loc": {
                  "start": {
                    "line": 123,
                    "column": 0
                  },
                  "end": {
                    "line": 123,
                    "column": 11
                  },
                  "identifierName": "ECSignature"
                },
                "name": "ECSignature"
              },
              "property": {
                "type": "Identifier",
                "start": 3275,
                "end": 3284,
                "loc": {
                  "start": {
                    "line": 123,
                    "column": 12
                  },
                  "end": {
                    "line": 123,
                    "column": 21
                  },
                  "identifierName": "prototype"
                },
                "name": "prototype"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 3285,
              "end": 3302,
              "loc": {
                "start": {
                  "line": 123,
                  "column": 22
                },
                "end": {
                  "line": 123,
                  "column": 39
                },
                "identifierName": "toScriptSignature"
              },
              "name": "toScriptSignature"
            },
            "computed": false
          },
          "right": {
            "type": "FunctionExpression",
            "start": 3305,
            "end": 3472,
            "loc": {
              "start": {
                "line": 123,
                "column": 42
              },
              "end": {
                "line": 128,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 3285,
              "end": 3302,
              "loc": {
                "start": {
                  "line": 123,
                  "column": 22
                },
                "end": {
                  "line": 123,
                  "column": 39
                },
                "identifierName": "toScriptSignature"
              },
              "name": "toScriptSignature"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 3314,
                "end": 3322,
                "loc": {
                  "start": {
                    "line": 123,
                    "column": 51
                  },
                  "end": {
                    "line": 123,
                    "column": 59
                  },
                  "identifierName": "hashType"
                },
                "name": "hashType"
              }
            ],
            "body": {
              "type": "BlockStatement",
              "start": 3324,
              "end": 3472,
              "loc": {
                "start": {
                  "line": 123,
                  "column": 61
                },
                "end": {
                  "line": 128,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 3330,
                  "end": 3367,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 4
                    },
                    "end": {
                      "line": 124,
                      "column": 41
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 3334,
                      "end": 3366,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 8
                        },
                        "end": {
                          "line": 124,
                          "column": 40
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 3334,
                        "end": 3348,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 8
                          },
                          "end": {
                            "line": 124,
                            "column": 22
                          },
                          "identifierName": "hashTypeBuffer"
                        },
                        "name": "hashTypeBuffer"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 3351,
                        "end": 3366,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 25
                          },
                          "end": {
                            "line": 124,
                            "column": 40
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3351,
                          "end": 3363,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 25
                            },
                            "end": {
                              "line": 124,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3351,
                            "end": 3357,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 25
                              },
                              "end": {
                                "line": 124,
                                "column": 31
                              },
                              "identifierName": "Buffer"
                            },
                            "name": "Buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3358,
                            "end": 3363,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 32
                              },
                              "end": {
                                "line": 124,
                                "column": 37
                              },
                              "identifierName": "alloc"
                            },
                            "name": "alloc"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 3364,
                            "end": 3365,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 38
                              },
                              "end": {
                                "line": 124,
                                "column": 39
                              }
                            },
                            "extra": {
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "value": 1
                          }
                        ]
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 3372,
                  "end": 3411,
                  "loc": {
                    "start": {
                      "line": 125,
                      "column": 4
                    },
                    "end": {
                      "line": 125,
                      "column": 43
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 3372,
                    "end": 3410,
                    "loc": {
                      "start": {
                        "line": 125,
                        "column": 4
                      },
                      "end": {
                        "line": 125,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3372,
                      "end": 3397,
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 4
                        },
                        "end": {
                          "line": 125,
                          "column": 29
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3372,
                        "end": 3386,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 4
                          },
                          "end": {
                            "line": 125,
                            "column": 18
                          },
                          "identifierName": "hashTypeBuffer"
                        },
                        "name": "hashTypeBuffer"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3387,
                        "end": 3397,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 19
                          },
                          "end": {
                            "line": 125,
                            "column": 29
                          },
                          "identifierName": "writeUInt8"
                        },
                        "name": "writeUInt8"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3398,
                        "end": 3406,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 30
                          },
                          "end": {
                            "line": 125,
                            "column": 38
                          },
                          "identifierName": "hashType"
                        },
                        "name": "hashType"
                      },
                      {
                        "type": "NumericLiteral",
                        "start": 3408,
                        "end": 3409,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 40
                          },
                          "end": {
                            "line": 125,
                            "column": 41
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      }
                    ]
                  }
                },
                {
                  "type": "ReturnStatement",
                  "start": 3417,
                  "end": 3470,
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 4
                    },
                    "end": {
                      "line": 127,
                      "column": 57
                    }
                  },
                  "argument": {
                    "type": "CallExpression",
                    "start": 3424,
                    "end": 3469,
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 11
                      },
                      "end": {
                        "line": 127,
                        "column": 56
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3424,
                      "end": 3437,
                      "loc": {
                        "start": {
                          "line": 127,
                          "column": 11
                        },
                        "end": {
                          "line": 127,
                          "column": 24
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3424,
                        "end": 3430,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 11
                          },
                          "end": {
                            "line": 127,
                            "column": 17
                          },
                          "identifierName": "Buffer"
                        },
                        "name": "Buffer"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3431,
                        "end": 3437,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 18
                          },
                          "end": {
                            "line": 127,
                            "column": 24
                          },
                          "identifierName": "concat"
                        },
                        "name": "concat"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "ArrayExpression",
                        "start": 3438,
                        "end": 3468,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 25
                          },
                          "end": {
                            "line": 127,
                            "column": 55
                          }
                        },
                        "elements": [
                          {
                            "type": "CallExpression",
                            "start": 3439,
                            "end": 3451,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 26
                              },
                              "end": {
                                "line": 127,
                                "column": 38
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3439,
                              "end": 3449,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 26
                                },
                                "end": {
                                  "line": 127,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3439,
                                "end": 3443,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3444,
                                "end": 3449,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 36
                                  },
                                  "identifierName": "toDER"
                                },
                                "name": "toDER"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          {
                            "type": "Identifier",
                            "start": 3453,
                            "end": 3467,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 40
                              },
                              "end": {
                                "line": 127,
                                "column": 54
                              },
                              "identifierName": "hashTypeBuffer"
                            },
                            "name": "hashTypeBuffer"
                          }
                        ]
                      }
                    ]
                  }
                }
              ],
              "directives": []
            }
          }
        }
      },
      {
        "type": "Identifier",
        "start": 3475,
        "end": 3502,
        "loc": {
          "start": {
            "line": 130,
            "column": 0
          },
          "end": {
            "line": 130,
            "column": 27
          }
        },
        "declaration": {
          "type": "Identifier",
          "start": 3490,
          "end": 3501,
          "loc": {
            "start": {
              "line": 130,
              "column": 15
            },
            "end": {
              "line": 130,
              "column": 26
            },
            "identifierName": "ECSignature"
          },
          "name": "ECSignature"
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 3475,
        "end": 3502,
        "loc": {
          "start": {
            "line": 130,
            "column": 0
          },
          "end": {
            "line": 130,
            "column": 27
          }
        },
        "declaration": {
          "type": "FunctionDeclaration",
          "start": 201,
          "end": 328,
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 210,
            "end": 221,
            "loc": {
              "start": {
                "line": 6,
                "column": 9
              },
              "end": {
                "line": 6,
                "column": 20
              },
              "identifierName": "ECSignature"
            },
            "name": "ECSignature"
          },
          "generator": false,
          "expression": false,
          "async": false,
          "params": [
            {
              "type": "Identifier",
              "start": 222,
              "end": 223,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 21
                },
                "end": {
                  "line": 6,
                  "column": 22
                },
                "identifierName": "r"
              },
              "name": "r"
            },
            {
              "type": "Identifier",
              "start": 225,
              "end": 226,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 24
                },
                "end": {
                  "line": 6,
                  "column": 25
                },
                "identifierName": "s"
              },
              "name": "s"
            }
          ],
          "body": {
            "type": "BlockStatement",
            "start": 228,
            "end": 328,
            "loc": {
              "start": {
                "line": 6,
                "column": 27
              },
              "end": {
                "line": 12,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ExpressionStatement",
                "start": 234,
                "end": 261,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 4
                  },
                  "end": {
                    "line": 7,
                    "column": 31
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 234,
                  "end": 260,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 4
                    },
                    "end": {
                      "line": 7,
                      "column": 30
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 234,
                    "end": 245,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 4
                      },
                      "end": {
                        "line": 7,
                        "column": 15
                      },
                      "identifierName": "enforceType"
                    },
                    "name": "enforceType"
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 246,
                      "end": 256,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 16
                        },
                        "end": {
                          "line": 7,
                          "column": 26
                        },
                        "identifierName": "BigInteger"
                      },
                      "name": "BigInteger"
                    },
                    {
                      "type": "Identifier",
                      "start": 258,
                      "end": 259,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 28
                        },
                        "end": {
                          "line": 7,
                          "column": 29
                        },
                        "identifierName": "r"
                      },
                      "name": "r"
                    }
                  ]
                }
              },
              {
                "type": "ExpressionStatement",
                "start": 266,
                "end": 293,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 4
                  },
                  "end": {
                    "line": 8,
                    "column": 31
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 266,
                  "end": 292,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 4
                    },
                    "end": {
                      "line": 8,
                      "column": 30
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 266,
                    "end": 277,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 4
                      },
                      "end": {
                        "line": 8,
                        "column": 15
                      },
                      "identifierName": "enforceType"
                    },
                    "name": "enforceType"
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 278,
                      "end": 288,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 16
                        },
                        "end": {
                          "line": 8,
                          "column": 26
                        },
                        "identifierName": "BigInteger"
                      },
                      "name": "BigInteger"
                    },
                    {
                      "type": "Identifier",
                      "start": 290,
                      "end": 291,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 28
                        },
                        "end": {
                          "line": 8,
                          "column": 29
                        },
                        "identifierName": "s"
                      },
                      "name": "s"
                    }
                  ]
                }
              },
              {
                "type": "ExpressionStatement",
                "start": 299,
                "end": 310,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 4
                  },
                  "end": {
                    "line": 10,
                    "column": 15
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 299,
                  "end": 309,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 4
                    },
                    "end": {
                      "line": 10,
                      "column": 14
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "MemberExpression",
                    "start": 299,
                    "end": 305,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 4
                      },
                      "end": {
                        "line": 10,
                        "column": 10
                      }
                    },
                    "object": {
                      "type": "ThisExpression",
                      "start": 299,
                      "end": 303,
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 4
                        },
                        "end": {
                          "line": 10,
                          "column": 8
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 304,
                      "end": 305,
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 9
                        },
                        "end": {
                          "line": 10,
                          "column": 10
                        },
                        "identifierName": "r"
                      },
                      "name": "r"
                    },
                    "computed": false
                  },
                  "right": {
                    "type": "Identifier",
                    "start": 308,
                    "end": 309,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 13
                      },
                      "end": {
                        "line": 10,
                        "column": 14
                      },
                      "identifierName": "r"
                    },
                    "name": "r"
                  }
                }
              },
              {
                "type": "ExpressionStatement",
                "start": 315,
                "end": 326,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 4
                  },
                  "end": {
                    "line": 11,
                    "column": 15
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 315,
                  "end": 325,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 4
                    },
                    "end": {
                      "line": 11,
                      "column": 14
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "MemberExpression",
                    "start": 315,
                    "end": 321,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 4
                      },
                      "end": {
                        "line": 11,
                        "column": 10
                      }
                    },
                    "object": {
                      "type": "ThisExpression",
                      "start": 315,
                      "end": 319,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 4
                        },
                        "end": {
                          "line": 11,
                          "column": 8
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 320,
                      "end": 321,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 9
                        },
                        "end": {
                          "line": 11,
                          "column": 10
                        },
                        "identifierName": "s"
                      },
                      "name": "s"
                    },
                    "computed": false
                  },
                  "right": {
                    "type": "Identifier",
                    "start": 324,
                    "end": 325,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 13
                      },
                      "end": {
                        "line": 11,
                        "column": 14
                      },
                      "identifierName": "s"
                    },
                    "name": "s"
                  }
                }
              }
            ],
            "directives": [],
            "trailingComments": null
          },
          "trailingComments": [
            {
              "type": "CommentLine",
              "value": " Import operations",
              "start": 330,
              "end": 350,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 0
                },
                "end": {
                  "line": 14,
                  "column": 20
                }
              }
            }
          ],
          "leadingComments": []
        }
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " from https://github.com/bitcoinjs/bitcoinjs-lib",
      "start": 29,
      "end": 79,
      "loc": {
        "start": {
          "line": 1,
          "column": 29
        },
        "end": {
          "line": 1,
          "column": 79
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Import operations",
      "start": 330,
      "end": 350,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 20
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " At most 3 bits",
      "start": 505,
      "end": 522,
      "loc": {
        "start": {
          "line": 19,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 21
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Recovery param only",
      "start": 619,
      "end": 641,
      "loc": {
        "start": {
          "line": 23,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 26
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " FIXME: 0x00, 0x04, 0x80 are SIGHASH_* boundary constants, importing Transaction causes a circular dependency",
      "start": 2096,
      "end": 2207,
      "loc": {
        "start": {
          "line": 76,
          "column": 0
        },
        "end": {
          "line": 76,
          "column": 111
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Export operations",
      "start": 2546,
      "end": 2566,
      "loc": {
        "start": {
          "line": 89,
          "column": 0
        },
        "end": {
          "line": 89,
          "column": 20
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " INTEGER",
      "start": 2987,
      "end": 2997,
      "loc": {
        "start": {
          "line": 109,
          "column": 4
        },
        "end": {
          "line": 109,
          "column": 14
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " INTEGER",
      "start": 3077,
      "end": 3087,
      "loc": {
        "start": {
          "line": 113,
          "column": 4
        },
        "end": {
          "line": 113,
          "column": 14
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " SEQUENCE",
      "start": 3167,
      "end": 3178,
      "loc": {
        "start": {
          "line": 117,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 15
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 7,
      "end": 13,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 14,
      "end": 18,
      "loc": {
        "start": {
          "line": 1,
          "column": 14
        },
        "end": {
          "line": 1,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "assert",
      "start": 19,
      "end": 27,
      "loc": {
        "start": {
          "line": 1,
          "column": 19
        },
        "end": {
          "line": 1,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 27,
      "end": 28,
      "loc": {
        "start": {
          "line": 1,
          "column": 27
        },
        "end": {
          "line": 1,
          "column": 28
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " from https://github.com/bitcoinjs/bitcoinjs-lib",
      "start": 29,
      "end": 79,
      "loc": {
        "start": {
          "line": 1,
          "column": 29
        },
        "end": {
          "line": 1,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 80,
      "end": 86,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "enforceType",
      "start": 87,
      "end": 98,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 99,
      "end": 103,
      "loc": {
        "start": {
          "line": 2,
          "column": 19
        },
        "end": {
          "line": 2,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./enforce_types",
      "start": 104,
      "end": 121,
      "loc": {
        "start": {
          "line": 2,
          "column": 24
        },
        "end": {
          "line": 2,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 121,
      "end": 122,
      "loc": {
        "start": {
          "line": 2,
          "column": 41
        },
        "end": {
          "line": 2,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 123,
      "end": 129,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 130,
      "end": 140,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 141,
      "end": 145,
      "loc": {
        "start": {
          "line": 3,
          "column": 18
        },
        "end": {
          "line": 3,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "bigi",
      "start": 146,
      "end": 152,
      "loc": {
        "start": {
          "line": 3,
          "column": 23
        },
        "end": {
          "line": 3,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 152,
      "end": 153,
      "loc": {
        "start": {
          "line": 3,
          "column": 29
        },
        "end": {
          "line": 3,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 154,
      "end": 159,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 160,
      "end": 166,
      "loc": {
        "start": {
          "line": 4,
          "column": 6
        },
        "end": {
          "line": 4,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 167,
      "end": 168,
      "loc": {
        "start": {
          "line": 4,
          "column": 13
        },
        "end": {
          "line": 4,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 169,
      "end": 176,
      "loc": {
        "start": {
          "line": 4,
          "column": 15
        },
        "end": {
          "line": 4,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 176,
      "end": 177,
      "loc": {
        "start": {
          "line": 4,
          "column": 22
        },
        "end": {
          "line": 4,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "safe-buffer",
      "start": 177,
      "end": 190,
      "loc": {
        "start": {
          "line": 4,
          "column": 23
        },
        "end": {
          "line": 4,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 190,
      "end": 191,
      "loc": {
        "start": {
          "line": 4,
          "column": 36
        },
        "end": {
          "line": 4,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 191,
      "end": 192,
      "loc": {
        "start": {
          "line": 4,
          "column": 37
        },
        "end": {
          "line": 4,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 192,
      "end": 198,
      "loc": {
        "start": {
          "line": 4,
          "column": 38
        },
        "end": {
          "line": 4,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 198,
      "end": 199,
      "loc": {
        "start": {
          "line": 4,
          "column": 44
        },
        "end": {
          "line": 4,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 201,
      "end": 209,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 210,
      "end": 221,
      "loc": {
        "start": {
          "line": 6,
          "column": 9
        },
        "end": {
          "line": 6,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 221,
      "end": 222,
      "loc": {
        "start": {
          "line": 6,
          "column": 20
        },
        "end": {
          "line": 6,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 222,
      "end": 223,
      "loc": {
        "start": {
          "line": 6,
          "column": 21
        },
        "end": {
          "line": 6,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 223,
      "end": 224,
      "loc": {
        "start": {
          "line": 6,
          "column": 22
        },
        "end": {
          "line": 6,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 225,
      "end": 226,
      "loc": {
        "start": {
          "line": 6,
          "column": 24
        },
        "end": {
          "line": 6,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 226,
      "end": 227,
      "loc": {
        "start": {
          "line": 6,
          "column": 25
        },
        "end": {
          "line": 6,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 228,
      "end": 229,
      "loc": {
        "start": {
          "line": 6,
          "column": 27
        },
        "end": {
          "line": 6,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "enforceType",
      "start": 234,
      "end": 245,
      "loc": {
        "start": {
          "line": 7,
          "column": 4
        },
        "end": {
          "line": 7,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 245,
      "end": 246,
      "loc": {
        "start": {
          "line": 7,
          "column": 15
        },
        "end": {
          "line": 7,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 246,
      "end": 256,
      "loc": {
        "start": {
          "line": 7,
          "column": 16
        },
        "end": {
          "line": 7,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 256,
      "end": 257,
      "loc": {
        "start": {
          "line": 7,
          "column": 26
        },
        "end": {
          "line": 7,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 258,
      "end": 259,
      "loc": {
        "start": {
          "line": 7,
          "column": 28
        },
        "end": {
          "line": 7,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 259,
      "end": 260,
      "loc": {
        "start": {
          "line": 7,
          "column": 29
        },
        "end": {
          "line": 7,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 260,
      "end": 261,
      "loc": {
        "start": {
          "line": 7,
          "column": 30
        },
        "end": {
          "line": 7,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "enforceType",
      "start": 266,
      "end": 277,
      "loc": {
        "start": {
          "line": 8,
          "column": 4
        },
        "end": {
          "line": 8,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 277,
      "end": 278,
      "loc": {
        "start": {
          "line": 8,
          "column": 15
        },
        "end": {
          "line": 8,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 278,
      "end": 288,
      "loc": {
        "start": {
          "line": 8,
          "column": 16
        },
        "end": {
          "line": 8,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 288,
      "end": 289,
      "loc": {
        "start": {
          "line": 8,
          "column": 26
        },
        "end": {
          "line": 8,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 290,
      "end": 291,
      "loc": {
        "start": {
          "line": 8,
          "column": 28
        },
        "end": {
          "line": 8,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 291,
      "end": 292,
      "loc": {
        "start": {
          "line": 8,
          "column": 29
        },
        "end": {
          "line": 8,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 292,
      "end": 293,
      "loc": {
        "start": {
          "line": 8,
          "column": 30
        },
        "end": {
          "line": 8,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 299,
      "end": 303,
      "loc": {
        "start": {
          "line": 10,
          "column": 4
        },
        "end": {
          "line": 10,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 303,
      "end": 304,
      "loc": {
        "start": {
          "line": 10,
          "column": 8
        },
        "end": {
          "line": 10,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 304,
      "end": 305,
      "loc": {
        "start": {
          "line": 10,
          "column": 9
        },
        "end": {
          "line": 10,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 306,
      "end": 307,
      "loc": {
        "start": {
          "line": 10,
          "column": 11
        },
        "end": {
          "line": 10,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 308,
      "end": 309,
      "loc": {
        "start": {
          "line": 10,
          "column": 13
        },
        "end": {
          "line": 10,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 309,
      "end": 310,
      "loc": {
        "start": {
          "line": 10,
          "column": 14
        },
        "end": {
          "line": 10,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 315,
      "end": 319,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 319,
      "end": 320,
      "loc": {
        "start": {
          "line": 11,
          "column": 8
        },
        "end": {
          "line": 11,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 320,
      "end": 321,
      "loc": {
        "start": {
          "line": 11,
          "column": 9
        },
        "end": {
          "line": 11,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 322,
      "end": 323,
      "loc": {
        "start": {
          "line": 11,
          "column": 11
        },
        "end": {
          "line": 11,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 324,
      "end": 325,
      "loc": {
        "start": {
          "line": 11,
          "column": 13
        },
        "end": {
          "line": 11,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 325,
      "end": 326,
      "loc": {
        "start": {
          "line": 11,
          "column": 14
        },
        "end": {
          "line": 11,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 327,
      "end": 328,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 1
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Import operations",
      "start": 330,
      "end": 350,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 351,
      "end": 362,
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 362,
      "end": 363,
      "loc": {
        "start": {
          "line": 15,
          "column": 11
        },
        "end": {
          "line": 15,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parseCompact",
      "start": 363,
      "end": 375,
      "loc": {
        "start": {
          "line": 15,
          "column": 12
        },
        "end": {
          "line": 15,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 376,
      "end": 377,
      "loc": {
        "start": {
          "line": 15,
          "column": 25
        },
        "end": {
          "line": 15,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 378,
      "end": 386,
      "loc": {
        "start": {
          "line": 15,
          "column": 27
        },
        "end": {
          "line": 15,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 386,
      "end": 387,
      "loc": {
        "start": {
          "line": 15,
          "column": 35
        },
        "end": {
          "line": 15,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 387,
      "end": 393,
      "loc": {
        "start": {
          "line": 15,
          "column": 36
        },
        "end": {
          "line": 15,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 393,
      "end": 394,
      "loc": {
        "start": {
          "line": 15,
          "column": 42
        },
        "end": {
          "line": 15,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 395,
      "end": 396,
      "loc": {
        "start": {
          "line": 15,
          "column": 44
        },
        "end": {
          "line": 15,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 401,
      "end": 407,
      "loc": {
        "start": {
          "line": 16,
          "column": 4
        },
        "end": {
          "line": 16,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 407,
      "end": 408,
      "loc": {
        "start": {
          "line": 16,
          "column": 10
        },
        "end": {
          "line": 16,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 408,
      "end": 413,
      "loc": {
        "start": {
          "line": 16,
          "column": 11
        },
        "end": {
          "line": 16,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 413,
      "end": 414,
      "loc": {
        "start": {
          "line": 16,
          "column": 16
        },
        "end": {
          "line": 16,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 414,
      "end": 420,
      "loc": {
        "start": {
          "line": 16,
          "column": 17
        },
        "end": {
          "line": 16,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 420,
      "end": 421,
      "loc": {
        "start": {
          "line": 16,
          "column": 23
        },
        "end": {
          "line": 16,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 421,
      "end": 427,
      "loc": {
        "start": {
          "line": 16,
          "column": 24
        },
        "end": {
          "line": 16,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 427,
      "end": 428,
      "loc": {
        "start": {
          "line": 16,
          "column": 30
        },
        "end": {
          "line": 16,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 65,
      "start": 429,
      "end": 431,
      "loc": {
        "start": {
          "line": 16,
          "column": 32
        },
        "end": {
          "line": 16,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 431,
      "end": 432,
      "loc": {
        "start": {
          "line": 16,
          "column": 34
        },
        "end": {
          "line": 16,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Invalid signature length",
      "start": 433,
      "end": 459,
      "loc": {
        "start": {
          "line": 16,
          "column": 36
        },
        "end": {
          "line": 16,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 459,
      "end": 460,
      "loc": {
        "start": {
          "line": 16,
          "column": 62
        },
        "end": {
          "line": 16,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 460,
      "end": 461,
      "loc": {
        "start": {
          "line": 16,
          "column": 63
        },
        "end": {
          "line": 16,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 466,
      "end": 469,
      "loc": {
        "start": {
          "line": 17,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 470,
      "end": 471,
      "loc": {
        "start": {
          "line": 17,
          "column": 8
        },
        "end": {
          "line": 17,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 472,
      "end": 473,
      "loc": {
        "start": {
          "line": 17,
          "column": 10
        },
        "end": {
          "line": 17,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 474,
      "end": 480,
      "loc": {
        "start": {
          "line": 17,
          "column": 12
        },
        "end": {
          "line": 17,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 480,
      "end": 481,
      "loc": {
        "start": {
          "line": 17,
          "column": 18
        },
        "end": {
          "line": 17,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 481,
      "end": 490,
      "loc": {
        "start": {
          "line": 17,
          "column": 19
        },
        "end": {
          "line": 17,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 490,
      "end": 491,
      "loc": {
        "start": {
          "line": 17,
          "column": 28
        },
        "end": {
          "line": 17,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 491,
      "end": 492,
      "loc": {
        "start": {
          "line": 17,
          "column": 29
        },
        "end": {
          "line": 17,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 492,
      "end": 493,
      "loc": {
        "start": {
          "line": 17,
          "column": 30
        },
        "end": {
          "line": 17,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 494,
      "end": 495,
      "loc": {
        "start": {
          "line": 17,
          "column": 32
        },
        "end": {
          "line": 17,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 27,
      "start": 496,
      "end": 498,
      "loc": {
        "start": {
          "line": 17,
          "column": 34
        },
        "end": {
          "line": 17,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 498,
      "end": 499,
      "loc": {
        "start": {
          "line": 17,
          "column": 36
        },
        "end": {
          "line": 17,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " At most 3 bits",
      "start": 505,
      "end": 522,
      "loc": {
        "start": {
          "line": 19,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 527,
      "end": 533,
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 20,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 533,
      "end": 534,
      "loc": {
        "start": {
          "line": 20,
          "column": 10
        },
        "end": {
          "line": 20,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 534,
      "end": 539,
      "loc": {
        "start": {
          "line": 20,
          "column": 11
        },
        "end": {
          "line": 20,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 539,
      "end": 540,
      "loc": {
        "start": {
          "line": 20,
          "column": 16
        },
        "end": {
          "line": 20,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 540,
      "end": 541,
      "loc": {
        "start": {
          "line": 20,
          "column": 17
        },
        "end": {
          "line": 20,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 541,
      "end": 542,
      "loc": {
        "start": {
          "line": 20,
          "column": 18
        },
        "end": {
          "line": 20,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 543,
      "end": 544,
      "loc": {
        "start": {
          "line": 20,
          "column": 20
        },
        "end": {
          "line": 20,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 5,
        "updateContext": null
      },
      "value": "&",
      "start": 545,
      "end": 546,
      "loc": {
        "start": {
          "line": 20,
          "column": 22
        },
        "end": {
          "line": 20,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 7,
      "start": 547,
      "end": 548,
      "loc": {
        "start": {
          "line": 20,
          "column": 24
        },
        "end": {
          "line": 20,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 548,
      "end": 549,
      "loc": {
        "start": {
          "line": 20,
          "column": 25
        },
        "end": {
          "line": 20,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Invalid signature parameter",
      "start": 550,
      "end": 579,
      "loc": {
        "start": {
          "line": 20,
          "column": 27
        },
        "end": {
          "line": 20,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 579,
      "end": 580,
      "loc": {
        "start": {
          "line": 20,
          "column": 56
        },
        "end": {
          "line": 20,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 580,
      "end": 581,
      "loc": {
        "start": {
          "line": 20,
          "column": 57
        },
        "end": {
          "line": 20,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 586,
      "end": 589,
      "loc": {
        "start": {
          "line": 21,
          "column": 4
        },
        "end": {
          "line": 21,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "compressed",
      "start": 590,
      "end": 600,
      "loc": {
        "start": {
          "line": 21,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 601,
      "end": 602,
      "loc": {
        "start": {
          "line": 21,
          "column": 19
        },
        "end": {
          "line": 21,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 603,
      "end": 604,
      "loc": {
        "start": {
          "line": 21,
          "column": 21
        },
        "end": {
          "line": 21,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 604,
      "end": 605,
      "loc": {
        "start": {
          "line": 21,
          "column": 22
        },
        "end": {
          "line": 21,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 605,
      "end": 606,
      "loc": {
        "start": {
          "line": 21,
          "column": 23
        },
        "end": {
          "line": 21,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 606,
      "end": 607,
      "loc": {
        "start": {
          "line": 21,
          "column": 24
        },
        "end": {
          "line": 21,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 5,
        "updateContext": null
      },
      "value": "&",
      "start": 608,
      "end": 609,
      "loc": {
        "start": {
          "line": 21,
          "column": 26
        },
        "end": {
          "line": 21,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 610,
      "end": 611,
      "loc": {
        "start": {
          "line": 21,
          "column": 28
        },
        "end": {
          "line": 21,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 611,
      "end": 612,
      "loc": {
        "start": {
          "line": 21,
          "column": 29
        },
        "end": {
          "line": 21,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 612,
      "end": 613,
      "loc": {
        "start": {
          "line": 21,
          "column": 30
        },
        "end": {
          "line": 21,
          "column": 31
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Recovery param only",
      "start": 619,
      "end": 641,
      "loc": {
        "start": {
          "line": 23,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 646,
      "end": 647,
      "loc": {
        "start": {
          "line": 24,
          "column": 4
        },
        "end": {
          "line": 24,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 648,
      "end": 649,
      "loc": {
        "start": {
          "line": 24,
          "column": 6
        },
        "end": {
          "line": 24,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 650,
      "end": 651,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 5,
        "updateContext": null
      },
      "value": "&",
      "start": 652,
      "end": 653,
      "loc": {
        "start": {
          "line": 24,
          "column": 10
        },
        "end": {
          "line": 24,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 3,
      "start": 654,
      "end": 655,
      "loc": {
        "start": {
          "line": 24,
          "column": 12
        },
        "end": {
          "line": 24,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 655,
      "end": 656,
      "loc": {
        "start": {
          "line": 24,
          "column": 13
        },
        "end": {
          "line": 24,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 662,
      "end": 665,
      "loc": {
        "start": {
          "line": 26,
          "column": 4
        },
        "end": {
          "line": 26,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 666,
      "end": 667,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 26,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 668,
      "end": 669,
      "loc": {
        "start": {
          "line": 26,
          "column": 10
        },
        "end": {
          "line": 26,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 670,
      "end": 680,
      "loc": {
        "start": {
          "line": 26,
          "column": 12
        },
        "end": {
          "line": 26,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 680,
      "end": 681,
      "loc": {
        "start": {
          "line": 26,
          "column": 22
        },
        "end": {
          "line": 26,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 681,
      "end": 691,
      "loc": {
        "start": {
          "line": 26,
          "column": 23
        },
        "end": {
          "line": 26,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 691,
      "end": 692,
      "loc": {
        "start": {
          "line": 26,
          "column": 33
        },
        "end": {
          "line": 26,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 692,
      "end": 698,
      "loc": {
        "start": {
          "line": 26,
          "column": 34
        },
        "end": {
          "line": 26,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 698,
      "end": 699,
      "loc": {
        "start": {
          "line": 26,
          "column": 40
        },
        "end": {
          "line": 26,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 699,
      "end": 704,
      "loc": {
        "start": {
          "line": 26,
          "column": 41
        },
        "end": {
          "line": 26,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 704,
      "end": 705,
      "loc": {
        "start": {
          "line": 26,
          "column": 46
        },
        "end": {
          "line": 26,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 705,
      "end": 706,
      "loc": {
        "start": {
          "line": 26,
          "column": 47
        },
        "end": {
          "line": 26,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 706,
      "end": 707,
      "loc": {
        "start": {
          "line": 26,
          "column": 48
        },
        "end": {
          "line": 26,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 33,
      "start": 708,
      "end": 710,
      "loc": {
        "start": {
          "line": 26,
          "column": 50
        },
        "end": {
          "line": 26,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 710,
      "end": 711,
      "loc": {
        "start": {
          "line": 26,
          "column": 52
        },
        "end": {
          "line": 26,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 711,
      "end": 712,
      "loc": {
        "start": {
          "line": 26,
          "column": 53
        },
        "end": {
          "line": 26,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 712,
      "end": 713,
      "loc": {
        "start": {
          "line": 26,
          "column": 54
        },
        "end": {
          "line": 26,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 718,
      "end": 721,
      "loc": {
        "start": {
          "line": 27,
          "column": 4
        },
        "end": {
          "line": 27,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 722,
      "end": 723,
      "loc": {
        "start": {
          "line": 27,
          "column": 8
        },
        "end": {
          "line": 27,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 724,
      "end": 725,
      "loc": {
        "start": {
          "line": 27,
          "column": 10
        },
        "end": {
          "line": 27,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 726,
      "end": 736,
      "loc": {
        "start": {
          "line": 27,
          "column": 12
        },
        "end": {
          "line": 27,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 736,
      "end": 737,
      "loc": {
        "start": {
          "line": 27,
          "column": 22
        },
        "end": {
          "line": 27,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 737,
      "end": 747,
      "loc": {
        "start": {
          "line": 27,
          "column": 23
        },
        "end": {
          "line": 27,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 747,
      "end": 748,
      "loc": {
        "start": {
          "line": 27,
          "column": 33
        },
        "end": {
          "line": 27,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 748,
      "end": 754,
      "loc": {
        "start": {
          "line": 27,
          "column": 34
        },
        "end": {
          "line": 27,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 754,
      "end": 755,
      "loc": {
        "start": {
          "line": 27,
          "column": 40
        },
        "end": {
          "line": 27,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 755,
      "end": 760,
      "loc": {
        "start": {
          "line": 27,
          "column": 41
        },
        "end": {
          "line": 27,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 760,
      "end": 761,
      "loc": {
        "start": {
          "line": 27,
          "column": 46
        },
        "end": {
          "line": 27,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 33,
      "start": 761,
      "end": 763,
      "loc": {
        "start": {
          "line": 27,
          "column": 47
        },
        "end": {
          "line": 27,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 763,
      "end": 764,
      "loc": {
        "start": {
          "line": 27,
          "column": 49
        },
        "end": {
          "line": 27,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 764,
      "end": 765,
      "loc": {
        "start": {
          "line": 27,
          "column": 50
        },
        "end": {
          "line": 27,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 765,
      "end": 766,
      "loc": {
        "start": {
          "line": 27,
          "column": 51
        },
        "end": {
          "line": 27,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 772,
      "end": 778,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 29,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 779,
      "end": 780,
      "loc": {
        "start": {
          "line": 29,
          "column": 11
        },
        "end": {
          "line": 29,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "compressed",
      "start": 789,
      "end": 799,
      "loc": {
        "start": {
          "line": 30,
          "column": 8
        },
        "end": {
          "line": 30,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 799,
      "end": 800,
      "loc": {
        "start": {
          "line": 30,
          "column": 18
        },
        "end": {
          "line": 30,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "compressed",
      "start": 801,
      "end": 811,
      "loc": {
        "start": {
          "line": 30,
          "column": 20
        },
        "end": {
          "line": 30,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 811,
      "end": 812,
      "loc": {
        "start": {
          "line": 30,
          "column": 30
        },
        "end": {
          "line": 30,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 821,
      "end": 822,
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 31,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 822,
      "end": 823,
      "loc": {
        "start": {
          "line": 31,
          "column": 9
        },
        "end": {
          "line": 31,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 824,
      "end": 825,
      "loc": {
        "start": {
          "line": 31,
          "column": 11
        },
        "end": {
          "line": 31,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 825,
      "end": 826,
      "loc": {
        "start": {
          "line": 31,
          "column": 12
        },
        "end": {
          "line": 31,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signature",
      "start": 835,
      "end": 844,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 844,
      "end": 845,
      "loc": {
        "start": {
          "line": 32,
          "column": 17
        },
        "end": {
          "line": 32,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 846,
      "end": 849,
      "loc": {
        "start": {
          "line": 32,
          "column": 19
        },
        "end": {
          "line": 32,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 850,
      "end": 861,
      "loc": {
        "start": {
          "line": 32,
          "column": 23
        },
        "end": {
          "line": 32,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 861,
      "end": 862,
      "loc": {
        "start": {
          "line": 32,
          "column": 34
        },
        "end": {
          "line": 32,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 862,
      "end": 863,
      "loc": {
        "start": {
          "line": 32,
          "column": 35
        },
        "end": {
          "line": 32,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 863,
      "end": 864,
      "loc": {
        "start": {
          "line": 32,
          "column": 36
        },
        "end": {
          "line": 32,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 865,
      "end": 866,
      "loc": {
        "start": {
          "line": 32,
          "column": 38
        },
        "end": {
          "line": 32,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 866,
      "end": 867,
      "loc": {
        "start": {
          "line": 32,
          "column": 39
        },
        "end": {
          "line": 32,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 872,
      "end": 873,
      "loc": {
        "start": {
          "line": 33,
          "column": 4
        },
        "end": {
          "line": 33,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 873,
      "end": 874,
      "loc": {
        "start": {
          "line": 33,
          "column": 5
        },
        "end": {
          "line": 33,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 875,
      "end": 876,
      "loc": {
        "start": {
          "line": 34,
          "column": 0
        },
        "end": {
          "line": 34,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 876,
      "end": 877,
      "loc": {
        "start": {
          "line": 34,
          "column": 1
        },
        "end": {
          "line": 34,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 879,
      "end": 890,
      "loc": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 36,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 890,
      "end": 891,
      "loc": {
        "start": {
          "line": 36,
          "column": 11
        },
        "end": {
          "line": 36,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromDER",
      "start": 891,
      "end": 898,
      "loc": {
        "start": {
          "line": 36,
          "column": 12
        },
        "end": {
          "line": 36,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 899,
      "end": 900,
      "loc": {
        "start": {
          "line": 36,
          "column": 20
        },
        "end": {
          "line": 36,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 901,
      "end": 909,
      "loc": {
        "start": {
          "line": 36,
          "column": 22
        },
        "end": {
          "line": 36,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 909,
      "end": 910,
      "loc": {
        "start": {
          "line": 36,
          "column": 30
        },
        "end": {
          "line": 36,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 910,
      "end": 916,
      "loc": {
        "start": {
          "line": 36,
          "column": 31
        },
        "end": {
          "line": 36,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 916,
      "end": 917,
      "loc": {
        "start": {
          "line": 36,
          "column": 37
        },
        "end": {
          "line": 36,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 918,
      "end": 919,
      "loc": {
        "start": {
          "line": 36,
          "column": 39
        },
        "end": {
          "line": 36,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 924,
      "end": 930,
      "loc": {
        "start": {
          "line": 37,
          "column": 4
        },
        "end": {
          "line": 37,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 930,
      "end": 931,
      "loc": {
        "start": {
          "line": 37,
          "column": 10
        },
        "end": {
          "line": 37,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 931,
      "end": 936,
      "loc": {
        "start": {
          "line": 37,
          "column": 11
        },
        "end": {
          "line": 37,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 936,
      "end": 937,
      "loc": {
        "start": {
          "line": 37,
          "column": 16
        },
        "end": {
          "line": 37,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 937,
      "end": 943,
      "loc": {
        "start": {
          "line": 37,
          "column": 17
        },
        "end": {
          "line": 37,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 943,
      "end": 944,
      "loc": {
        "start": {
          "line": 37,
          "column": 23
        },
        "end": {
          "line": 37,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 944,
      "end": 953,
      "loc": {
        "start": {
          "line": 37,
          "column": 24
        },
        "end": {
          "line": 37,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 953,
      "end": 954,
      "loc": {
        "start": {
          "line": 37,
          "column": 33
        },
        "end": {
          "line": 37,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 954,
      "end": 955,
      "loc": {
        "start": {
          "line": 37,
          "column": 34
        },
        "end": {
          "line": 37,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 955,
      "end": 956,
      "loc": {
        "start": {
          "line": 37,
          "column": 35
        },
        "end": {
          "line": 37,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 956,
      "end": 957,
      "loc": {
        "start": {
          "line": 37,
          "column": 36
        },
        "end": {
          "line": 37,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 48,
      "start": 958,
      "end": 962,
      "loc": {
        "start": {
          "line": 37,
          "column": 38
        },
        "end": {
          "line": 37,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 962,
      "end": 963,
      "loc": {
        "start": {
          "line": 37,
          "column": 42
        },
        "end": {
          "line": 37,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Not a DER sequence",
      "start": 964,
      "end": 984,
      "loc": {
        "start": {
          "line": 37,
          "column": 44
        },
        "end": {
          "line": 37,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 984,
      "end": 985,
      "loc": {
        "start": {
          "line": 37,
          "column": 64
        },
        "end": {
          "line": 37,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 985,
      "end": 986,
      "loc": {
        "start": {
          "line": 37,
          "column": 65
        },
        "end": {
          "line": 37,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 991,
      "end": 997,
      "loc": {
        "start": {
          "line": 38,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 997,
      "end": 998,
      "loc": {
        "start": {
          "line": 38,
          "column": 10
        },
        "end": {
          "line": 38,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 998,
      "end": 1003,
      "loc": {
        "start": {
          "line": 38,
          "column": 11
        },
        "end": {
          "line": 38,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1003,
      "end": 1004,
      "loc": {
        "start": {
          "line": 38,
          "column": 16
        },
        "end": {
          "line": 38,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1013,
      "end": 1019,
      "loc": {
        "start": {
          "line": 39,
          "column": 8
        },
        "end": {
          "line": 39,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1019,
      "end": 1020,
      "loc": {
        "start": {
          "line": 39,
          "column": 14
        },
        "end": {
          "line": 39,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 1020,
      "end": 1029,
      "loc": {
        "start": {
          "line": 39,
          "column": 15
        },
        "end": {
          "line": 39,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1029,
      "end": 1030,
      "loc": {
        "start": {
          "line": 39,
          "column": 24
        },
        "end": {
          "line": 39,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1030,
      "end": 1031,
      "loc": {
        "start": {
          "line": 39,
          "column": 25
        },
        "end": {
          "line": 39,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1031,
      "end": 1032,
      "loc": {
        "start": {
          "line": 39,
          "column": 26
        },
        "end": {
          "line": 39,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1032,
      "end": 1033,
      "loc": {
        "start": {
          "line": 39,
          "column": 27
        },
        "end": {
          "line": 39,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1042,
      "end": 1048,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1048,
      "end": 1049,
      "loc": {
        "start": {
          "line": 40,
          "column": 14
        },
        "end": {
          "line": 40,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1049,
      "end": 1055,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 1056,
      "end": 1057,
      "loc": {
        "start": {
          "line": 40,
          "column": 22
        },
        "end": {
          "line": 40,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 1058,
      "end": 1059,
      "loc": {
        "start": {
          "line": 40,
          "column": 24
        },
        "end": {
          "line": 40,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1059,
      "end": 1060,
      "loc": {
        "start": {
          "line": 40,
          "column": 25
        },
        "end": {
          "line": 40,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Invalid sequence length",
      "start": 1069,
      "end": 1094,
      "loc": {
        "start": {
          "line": 41,
          "column": 8
        },
        "end": {
          "line": 41,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1099,
      "end": 1100,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 42,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1100,
      "end": 1101,
      "loc": {
        "start": {
          "line": 42,
          "column": 5
        },
        "end": {
          "line": 42,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 1106,
      "end": 1112,
      "loc": {
        "start": {
          "line": 43,
          "column": 4
        },
        "end": {
          "line": 43,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1112,
      "end": 1113,
      "loc": {
        "start": {
          "line": 43,
          "column": 10
        },
        "end": {
          "line": 43,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 1113,
      "end": 1118,
      "loc": {
        "start": {
          "line": 43,
          "column": 11
        },
        "end": {
          "line": 43,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1118,
      "end": 1119,
      "loc": {
        "start": {
          "line": 43,
          "column": 16
        },
        "end": {
          "line": 43,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1119,
      "end": 1125,
      "loc": {
        "start": {
          "line": 43,
          "column": 17
        },
        "end": {
          "line": 43,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1125,
      "end": 1126,
      "loc": {
        "start": {
          "line": 43,
          "column": 23
        },
        "end": {
          "line": 43,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 1126,
      "end": 1135,
      "loc": {
        "start": {
          "line": 43,
          "column": 24
        },
        "end": {
          "line": 43,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1135,
      "end": 1136,
      "loc": {
        "start": {
          "line": 43,
          "column": 33
        },
        "end": {
          "line": 43,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 1136,
      "end": 1137,
      "loc": {
        "start": {
          "line": 43,
          "column": 34
        },
        "end": {
          "line": 43,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1137,
      "end": 1138,
      "loc": {
        "start": {
          "line": 43,
          "column": 35
        },
        "end": {
          "line": 43,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1138,
      "end": 1139,
      "loc": {
        "start": {
          "line": 43,
          "column": 36
        },
        "end": {
          "line": 43,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 1140,
      "end": 1144,
      "loc": {
        "start": {
          "line": 43,
          "column": 38
        },
        "end": {
          "line": 43,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1144,
      "end": 1145,
      "loc": {
        "start": {
          "line": 43,
          "column": 42
        },
        "end": {
          "line": 43,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Expected a DER integer",
      "start": 1146,
      "end": 1170,
      "loc": {
        "start": {
          "line": 43,
          "column": 44
        },
        "end": {
          "line": 43,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1170,
      "end": 1171,
      "loc": {
        "start": {
          "line": 43,
          "column": 68
        },
        "end": {
          "line": 43,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1171,
      "end": 1172,
      "loc": {
        "start": {
          "line": 43,
          "column": 69
        },
        "end": {
          "line": 43,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1178,
      "end": 1181,
      "loc": {
        "start": {
          "line": 45,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rLen",
      "start": 1182,
      "end": 1186,
      "loc": {
        "start": {
          "line": 45,
          "column": 8
        },
        "end": {
          "line": 45,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1187,
      "end": 1188,
      "loc": {
        "start": {
          "line": 45,
          "column": 13
        },
        "end": {
          "line": 45,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1189,
      "end": 1195,
      "loc": {
        "start": {
          "line": 45,
          "column": 15
        },
        "end": {
          "line": 45,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1195,
      "end": 1196,
      "loc": {
        "start": {
          "line": 45,
          "column": 21
        },
        "end": {
          "line": 45,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 1196,
      "end": 1205,
      "loc": {
        "start": {
          "line": 45,
          "column": 22
        },
        "end": {
          "line": 45,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1205,
      "end": 1206,
      "loc": {
        "start": {
          "line": 45,
          "column": 31
        },
        "end": {
          "line": 45,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 3,
      "start": 1206,
      "end": 1207,
      "loc": {
        "start": {
          "line": 45,
          "column": 32
        },
        "end": {
          "line": 45,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1207,
      "end": 1208,
      "loc": {
        "start": {
          "line": 45,
          "column": 33
        },
        "end": {
          "line": 45,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1208,
      "end": 1209,
      "loc": {
        "start": {
          "line": 45,
          "column": 34
        },
        "end": {
          "line": 45,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 1214,
      "end": 1220,
      "loc": {
        "start": {
          "line": 46,
          "column": 4
        },
        "end": {
          "line": 46,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1220,
      "end": 1221,
      "loc": {
        "start": {
          "line": 46,
          "column": 10
        },
        "end": {
          "line": 46,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rLen",
      "start": 1221,
      "end": 1225,
      "loc": {
        "start": {
          "line": 46,
          "column": 11
        },
        "end": {
          "line": 46,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 1226,
      "end": 1227,
      "loc": {
        "start": {
          "line": 46,
          "column": 16
        },
        "end": {
          "line": 46,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1228,
      "end": 1229,
      "loc": {
        "start": {
          "line": 46,
          "column": 18
        },
        "end": {
          "line": 46,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1229,
      "end": 1230,
      "loc": {
        "start": {
          "line": 46,
          "column": 19
        },
        "end": {
          "line": 46,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "R length is zero",
      "start": 1231,
      "end": 1249,
      "loc": {
        "start": {
          "line": 46,
          "column": 21
        },
        "end": {
          "line": 46,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1249,
      "end": 1250,
      "loc": {
        "start": {
          "line": 46,
          "column": 39
        },
        "end": {
          "line": 46,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1250,
      "end": 1251,
      "loc": {
        "start": {
          "line": 46,
          "column": 40
        },
        "end": {
          "line": 46,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1257,
      "end": 1260,
      "loc": {
        "start": {
          "line": 48,
          "column": 4
        },
        "end": {
          "line": 48,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 1261,
      "end": 1267,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1268,
      "end": 1269,
      "loc": {
        "start": {
          "line": 48,
          "column": 15
        },
        "end": {
          "line": 48,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 1270,
      "end": 1271,
      "loc": {
        "start": {
          "line": 48,
          "column": 17
        },
        "end": {
          "line": 48,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 1272,
      "end": 1273,
      "loc": {
        "start": {
          "line": 48,
          "column": 19
        },
        "end": {
          "line": 48,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rLen",
      "start": 1274,
      "end": 1278,
      "loc": {
        "start": {
          "line": 48,
          "column": 21
        },
        "end": {
          "line": 48,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1278,
      "end": 1279,
      "loc": {
        "start": {
          "line": 48,
          "column": 25
        },
        "end": {
          "line": 48,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 1284,
      "end": 1290,
      "loc": {
        "start": {
          "line": 49,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1290,
      "end": 1291,
      "loc": {
        "start": {
          "line": 49,
          "column": 10
        },
        "end": {
          "line": 49,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 1291,
      "end": 1296,
      "loc": {
        "start": {
          "line": 49,
          "column": 11
        },
        "end": {
          "line": 49,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1296,
      "end": 1297,
      "loc": {
        "start": {
          "line": 49,
          "column": 16
        },
        "end": {
          "line": 49,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1297,
      "end": 1303,
      "loc": {
        "start": {
          "line": 49,
          "column": 17
        },
        "end": {
          "line": 49,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1303,
      "end": 1304,
      "loc": {
        "start": {
          "line": 49,
          "column": 23
        },
        "end": {
          "line": 49,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 1304,
      "end": 1313,
      "loc": {
        "start": {
          "line": 49,
          "column": 24
        },
        "end": {
          "line": 49,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1313,
      "end": 1314,
      "loc": {
        "start": {
          "line": 49,
          "column": 33
        },
        "end": {
          "line": 49,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 1314,
      "end": 1320,
      "loc": {
        "start": {
          "line": 49,
          "column": 34
        },
        "end": {
          "line": 49,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1320,
      "end": 1321,
      "loc": {
        "start": {
          "line": 49,
          "column": 40
        },
        "end": {
          "line": 49,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1321,
      "end": 1322,
      "loc": {
        "start": {
          "line": 49,
          "column": 41
        },
        "end": {
          "line": 49,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 1323,
      "end": 1327,
      "loc": {
        "start": {
          "line": 49,
          "column": 43
        },
        "end": {
          "line": 49,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1327,
      "end": 1328,
      "loc": {
        "start": {
          "line": 49,
          "column": 47
        },
        "end": {
          "line": 49,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Expected a DER integer (2)",
      "start": 1329,
      "end": 1357,
      "loc": {
        "start": {
          "line": 49,
          "column": 49
        },
        "end": {
          "line": 49,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1357,
      "end": 1358,
      "loc": {
        "start": {
          "line": 49,
          "column": 77
        },
        "end": {
          "line": 49,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1358,
      "end": 1359,
      "loc": {
        "start": {
          "line": 49,
          "column": 78
        },
        "end": {
          "line": 49,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1365,
      "end": 1368,
      "loc": {
        "start": {
          "line": 51,
          "column": 4
        },
        "end": {
          "line": 51,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sLen",
      "start": 1369,
      "end": 1373,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 51,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1374,
      "end": 1375,
      "loc": {
        "start": {
          "line": 51,
          "column": 13
        },
        "end": {
          "line": 51,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1376,
      "end": 1382,
      "loc": {
        "start": {
          "line": 51,
          "column": 15
        },
        "end": {
          "line": 51,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1382,
      "end": 1383,
      "loc": {
        "start": {
          "line": 51,
          "column": 21
        },
        "end": {
          "line": 51,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 1383,
      "end": 1392,
      "loc": {
        "start": {
          "line": 51,
          "column": 22
        },
        "end": {
          "line": 51,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1392,
      "end": 1393,
      "loc": {
        "start": {
          "line": 51,
          "column": 31
        },
        "end": {
          "line": 51,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 1393,
      "end": 1399,
      "loc": {
        "start": {
          "line": 51,
          "column": 32
        },
        "end": {
          "line": 51,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 1400,
      "end": 1401,
      "loc": {
        "start": {
          "line": 51,
          "column": 39
        },
        "end": {
          "line": 51,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1402,
      "end": 1403,
      "loc": {
        "start": {
          "line": 51,
          "column": 41
        },
        "end": {
          "line": 51,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1403,
      "end": 1404,
      "loc": {
        "start": {
          "line": 51,
          "column": 42
        },
        "end": {
          "line": 51,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1404,
      "end": 1405,
      "loc": {
        "start": {
          "line": 51,
          "column": 43
        },
        "end": {
          "line": 51,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 1410,
      "end": 1416,
      "loc": {
        "start": {
          "line": 52,
          "column": 4
        },
        "end": {
          "line": 52,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1416,
      "end": 1417,
      "loc": {
        "start": {
          "line": 52,
          "column": 10
        },
        "end": {
          "line": 52,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sLen",
      "start": 1417,
      "end": 1421,
      "loc": {
        "start": {
          "line": 52,
          "column": 11
        },
        "end": {
          "line": 52,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 1422,
      "end": 1423,
      "loc": {
        "start": {
          "line": 52,
          "column": 16
        },
        "end": {
          "line": 52,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1424,
      "end": 1425,
      "loc": {
        "start": {
          "line": 52,
          "column": 18
        },
        "end": {
          "line": 52,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1425,
      "end": 1426,
      "loc": {
        "start": {
          "line": 52,
          "column": 19
        },
        "end": {
          "line": 52,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "S length is zero",
      "start": 1427,
      "end": 1445,
      "loc": {
        "start": {
          "line": 52,
          "column": 21
        },
        "end": {
          "line": 52,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1445,
      "end": 1446,
      "loc": {
        "start": {
          "line": 52,
          "column": 39
        },
        "end": {
          "line": 52,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1446,
      "end": 1447,
      "loc": {
        "start": {
          "line": 52,
          "column": 40
        },
        "end": {
          "line": 52,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1453,
      "end": 1456,
      "loc": {
        "start": {
          "line": 54,
          "column": 4
        },
        "end": {
          "line": 54,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rB",
      "start": 1457,
      "end": 1459,
      "loc": {
        "start": {
          "line": 54,
          "column": 8
        },
        "end": {
          "line": 54,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1460,
      "end": 1461,
      "loc": {
        "start": {
          "line": 54,
          "column": 11
        },
        "end": {
          "line": 54,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1462,
      "end": 1468,
      "loc": {
        "start": {
          "line": 54,
          "column": 13
        },
        "end": {
          "line": 54,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1468,
      "end": 1469,
      "loc": {
        "start": {
          "line": 54,
          "column": 19
        },
        "end": {
          "line": 54,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 1469,
      "end": 1474,
      "loc": {
        "start": {
          "line": 54,
          "column": 20
        },
        "end": {
          "line": 54,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1474,
      "end": 1475,
      "loc": {
        "start": {
          "line": 54,
          "column": 25
        },
        "end": {
          "line": 54,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 1475,
      "end": 1476,
      "loc": {
        "start": {
          "line": 54,
          "column": 26
        },
        "end": {
          "line": 54,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1476,
      "end": 1477,
      "loc": {
        "start": {
          "line": 54,
          "column": 27
        },
        "end": {
          "line": 54,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 1478,
      "end": 1484,
      "loc": {
        "start": {
          "line": 54,
          "column": 29
        },
        "end": {
          "line": 54,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1484,
      "end": 1485,
      "loc": {
        "start": {
          "line": 54,
          "column": 35
        },
        "end": {
          "line": 54,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1485,
      "end": 1486,
      "loc": {
        "start": {
          "line": 54,
          "column": 36
        },
        "end": {
          "line": 54,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1491,
      "end": 1494,
      "loc": {
        "start": {
          "line": 55,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sB",
      "start": 1495,
      "end": 1497,
      "loc": {
        "start": {
          "line": 55,
          "column": 8
        },
        "end": {
          "line": 55,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1498,
      "end": 1499,
      "loc": {
        "start": {
          "line": 55,
          "column": 11
        },
        "end": {
          "line": 55,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1500,
      "end": 1506,
      "loc": {
        "start": {
          "line": 55,
          "column": 13
        },
        "end": {
          "line": 55,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1506,
      "end": 1507,
      "loc": {
        "start": {
          "line": 55,
          "column": 19
        },
        "end": {
          "line": 55,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 1507,
      "end": 1512,
      "loc": {
        "start": {
          "line": 55,
          "column": 20
        },
        "end": {
          "line": 55,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1512,
      "end": 1513,
      "loc": {
        "start": {
          "line": 55,
          "column": 25
        },
        "end": {
          "line": 55,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 1513,
      "end": 1519,
      "loc": {
        "start": {
          "line": 55,
          "column": 26
        },
        "end": {
          "line": 55,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 1520,
      "end": 1521,
      "loc": {
        "start": {
          "line": 55,
          "column": 33
        },
        "end": {
          "line": 55,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 1522,
      "end": 1523,
      "loc": {
        "start": {
          "line": 55,
          "column": 35
        },
        "end": {
          "line": 55,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1523,
      "end": 1524,
      "loc": {
        "start": {
          "line": 55,
          "column": 36
        },
        "end": {
          "line": 55,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1524,
      "end": 1525,
      "loc": {
        "start": {
          "line": 55,
          "column": 37
        },
        "end": {
          "line": 55,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 1530,
      "end": 1536,
      "loc": {
        "start": {
          "line": 56,
          "column": 4
        },
        "end": {
          "line": 56,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "_=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+=",
      "start": 1537,
      "end": 1539,
      "loc": {
        "start": {
          "line": 56,
          "column": 11
        },
        "end": {
          "line": 56,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 1540,
      "end": 1541,
      "loc": {
        "start": {
          "line": 56,
          "column": 14
        },
        "end": {
          "line": 56,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 1542,
      "end": 1543,
      "loc": {
        "start": {
          "line": 56,
          "column": 16
        },
        "end": {
          "line": 56,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sLen",
      "start": 1544,
      "end": 1548,
      "loc": {
        "start": {
          "line": 56,
          "column": 18
        },
        "end": {
          "line": 56,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1548,
      "end": 1549,
      "loc": {
        "start": {
          "line": 56,
          "column": 22
        },
        "end": {
          "line": 56,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1555,
      "end": 1557,
      "loc": {
        "start": {
          "line": 58,
          "column": 4
        },
        "end": {
          "line": 58,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1558,
      "end": 1559,
      "loc": {
        "start": {
          "line": 58,
          "column": 7
        },
        "end": {
          "line": 58,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rLen",
      "start": 1559,
      "end": 1563,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 1564,
      "end": 1565,
      "loc": {
        "start": {
          "line": 58,
          "column": 13
        },
        "end": {
          "line": 58,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1566,
      "end": 1567,
      "loc": {
        "start": {
          "line": 58,
          "column": 15
        },
        "end": {
          "line": 58,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1568,
      "end": 1570,
      "loc": {
        "start": {
          "line": 58,
          "column": 17
        },
        "end": {
          "line": 58,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rB",
      "start": 1571,
      "end": 1573,
      "loc": {
        "start": {
          "line": 58,
          "column": 20
        },
        "end": {
          "line": 58,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1573,
      "end": 1574,
      "loc": {
        "start": {
          "line": 58,
          "column": 22
        },
        "end": {
          "line": 58,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 1574,
      "end": 1583,
      "loc": {
        "start": {
          "line": 58,
          "column": 23
        },
        "end": {
          "line": 58,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1583,
      "end": 1584,
      "loc": {
        "start": {
          "line": 58,
          "column": 32
        },
        "end": {
          "line": 58,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1584,
      "end": 1585,
      "loc": {
        "start": {
          "line": 58,
          "column": 33
        },
        "end": {
          "line": 58,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1585,
      "end": 1586,
      "loc": {
        "start": {
          "line": 58,
          "column": 34
        },
        "end": {
          "line": 58,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1587,
      "end": 1590,
      "loc": {
        "start": {
          "line": 58,
          "column": 36
        },
        "end": {
          "line": 58,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1591,
      "end": 1595,
      "loc": {
        "start": {
          "line": 58,
          "column": 40
        },
        "end": {
          "line": 58,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1595,
      "end": 1596,
      "loc": {
        "start": {
          "line": 58,
          "column": 44
        },
        "end": {
          "line": 58,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1597,
      "end": 1598,
      "loc": {
        "start": {
          "line": 58,
          "column": 46
        },
        "end": {
          "line": 58,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 1607,
      "end": 1613,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1613,
      "end": 1614,
      "loc": {
        "start": {
          "line": 59,
          "column": 14
        },
        "end": {
          "line": 59,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rB",
      "start": 1614,
      "end": 1616,
      "loc": {
        "start": {
          "line": 59,
          "column": 15
        },
        "end": {
          "line": 59,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1616,
      "end": 1617,
      "loc": {
        "start": {
          "line": 59,
          "column": 17
        },
        "end": {
          "line": 59,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 1617,
      "end": 1626,
      "loc": {
        "start": {
          "line": 59,
          "column": 18
        },
        "end": {
          "line": 59,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1626,
      "end": 1627,
      "loc": {
        "start": {
          "line": 59,
          "column": 27
        },
        "end": {
          "line": 59,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1627,
      "end": 1628,
      "loc": {
        "start": {
          "line": 59,
          "column": 28
        },
        "end": {
          "line": 59,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1628,
      "end": 1629,
      "loc": {
        "start": {
          "line": 59,
          "column": 29
        },
        "end": {
          "line": 59,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 5,
        "updateContext": null
      },
      "value": "&",
      "start": 1630,
      "end": 1631,
      "loc": {
        "start": {
          "line": 59,
          "column": 31
        },
        "end": {
          "line": 59,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 128,
      "start": 1632,
      "end": 1636,
      "loc": {
        "start": {
          "line": 59,
          "column": 33
        },
        "end": {
          "line": 59,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1636,
      "end": 1637,
      "loc": {
        "start": {
          "line": 59,
          "column": 37
        },
        "end": {
          "line": 59,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "R value excessively padded",
      "start": 1638,
      "end": 1666,
      "loc": {
        "start": {
          "line": 59,
          "column": 39
        },
        "end": {
          "line": 59,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1666,
      "end": 1667,
      "loc": {
        "start": {
          "line": 59,
          "column": 67
        },
        "end": {
          "line": 59,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1667,
      "end": 1668,
      "loc": {
        "start": {
          "line": 59,
          "column": 68
        },
        "end": {
          "line": 59,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1673,
      "end": 1674,
      "loc": {
        "start": {
          "line": 60,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1680,
      "end": 1682,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 62,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1683,
      "end": 1684,
      "loc": {
        "start": {
          "line": 62,
          "column": 7
        },
        "end": {
          "line": 62,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sLen",
      "start": 1684,
      "end": 1688,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 62,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 1689,
      "end": 1690,
      "loc": {
        "start": {
          "line": 62,
          "column": 13
        },
        "end": {
          "line": 62,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1691,
      "end": 1692,
      "loc": {
        "start": {
          "line": 62,
          "column": 15
        },
        "end": {
          "line": 62,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1693,
      "end": 1695,
      "loc": {
        "start": {
          "line": 62,
          "column": 17
        },
        "end": {
          "line": 62,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sB",
      "start": 1696,
      "end": 1698,
      "loc": {
        "start": {
          "line": 62,
          "column": 20
        },
        "end": {
          "line": 62,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1698,
      "end": 1699,
      "loc": {
        "start": {
          "line": 62,
          "column": 22
        },
        "end": {
          "line": 62,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 1699,
      "end": 1708,
      "loc": {
        "start": {
          "line": 62,
          "column": 23
        },
        "end": {
          "line": 62,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1708,
      "end": 1709,
      "loc": {
        "start": {
          "line": 62,
          "column": 32
        },
        "end": {
          "line": 62,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1709,
      "end": 1710,
      "loc": {
        "start": {
          "line": 62,
          "column": 33
        },
        "end": {
          "line": 62,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1710,
      "end": 1711,
      "loc": {
        "start": {
          "line": 62,
          "column": 34
        },
        "end": {
          "line": 62,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1712,
      "end": 1715,
      "loc": {
        "start": {
          "line": 62,
          "column": 36
        },
        "end": {
          "line": 62,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1716,
      "end": 1720,
      "loc": {
        "start": {
          "line": 62,
          "column": 40
        },
        "end": {
          "line": 62,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1720,
      "end": 1721,
      "loc": {
        "start": {
          "line": 62,
          "column": 44
        },
        "end": {
          "line": 62,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1722,
      "end": 1723,
      "loc": {
        "start": {
          "line": 62,
          "column": 46
        },
        "end": {
          "line": 62,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 1732,
      "end": 1738,
      "loc": {
        "start": {
          "line": 63,
          "column": 8
        },
        "end": {
          "line": 63,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1738,
      "end": 1739,
      "loc": {
        "start": {
          "line": 63,
          "column": 14
        },
        "end": {
          "line": 63,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sB",
      "start": 1739,
      "end": 1741,
      "loc": {
        "start": {
          "line": 63,
          "column": 15
        },
        "end": {
          "line": 63,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1741,
      "end": 1742,
      "loc": {
        "start": {
          "line": 63,
          "column": 17
        },
        "end": {
          "line": 63,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 1742,
      "end": 1751,
      "loc": {
        "start": {
          "line": 63,
          "column": 18
        },
        "end": {
          "line": 63,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1751,
      "end": 1752,
      "loc": {
        "start": {
          "line": 63,
          "column": 27
        },
        "end": {
          "line": 63,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1752,
      "end": 1753,
      "loc": {
        "start": {
          "line": 63,
          "column": 28
        },
        "end": {
          "line": 63,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1753,
      "end": 1754,
      "loc": {
        "start": {
          "line": 63,
          "column": 29
        },
        "end": {
          "line": 63,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 5,
        "updateContext": null
      },
      "value": "&",
      "start": 1755,
      "end": 1756,
      "loc": {
        "start": {
          "line": 63,
          "column": 31
        },
        "end": {
          "line": 63,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 128,
      "start": 1757,
      "end": 1761,
      "loc": {
        "start": {
          "line": 63,
          "column": 33
        },
        "end": {
          "line": 63,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1761,
      "end": 1762,
      "loc": {
        "start": {
          "line": 63,
          "column": 37
        },
        "end": {
          "line": 63,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "S value excessively padded",
      "start": 1763,
      "end": 1791,
      "loc": {
        "start": {
          "line": 63,
          "column": 39
        },
        "end": {
          "line": 63,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1791,
      "end": 1792,
      "loc": {
        "start": {
          "line": 63,
          "column": 67
        },
        "end": {
          "line": 63,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1792,
      "end": 1793,
      "loc": {
        "start": {
          "line": 63,
          "column": 68
        },
        "end": {
          "line": 63,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1798,
      "end": 1799,
      "loc": {
        "start": {
          "line": 64,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 1805,
      "end": 1811,
      "loc": {
        "start": {
          "line": 66,
          "column": 4
        },
        "end": {
          "line": 66,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1811,
      "end": 1812,
      "loc": {
        "start": {
          "line": 66,
          "column": 10
        },
        "end": {
          "line": 66,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 1812,
      "end": 1817,
      "loc": {
        "start": {
          "line": 66,
          "column": 11
        },
        "end": {
          "line": 66,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1817,
      "end": 1818,
      "loc": {
        "start": {
          "line": 66,
          "column": 16
        },
        "end": {
          "line": 66,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 1818,
      "end": 1824,
      "loc": {
        "start": {
          "line": 66,
          "column": 17
        },
        "end": {
          "line": 66,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1824,
      "end": 1825,
      "loc": {
        "start": {
          "line": 66,
          "column": 23
        },
        "end": {
          "line": 66,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1826,
      "end": 1832,
      "loc": {
        "start": {
          "line": 66,
          "column": 25
        },
        "end": {
          "line": 66,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1832,
      "end": 1833,
      "loc": {
        "start": {
          "line": 66,
          "column": 31
        },
        "end": {
          "line": 66,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1833,
      "end": 1839,
      "loc": {
        "start": {
          "line": 66,
          "column": 32
        },
        "end": {
          "line": 66,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1839,
      "end": 1840,
      "loc": {
        "start": {
          "line": 66,
          "column": 38
        },
        "end": {
          "line": 66,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Invalid DER encoding",
      "start": 1841,
      "end": 1863,
      "loc": {
        "start": {
          "line": 66,
          "column": 40
        },
        "end": {
          "line": 66,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1863,
      "end": 1864,
      "loc": {
        "start": {
          "line": 66,
          "column": 62
        },
        "end": {
          "line": 66,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1864,
      "end": 1865,
      "loc": {
        "start": {
          "line": 66,
          "column": 63
        },
        "end": {
          "line": 66,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1870,
      "end": 1873,
      "loc": {
        "start": {
          "line": 67,
          "column": 4
        },
        "end": {
          "line": 67,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 1874,
      "end": 1875,
      "loc": {
        "start": {
          "line": 67,
          "column": 8
        },
        "end": {
          "line": 67,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1876,
      "end": 1877,
      "loc": {
        "start": {
          "line": 67,
          "column": 10
        },
        "end": {
          "line": 67,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 1878,
      "end": 1888,
      "loc": {
        "start": {
          "line": 67,
          "column": 12
        },
        "end": {
          "line": 67,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1888,
      "end": 1889,
      "loc": {
        "start": {
          "line": 67,
          "column": 22
        },
        "end": {
          "line": 67,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromDERInteger",
      "start": 1889,
      "end": 1903,
      "loc": {
        "start": {
          "line": 67,
          "column": 23
        },
        "end": {
          "line": 67,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1903,
      "end": 1904,
      "loc": {
        "start": {
          "line": 67,
          "column": 37
        },
        "end": {
          "line": 67,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rB",
      "start": 1904,
      "end": 1906,
      "loc": {
        "start": {
          "line": 67,
          "column": 38
        },
        "end": {
          "line": 67,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1906,
      "end": 1907,
      "loc": {
        "start": {
          "line": 67,
          "column": 40
        },
        "end": {
          "line": 67,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1907,
      "end": 1908,
      "loc": {
        "start": {
          "line": 67,
          "column": 41
        },
        "end": {
          "line": 67,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1913,
      "end": 1916,
      "loc": {
        "start": {
          "line": 68,
          "column": 4
        },
        "end": {
          "line": 68,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 1917,
      "end": 1918,
      "loc": {
        "start": {
          "line": 68,
          "column": 8
        },
        "end": {
          "line": 68,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1919,
      "end": 1920,
      "loc": {
        "start": {
          "line": 68,
          "column": 10
        },
        "end": {
          "line": 68,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 1921,
      "end": 1931,
      "loc": {
        "start": {
          "line": 68,
          "column": 12
        },
        "end": {
          "line": 68,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1931,
      "end": 1932,
      "loc": {
        "start": {
          "line": 68,
          "column": 22
        },
        "end": {
          "line": 68,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromDERInteger",
      "start": 1932,
      "end": 1946,
      "loc": {
        "start": {
          "line": 68,
          "column": 23
        },
        "end": {
          "line": 68,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1946,
      "end": 1947,
      "loc": {
        "start": {
          "line": 68,
          "column": 37
        },
        "end": {
          "line": 68,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sB",
      "start": 1947,
      "end": 1949,
      "loc": {
        "start": {
          "line": 68,
          "column": 38
        },
        "end": {
          "line": 68,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1949,
      "end": 1950,
      "loc": {
        "start": {
          "line": 68,
          "column": 40
        },
        "end": {
          "line": 68,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1950,
      "end": 1951,
      "loc": {
        "start": {
          "line": 68,
          "column": 41
        },
        "end": {
          "line": 68,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 1957,
      "end": 1963,
      "loc": {
        "start": {
          "line": 70,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1963,
      "end": 1964,
      "loc": {
        "start": {
          "line": 70,
          "column": 10
        },
        "end": {
          "line": 70,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 1964,
      "end": 1965,
      "loc": {
        "start": {
          "line": 70,
          "column": 11
        },
        "end": {
          "line": 70,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1965,
      "end": 1966,
      "loc": {
        "start": {
          "line": 70,
          "column": 12
        },
        "end": {
          "line": 70,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signum",
      "start": 1966,
      "end": 1972,
      "loc": {
        "start": {
          "line": 70,
          "column": 13
        },
        "end": {
          "line": 70,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1972,
      "end": 1973,
      "loc": {
        "start": {
          "line": 70,
          "column": 19
        },
        "end": {
          "line": 70,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1973,
      "end": 1974,
      "loc": {
        "start": {
          "line": 70,
          "column": 20
        },
        "end": {
          "line": 70,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 1975,
      "end": 1977,
      "loc": {
        "start": {
          "line": 70,
          "column": 22
        },
        "end": {
          "line": 70,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1978,
      "end": 1979,
      "loc": {
        "start": {
          "line": 70,
          "column": 25
        },
        "end": {
          "line": 70,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1979,
      "end": 1980,
      "loc": {
        "start": {
          "line": 70,
          "column": 26
        },
        "end": {
          "line": 70,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "R value is negative",
      "start": 1981,
      "end": 2002,
      "loc": {
        "start": {
          "line": 70,
          "column": 28
        },
        "end": {
          "line": 70,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2002,
      "end": 2003,
      "loc": {
        "start": {
          "line": 70,
          "column": 49
        },
        "end": {
          "line": 70,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2003,
      "end": 2004,
      "loc": {
        "start": {
          "line": 70,
          "column": 50
        },
        "end": {
          "line": 70,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 2009,
      "end": 2015,
      "loc": {
        "start": {
          "line": 71,
          "column": 4
        },
        "end": {
          "line": 71,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2015,
      "end": 2016,
      "loc": {
        "start": {
          "line": 71,
          "column": 10
        },
        "end": {
          "line": 71,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 2016,
      "end": 2017,
      "loc": {
        "start": {
          "line": 71,
          "column": 11
        },
        "end": {
          "line": 71,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2017,
      "end": 2018,
      "loc": {
        "start": {
          "line": 71,
          "column": 12
        },
        "end": {
          "line": 71,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signum",
      "start": 2018,
      "end": 2024,
      "loc": {
        "start": {
          "line": 71,
          "column": 13
        },
        "end": {
          "line": 71,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2024,
      "end": 2025,
      "loc": {
        "start": {
          "line": 71,
          "column": 19
        },
        "end": {
          "line": 71,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2025,
      "end": 2026,
      "loc": {
        "start": {
          "line": 71,
          "column": 20
        },
        "end": {
          "line": 71,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 2027,
      "end": 2029,
      "loc": {
        "start": {
          "line": 71,
          "column": 22
        },
        "end": {
          "line": 71,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2030,
      "end": 2031,
      "loc": {
        "start": {
          "line": 71,
          "column": 25
        },
        "end": {
          "line": 71,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2031,
      "end": 2032,
      "loc": {
        "start": {
          "line": 71,
          "column": 26
        },
        "end": {
          "line": 71,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "S value is negative",
      "start": 2033,
      "end": 2054,
      "loc": {
        "start": {
          "line": 71,
          "column": 28
        },
        "end": {
          "line": 71,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2054,
      "end": 2055,
      "loc": {
        "start": {
          "line": 71,
          "column": 49
        },
        "end": {
          "line": 71,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2055,
      "end": 2056,
      "loc": {
        "start": {
          "line": 71,
          "column": 50
        },
        "end": {
          "line": 71,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2062,
      "end": 2068,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 73,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2069,
      "end": 2072,
      "loc": {
        "start": {
          "line": 73,
          "column": 11
        },
        "end": {
          "line": 73,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 2073,
      "end": 2084,
      "loc": {
        "start": {
          "line": 73,
          "column": 15
        },
        "end": {
          "line": 73,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2084,
      "end": 2085,
      "loc": {
        "start": {
          "line": 73,
          "column": 26
        },
        "end": {
          "line": 73,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 2085,
      "end": 2086,
      "loc": {
        "start": {
          "line": 73,
          "column": 27
        },
        "end": {
          "line": 73,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2086,
      "end": 2087,
      "loc": {
        "start": {
          "line": 73,
          "column": 28
        },
        "end": {
          "line": 73,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 2088,
      "end": 2089,
      "loc": {
        "start": {
          "line": 73,
          "column": 30
        },
        "end": {
          "line": 73,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2089,
      "end": 2090,
      "loc": {
        "start": {
          "line": 73,
          "column": 31
        },
        "end": {
          "line": 73,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2090,
      "end": 2091,
      "loc": {
        "start": {
          "line": 73,
          "column": 32
        },
        "end": {
          "line": 73,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2092,
      "end": 2093,
      "loc": {
        "start": {
          "line": 74,
          "column": 0
        },
        "end": {
          "line": 74,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2093,
      "end": 2094,
      "loc": {
        "start": {
          "line": 74,
          "column": 1
        },
        "end": {
          "line": 74,
          "column": 2
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " FIXME: 0x00, 0x04, 0x80 are SIGHASH_* boundary constants, importing Transaction causes a circular dependency",
      "start": 2096,
      "end": 2207,
      "loc": {
        "start": {
          "line": 76,
          "column": 0
        },
        "end": {
          "line": 76,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 2208,
      "end": 2219,
      "loc": {
        "start": {
          "line": 77,
          "column": 0
        },
        "end": {
          "line": 77,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2219,
      "end": 2220,
      "loc": {
        "start": {
          "line": 77,
          "column": 11
        },
        "end": {
          "line": 77,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parseScriptSignature",
      "start": 2220,
      "end": 2240,
      "loc": {
        "start": {
          "line": 77,
          "column": 12
        },
        "end": {
          "line": 77,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2241,
      "end": 2242,
      "loc": {
        "start": {
          "line": 77,
          "column": 33
        },
        "end": {
          "line": 77,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2243,
      "end": 2251,
      "loc": {
        "start": {
          "line": 77,
          "column": 35
        },
        "end": {
          "line": 77,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2251,
      "end": 2252,
      "loc": {
        "start": {
          "line": 77,
          "column": 43
        },
        "end": {
          "line": 77,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 2252,
      "end": 2258,
      "loc": {
        "start": {
          "line": 77,
          "column": 44
        },
        "end": {
          "line": 77,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2258,
      "end": 2259,
      "loc": {
        "start": {
          "line": 77,
          "column": 50
        },
        "end": {
          "line": 77,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2260,
      "end": 2261,
      "loc": {
        "start": {
          "line": 77,
          "column": 52
        },
        "end": {
          "line": 77,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2266,
      "end": 2269,
      "loc": {
        "start": {
          "line": 78,
          "column": 4
        },
        "end": {
          "line": 78,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashType",
      "start": 2270,
      "end": 2278,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2279,
      "end": 2280,
      "loc": {
        "start": {
          "line": 78,
          "column": 17
        },
        "end": {
          "line": 78,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 2281,
      "end": 2287,
      "loc": {
        "start": {
          "line": 78,
          "column": 19
        },
        "end": {
          "line": 78,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2287,
      "end": 2288,
      "loc": {
        "start": {
          "line": 78,
          "column": 25
        },
        "end": {
          "line": 78,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 2288,
      "end": 2297,
      "loc": {
        "start": {
          "line": 78,
          "column": 26
        },
        "end": {
          "line": 78,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2297,
      "end": 2298,
      "loc": {
        "start": {
          "line": 78,
          "column": 35
        },
        "end": {
          "line": 78,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 2298,
      "end": 2304,
      "loc": {
        "start": {
          "line": 78,
          "column": 36
        },
        "end": {
          "line": 78,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2304,
      "end": 2305,
      "loc": {
        "start": {
          "line": 78,
          "column": 42
        },
        "end": {
          "line": 78,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 2305,
      "end": 2311,
      "loc": {
        "start": {
          "line": 78,
          "column": 43
        },
        "end": {
          "line": 78,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 2312,
      "end": 2313,
      "loc": {
        "start": {
          "line": 78,
          "column": 50
        },
        "end": {
          "line": 78,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2314,
      "end": 2315,
      "loc": {
        "start": {
          "line": 78,
          "column": 52
        },
        "end": {
          "line": 78,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2315,
      "end": 2316,
      "loc": {
        "start": {
          "line": 78,
          "column": 53
        },
        "end": {
          "line": 78,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2316,
      "end": 2317,
      "loc": {
        "start": {
          "line": 78,
          "column": 54
        },
        "end": {
          "line": 78,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2322,
      "end": 2325,
      "loc": {
        "start": {
          "line": 79,
          "column": 4
        },
        "end": {
          "line": 79,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashTypeMod",
      "start": 2326,
      "end": 2337,
      "loc": {
        "start": {
          "line": 79,
          "column": 8
        },
        "end": {
          "line": 79,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2338,
      "end": 2339,
      "loc": {
        "start": {
          "line": 79,
          "column": 20
        },
        "end": {
          "line": 79,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashType",
      "start": 2340,
      "end": 2348,
      "loc": {
        "start": {
          "line": 79,
          "column": 22
        },
        "end": {
          "line": 79,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 5,
        "updateContext": null
      },
      "value": "&",
      "start": 2349,
      "end": 2350,
      "loc": {
        "start": {
          "line": 79,
          "column": 31
        },
        "end": {
          "line": 79,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "~",
      "start": 2351,
      "end": 2352,
      "loc": {
        "start": {
          "line": 79,
          "column": 33
        },
        "end": {
          "line": 79,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 128,
      "start": 2352,
      "end": 2356,
      "loc": {
        "start": {
          "line": 79,
          "column": 34
        },
        "end": {
          "line": 79,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2356,
      "end": 2357,
      "loc": {
        "start": {
          "line": 79,
          "column": 38
        },
        "end": {
          "line": 79,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 2363,
      "end": 2369,
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 81,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2369,
      "end": 2370,
      "loc": {
        "start": {
          "line": 81,
          "column": 10
        },
        "end": {
          "line": 81,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashTypeMod",
      "start": 2370,
      "end": 2381,
      "loc": {
        "start": {
          "line": 81,
          "column": 11
        },
        "end": {
          "line": 81,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 2382,
      "end": 2383,
      "loc": {
        "start": {
          "line": 81,
          "column": 23
        },
        "end": {
          "line": 81,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2384,
      "end": 2388,
      "loc": {
        "start": {
          "line": 81,
          "column": 25
        },
        "end": {
          "line": 81,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2389,
      "end": 2391,
      "loc": {
        "start": {
          "line": 81,
          "column": 30
        },
        "end": {
          "line": 81,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashTypeMod",
      "start": 2392,
      "end": 2403,
      "loc": {
        "start": {
          "line": 81,
          "column": 33
        },
        "end": {
          "line": 81,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 2404,
      "end": 2405,
      "loc": {
        "start": {
          "line": 81,
          "column": 45
        },
        "end": {
          "line": 81,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 2406,
      "end": 2410,
      "loc": {
        "start": {
          "line": 81,
          "column": 47
        },
        "end": {
          "line": 81,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2410,
      "end": 2411,
      "loc": {
        "start": {
          "line": 81,
          "column": 51
        },
        "end": {
          "line": 81,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Invalid hashType",
      "start": 2412,
      "end": 2430,
      "loc": {
        "start": {
          "line": 81,
          "column": 53
        },
        "end": {
          "line": 81,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2430,
      "end": 2431,
      "loc": {
        "start": {
          "line": 81,
          "column": 71
        },
        "end": {
          "line": 81,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2431,
      "end": 2432,
      "loc": {
        "start": {
          "line": 81,
          "column": 72
        },
        "end": {
          "line": 81,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2438,
      "end": 2444,
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 83,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2445,
      "end": 2446,
      "loc": {
        "start": {
          "line": 83,
          "column": 11
        },
        "end": {
          "line": 83,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signature",
      "start": 2455,
      "end": 2464,
      "loc": {
        "start": {
          "line": 84,
          "column": 8
        },
        "end": {
          "line": 84,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2464,
      "end": 2465,
      "loc": {
        "start": {
          "line": 84,
          "column": 17
        },
        "end": {
          "line": 84,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 2466,
      "end": 2477,
      "loc": {
        "start": {
          "line": 84,
          "column": 19
        },
        "end": {
          "line": 84,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2477,
      "end": 2478,
      "loc": {
        "start": {
          "line": 84,
          "column": 30
        },
        "end": {
          "line": 84,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromDER",
      "start": 2478,
      "end": 2485,
      "loc": {
        "start": {
          "line": 84,
          "column": 31
        },
        "end": {
          "line": 84,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2485,
      "end": 2486,
      "loc": {
        "start": {
          "line": 84,
          "column": 38
        },
        "end": {
          "line": 84,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 2486,
      "end": 2492,
      "loc": {
        "start": {
          "line": 84,
          "column": 39
        },
        "end": {
          "line": 84,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2492,
      "end": 2493,
      "loc": {
        "start": {
          "line": 84,
          "column": 45
        },
        "end": {
          "line": 84,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 2493,
      "end": 2498,
      "loc": {
        "start": {
          "line": 84,
          "column": 46
        },
        "end": {
          "line": 84,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2498,
      "end": 2499,
      "loc": {
        "start": {
          "line": 84,
          "column": 51
        },
        "end": {
          "line": 84,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2499,
      "end": 2500,
      "loc": {
        "start": {
          "line": 84,
          "column": 52
        },
        "end": {
          "line": 84,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2500,
      "end": 2501,
      "loc": {
        "start": {
          "line": 84,
          "column": 53
        },
        "end": {
          "line": 84,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 2502,
      "end": 2503,
      "loc": {
        "start": {
          "line": 84,
          "column": 55
        },
        "end": {
          "line": 84,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2503,
      "end": 2504,
      "loc": {
        "start": {
          "line": 84,
          "column": 56
        },
        "end": {
          "line": 84,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2504,
      "end": 2505,
      "loc": {
        "start": {
          "line": 84,
          "column": 57
        },
        "end": {
          "line": 84,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2505,
      "end": 2506,
      "loc": {
        "start": {
          "line": 84,
          "column": 58
        },
        "end": {
          "line": 84,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2506,
      "end": 2507,
      "loc": {
        "start": {
          "line": 84,
          "column": 59
        },
        "end": {
          "line": 84,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashType",
      "start": 2516,
      "end": 2524,
      "loc": {
        "start": {
          "line": 85,
          "column": 8
        },
        "end": {
          "line": 85,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2524,
      "end": 2525,
      "loc": {
        "start": {
          "line": 85,
          "column": 16
        },
        "end": {
          "line": 85,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashType",
      "start": 2526,
      "end": 2534,
      "loc": {
        "start": {
          "line": 85,
          "column": 18
        },
        "end": {
          "line": 85,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2539,
      "end": 2540,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 86,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2540,
      "end": 2541,
      "loc": {
        "start": {
          "line": 86,
          "column": 5
        },
        "end": {
          "line": 86,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2542,
      "end": 2543,
      "loc": {
        "start": {
          "line": 87,
          "column": 0
        },
        "end": {
          "line": 87,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2543,
      "end": 2544,
      "loc": {
        "start": {
          "line": 87,
          "column": 1
        },
        "end": {
          "line": 87,
          "column": 2
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Export operations",
      "start": 2546,
      "end": 2566,
      "loc": {
        "start": {
          "line": 89,
          "column": 0
        },
        "end": {
          "line": 89,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 2567,
      "end": 2578,
      "loc": {
        "start": {
          "line": 90,
          "column": 0
        },
        "end": {
          "line": 90,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2578,
      "end": 2579,
      "loc": {
        "start": {
          "line": 90,
          "column": 11
        },
        "end": {
          "line": 90,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 2579,
      "end": 2588,
      "loc": {
        "start": {
          "line": 90,
          "column": 12
        },
        "end": {
          "line": 90,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2588,
      "end": 2589,
      "loc": {
        "start": {
          "line": 90,
          "column": 21
        },
        "end": {
          "line": 90,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toCompact",
      "start": 2589,
      "end": 2598,
      "loc": {
        "start": {
          "line": 90,
          "column": 22
        },
        "end": {
          "line": 90,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2599,
      "end": 2600,
      "loc": {
        "start": {
          "line": 90,
          "column": 32
        },
        "end": {
          "line": 90,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2601,
      "end": 2609,
      "loc": {
        "start": {
          "line": 90,
          "column": 34
        },
        "end": {
          "line": 90,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2609,
      "end": 2610,
      "loc": {
        "start": {
          "line": 90,
          "column": 42
        },
        "end": {
          "line": 90,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2610,
      "end": 2611,
      "loc": {
        "start": {
          "line": 90,
          "column": 43
        },
        "end": {
          "line": 90,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2611,
      "end": 2612,
      "loc": {
        "start": {
          "line": 90,
          "column": 44
        },
        "end": {
          "line": 90,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "compressed",
      "start": 2613,
      "end": 2623,
      "loc": {
        "start": {
          "line": 90,
          "column": 46
        },
        "end": {
          "line": 90,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2623,
      "end": 2624,
      "loc": {
        "start": {
          "line": 90,
          "column": 56
        },
        "end": {
          "line": 90,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2625,
      "end": 2626,
      "loc": {
        "start": {
          "line": 90,
          "column": 58
        },
        "end": {
          "line": 90,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2631,
      "end": 2633,
      "loc": {
        "start": {
          "line": 91,
          "column": 4
        },
        "end": {
          "line": 91,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2634,
      "end": 2635,
      "loc": {
        "start": {
          "line": 91,
          "column": 7
        },
        "end": {
          "line": 91,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "compressed",
      "start": 2635,
      "end": 2645,
      "loc": {
        "start": {
          "line": 91,
          "column": 8
        },
        "end": {
          "line": 91,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2645,
      "end": 2646,
      "loc": {
        "start": {
          "line": 91,
          "column": 18
        },
        "end": {
          "line": 91,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2647,
      "end": 2648,
      "loc": {
        "start": {
          "line": 91,
          "column": 20
        },
        "end": {
          "line": 91,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "_=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+=",
      "start": 2649,
      "end": 2651,
      "loc": {
        "start": {
          "line": 91,
          "column": 22
        },
        "end": {
          "line": 91,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 2652,
      "end": 2653,
      "loc": {
        "start": {
          "line": 91,
          "column": 25
        },
        "end": {
          "line": 91,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2653,
      "end": 2654,
      "loc": {
        "start": {
          "line": 91,
          "column": 26
        },
        "end": {
          "line": 91,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2659,
      "end": 2660,
      "loc": {
        "start": {
          "line": 92,
          "column": 4
        },
        "end": {
          "line": 92,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "_=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+=",
      "start": 2661,
      "end": 2663,
      "loc": {
        "start": {
          "line": 92,
          "column": 6
        },
        "end": {
          "line": 92,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 27,
      "start": 2664,
      "end": 2666,
      "loc": {
        "start": {
          "line": 92,
          "column": 9
        },
        "end": {
          "line": 92,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2666,
      "end": 2667,
      "loc": {
        "start": {
          "line": 92,
          "column": 11
        },
        "end": {
          "line": 92,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2673,
      "end": 2676,
      "loc": {
        "start": {
          "line": 94,
          "column": 4
        },
        "end": {
          "line": 94,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 2677,
      "end": 2683,
      "loc": {
        "start": {
          "line": 94,
          "column": 8
        },
        "end": {
          "line": 94,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2684,
      "end": 2685,
      "loc": {
        "start": {
          "line": 94,
          "column": 15
        },
        "end": {
          "line": 94,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 2686,
      "end": 2692,
      "loc": {
        "start": {
          "line": 94,
          "column": 17
        },
        "end": {
          "line": 94,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2692,
      "end": 2693,
      "loc": {
        "start": {
          "line": 94,
          "column": 23
        },
        "end": {
          "line": 94,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "alloc",
      "start": 2693,
      "end": 2698,
      "loc": {
        "start": {
          "line": 94,
          "column": 24
        },
        "end": {
          "line": 94,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2698,
      "end": 2699,
      "loc": {
        "start": {
          "line": 94,
          "column": 29
        },
        "end": {
          "line": 94,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 65,
      "start": 2699,
      "end": 2701,
      "loc": {
        "start": {
          "line": 94,
          "column": 30
        },
        "end": {
          "line": 94,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2701,
      "end": 2702,
      "loc": {
        "start": {
          "line": 94,
          "column": 32
        },
        "end": {
          "line": 94,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2702,
      "end": 2703,
      "loc": {
        "start": {
          "line": 94,
          "column": 33
        },
        "end": {
          "line": 94,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 2708,
      "end": 2714,
      "loc": {
        "start": {
          "line": 95,
          "column": 4
        },
        "end": {
          "line": 95,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2714,
      "end": 2715,
      "loc": {
        "start": {
          "line": 95,
          "column": 10
        },
        "end": {
          "line": 95,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "writeUInt8",
      "start": 2715,
      "end": 2725,
      "loc": {
        "start": {
          "line": 95,
          "column": 11
        },
        "end": {
          "line": 95,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2725,
      "end": 2726,
      "loc": {
        "start": {
          "line": 95,
          "column": 21
        },
        "end": {
          "line": 95,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2726,
      "end": 2727,
      "loc": {
        "start": {
          "line": 95,
          "column": 22
        },
        "end": {
          "line": 95,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2727,
      "end": 2728,
      "loc": {
        "start": {
          "line": 95,
          "column": 23
        },
        "end": {
          "line": 95,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2729,
      "end": 2730,
      "loc": {
        "start": {
          "line": 95,
          "column": 25
        },
        "end": {
          "line": 95,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2730,
      "end": 2731,
      "loc": {
        "start": {
          "line": 95,
          "column": 26
        },
        "end": {
          "line": 95,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2731,
      "end": 2732,
      "loc": {
        "start": {
          "line": 95,
          "column": 27
        },
        "end": {
          "line": 95,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2738,
      "end": 2742,
      "loc": {
        "start": {
          "line": 97,
          "column": 4
        },
        "end": {
          "line": 97,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2742,
      "end": 2743,
      "loc": {
        "start": {
          "line": 97,
          "column": 8
        },
        "end": {
          "line": 97,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 2743,
      "end": 2744,
      "loc": {
        "start": {
          "line": 97,
          "column": 9
        },
        "end": {
          "line": 97,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2744,
      "end": 2745,
      "loc": {
        "start": {
          "line": 97,
          "column": 10
        },
        "end": {
          "line": 97,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 2745,
      "end": 2753,
      "loc": {
        "start": {
          "line": 97,
          "column": 11
        },
        "end": {
          "line": 97,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2753,
      "end": 2754,
      "loc": {
        "start": {
          "line": 97,
          "column": 19
        },
        "end": {
          "line": 97,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 2754,
      "end": 2756,
      "loc": {
        "start": {
          "line": 97,
          "column": 20
        },
        "end": {
          "line": 97,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2756,
      "end": 2757,
      "loc": {
        "start": {
          "line": 97,
          "column": 22
        },
        "end": {
          "line": 97,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2757,
      "end": 2758,
      "loc": {
        "start": {
          "line": 97,
          "column": 23
        },
        "end": {
          "line": 97,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "copy",
      "start": 2758,
      "end": 2762,
      "loc": {
        "start": {
          "line": 97,
          "column": 24
        },
        "end": {
          "line": 97,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2762,
      "end": 2763,
      "loc": {
        "start": {
          "line": 97,
          "column": 28
        },
        "end": {
          "line": 97,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 2763,
      "end": 2769,
      "loc": {
        "start": {
          "line": 97,
          "column": 29
        },
        "end": {
          "line": 97,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2769,
      "end": 2770,
      "loc": {
        "start": {
          "line": 97,
          "column": 35
        },
        "end": {
          "line": 97,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2771,
      "end": 2772,
      "loc": {
        "start": {
          "line": 97,
          "column": 37
        },
        "end": {
          "line": 97,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2772,
      "end": 2773,
      "loc": {
        "start": {
          "line": 97,
          "column": 38
        },
        "end": {
          "line": 97,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2773,
      "end": 2774,
      "loc": {
        "start": {
          "line": 97,
          "column": 39
        },
        "end": {
          "line": 97,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2779,
      "end": 2783,
      "loc": {
        "start": {
          "line": 98,
          "column": 4
        },
        "end": {
          "line": 98,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2783,
      "end": 2784,
      "loc": {
        "start": {
          "line": 98,
          "column": 8
        },
        "end": {
          "line": 98,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 2784,
      "end": 2785,
      "loc": {
        "start": {
          "line": 98,
          "column": 9
        },
        "end": {
          "line": 98,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2785,
      "end": 2786,
      "loc": {
        "start": {
          "line": 98,
          "column": 10
        },
        "end": {
          "line": 98,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 2786,
      "end": 2794,
      "loc": {
        "start": {
          "line": 98,
          "column": 11
        },
        "end": {
          "line": 98,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2794,
      "end": 2795,
      "loc": {
        "start": {
          "line": 98,
          "column": 19
        },
        "end": {
          "line": 98,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 2795,
      "end": 2797,
      "loc": {
        "start": {
          "line": 98,
          "column": 20
        },
        "end": {
          "line": 98,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2797,
      "end": 2798,
      "loc": {
        "start": {
          "line": 98,
          "column": 22
        },
        "end": {
          "line": 98,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2798,
      "end": 2799,
      "loc": {
        "start": {
          "line": 98,
          "column": 23
        },
        "end": {
          "line": 98,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "copy",
      "start": 2799,
      "end": 2803,
      "loc": {
        "start": {
          "line": 98,
          "column": 24
        },
        "end": {
          "line": 98,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2803,
      "end": 2804,
      "loc": {
        "start": {
          "line": 98,
          "column": 28
        },
        "end": {
          "line": 98,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 2804,
      "end": 2810,
      "loc": {
        "start": {
          "line": 98,
          "column": 29
        },
        "end": {
          "line": 98,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2810,
      "end": 2811,
      "loc": {
        "start": {
          "line": 98,
          "column": 35
        },
        "end": {
          "line": 98,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 33,
      "start": 2812,
      "end": 2814,
      "loc": {
        "start": {
          "line": 98,
          "column": 37
        },
        "end": {
          "line": 98,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2814,
      "end": 2815,
      "loc": {
        "start": {
          "line": 98,
          "column": 39
        },
        "end": {
          "line": 98,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2815,
      "end": 2816,
      "loc": {
        "start": {
          "line": 98,
          "column": 40
        },
        "end": {
          "line": 98,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2822,
      "end": 2828,
      "loc": {
        "start": {
          "line": 100,
          "column": 4
        },
        "end": {
          "line": 100,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 2829,
      "end": 2835,
      "loc": {
        "start": {
          "line": 100,
          "column": 11
        },
        "end": {
          "line": 100,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2835,
      "end": 2836,
      "loc": {
        "start": {
          "line": 100,
          "column": 17
        },
        "end": {
          "line": 100,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2837,
      "end": 2838,
      "loc": {
        "start": {
          "line": 101,
          "column": 0
        },
        "end": {
          "line": 101,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2838,
      "end": 2839,
      "loc": {
        "start": {
          "line": 101,
          "column": 1
        },
        "end": {
          "line": 101,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 2841,
      "end": 2852,
      "loc": {
        "start": {
          "line": 103,
          "column": 0
        },
        "end": {
          "line": 103,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2852,
      "end": 2853,
      "loc": {
        "start": {
          "line": 103,
          "column": 11
        },
        "end": {
          "line": 103,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 2853,
      "end": 2862,
      "loc": {
        "start": {
          "line": 103,
          "column": 12
        },
        "end": {
          "line": 103,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2862,
      "end": 2863,
      "loc": {
        "start": {
          "line": 103,
          "column": 21
        },
        "end": {
          "line": 103,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toDER",
      "start": 2863,
      "end": 2868,
      "loc": {
        "start": {
          "line": 103,
          "column": 22
        },
        "end": {
          "line": 103,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2869,
      "end": 2870,
      "loc": {
        "start": {
          "line": 103,
          "column": 28
        },
        "end": {
          "line": 103,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2871,
      "end": 2879,
      "loc": {
        "start": {
          "line": 103,
          "column": 30
        },
        "end": {
          "line": 103,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2879,
      "end": 2880,
      "loc": {
        "start": {
          "line": 103,
          "column": 38
        },
        "end": {
          "line": 103,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2880,
      "end": 2881,
      "loc": {
        "start": {
          "line": 103,
          "column": 39
        },
        "end": {
          "line": 103,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2882,
      "end": 2883,
      "loc": {
        "start": {
          "line": 103,
          "column": 41
        },
        "end": {
          "line": 103,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2888,
      "end": 2891,
      "loc": {
        "start": {
          "line": 104,
          "column": 4
        },
        "end": {
          "line": 104,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rBa",
      "start": 2892,
      "end": 2895,
      "loc": {
        "start": {
          "line": 104,
          "column": 8
        },
        "end": {
          "line": 104,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2896,
      "end": 2897,
      "loc": {
        "start": {
          "line": 104,
          "column": 12
        },
        "end": {
          "line": 104,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2898,
      "end": 2902,
      "loc": {
        "start": {
          "line": 104,
          "column": 14
        },
        "end": {
          "line": 104,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2902,
      "end": 2903,
      "loc": {
        "start": {
          "line": 104,
          "column": 18
        },
        "end": {
          "line": 104,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 2903,
      "end": 2904,
      "loc": {
        "start": {
          "line": 104,
          "column": 19
        },
        "end": {
          "line": 104,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2904,
      "end": 2905,
      "loc": {
        "start": {
          "line": 104,
          "column": 20
        },
        "end": {
          "line": 104,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toDERInteger",
      "start": 2905,
      "end": 2917,
      "loc": {
        "start": {
          "line": 104,
          "column": 21
        },
        "end": {
          "line": 104,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2917,
      "end": 2918,
      "loc": {
        "start": {
          "line": 104,
          "column": 33
        },
        "end": {
          "line": 104,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2918,
      "end": 2919,
      "loc": {
        "start": {
          "line": 104,
          "column": 34
        },
        "end": {
          "line": 104,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2919,
      "end": 2920,
      "loc": {
        "start": {
          "line": 104,
          "column": 35
        },
        "end": {
          "line": 104,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2925,
      "end": 2928,
      "loc": {
        "start": {
          "line": 105,
          "column": 4
        },
        "end": {
          "line": 105,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sBa",
      "start": 2929,
      "end": 2932,
      "loc": {
        "start": {
          "line": 105,
          "column": 8
        },
        "end": {
          "line": 105,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2933,
      "end": 2934,
      "loc": {
        "start": {
          "line": 105,
          "column": 12
        },
        "end": {
          "line": 105,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2935,
      "end": 2939,
      "loc": {
        "start": {
          "line": 105,
          "column": 14
        },
        "end": {
          "line": 105,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2939,
      "end": 2940,
      "loc": {
        "start": {
          "line": 105,
          "column": 18
        },
        "end": {
          "line": 105,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 2940,
      "end": 2941,
      "loc": {
        "start": {
          "line": 105,
          "column": 19
        },
        "end": {
          "line": 105,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2941,
      "end": 2942,
      "loc": {
        "start": {
          "line": 105,
          "column": 20
        },
        "end": {
          "line": 105,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toDERInteger",
      "start": 2942,
      "end": 2954,
      "loc": {
        "start": {
          "line": 105,
          "column": 21
        },
        "end": {
          "line": 105,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2954,
      "end": 2955,
      "loc": {
        "start": {
          "line": 105,
          "column": 33
        },
        "end": {
          "line": 105,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2955,
      "end": 2956,
      "loc": {
        "start": {
          "line": 105,
          "column": 34
        },
        "end": {
          "line": 105,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2956,
      "end": 2957,
      "loc": {
        "start": {
          "line": 105,
          "column": 35
        },
        "end": {
          "line": 105,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2963,
      "end": 2966,
      "loc": {
        "start": {
          "line": 107,
          "column": 4
        },
        "end": {
          "line": 107,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequence",
      "start": 2967,
      "end": 2975,
      "loc": {
        "start": {
          "line": 107,
          "column": 8
        },
        "end": {
          "line": 107,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2976,
      "end": 2977,
      "loc": {
        "start": {
          "line": 107,
          "column": 17
        },
        "end": {
          "line": 107,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2978,
      "end": 2979,
      "loc": {
        "start": {
          "line": 107,
          "column": 19
        },
        "end": {
          "line": 107,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2979,
      "end": 2980,
      "loc": {
        "start": {
          "line": 107,
          "column": 20
        },
        "end": {
          "line": 107,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2980,
      "end": 2981,
      "loc": {
        "start": {
          "line": 107,
          "column": 21
        },
        "end": {
          "line": 107,
          "column": 22
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " INTEGER",
      "start": 2987,
      "end": 2997,
      "loc": {
        "start": {
          "line": 109,
          "column": 4
        },
        "end": {
          "line": 109,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequence",
      "start": 3002,
      "end": 3010,
      "loc": {
        "start": {
          "line": 110,
          "column": 4
        },
        "end": {
          "line": 110,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3010,
      "end": 3011,
      "loc": {
        "start": {
          "line": 110,
          "column": 12
        },
        "end": {
          "line": 110,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 3011,
      "end": 3015,
      "loc": {
        "start": {
          "line": 110,
          "column": 13
        },
        "end": {
          "line": 110,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3015,
      "end": 3016,
      "loc": {
        "start": {
          "line": 110,
          "column": 17
        },
        "end": {
          "line": 110,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 3016,
      "end": 3020,
      "loc": {
        "start": {
          "line": 110,
          "column": 18
        },
        "end": {
          "line": 110,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3020,
      "end": 3021,
      "loc": {
        "start": {
          "line": 110,
          "column": 22
        },
        "end": {
          "line": 110,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rBa",
      "start": 3022,
      "end": 3025,
      "loc": {
        "start": {
          "line": 110,
          "column": 24
        },
        "end": {
          "line": 110,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3025,
      "end": 3026,
      "loc": {
        "start": {
          "line": 110,
          "column": 27
        },
        "end": {
          "line": 110,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 3026,
      "end": 3032,
      "loc": {
        "start": {
          "line": 110,
          "column": 28
        },
        "end": {
          "line": 110,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3032,
      "end": 3033,
      "loc": {
        "start": {
          "line": 110,
          "column": 34
        },
        "end": {
          "line": 110,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3033,
      "end": 3034,
      "loc": {
        "start": {
          "line": 110,
          "column": 35
        },
        "end": {
          "line": 110,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequence",
      "start": 3039,
      "end": 3047,
      "loc": {
        "start": {
          "line": 111,
          "column": 4
        },
        "end": {
          "line": 111,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3048,
      "end": 3049,
      "loc": {
        "start": {
          "line": 111,
          "column": 13
        },
        "end": {
          "line": 111,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequence",
      "start": 3050,
      "end": 3058,
      "loc": {
        "start": {
          "line": 111,
          "column": 15
        },
        "end": {
          "line": 111,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3058,
      "end": 3059,
      "loc": {
        "start": {
          "line": 111,
          "column": 23
        },
        "end": {
          "line": 111,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 3059,
      "end": 3065,
      "loc": {
        "start": {
          "line": 111,
          "column": 24
        },
        "end": {
          "line": 111,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3065,
      "end": 3066,
      "loc": {
        "start": {
          "line": 111,
          "column": 30
        },
        "end": {
          "line": 111,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rBa",
      "start": 3066,
      "end": 3069,
      "loc": {
        "start": {
          "line": 111,
          "column": 31
        },
        "end": {
          "line": 111,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3069,
      "end": 3070,
      "loc": {
        "start": {
          "line": 111,
          "column": 34
        },
        "end": {
          "line": 111,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3070,
      "end": 3071,
      "loc": {
        "start": {
          "line": 111,
          "column": 35
        },
        "end": {
          "line": 111,
          "column": 36
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " INTEGER",
      "start": 3077,
      "end": 3087,
      "loc": {
        "start": {
          "line": 113,
          "column": 4
        },
        "end": {
          "line": 113,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequence",
      "start": 3092,
      "end": 3100,
      "loc": {
        "start": {
          "line": 114,
          "column": 4
        },
        "end": {
          "line": 114,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3100,
      "end": 3101,
      "loc": {
        "start": {
          "line": 114,
          "column": 12
        },
        "end": {
          "line": 114,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 3101,
      "end": 3105,
      "loc": {
        "start": {
          "line": 114,
          "column": 13
        },
        "end": {
          "line": 114,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3105,
      "end": 3106,
      "loc": {
        "start": {
          "line": 114,
          "column": 17
        },
        "end": {
          "line": 114,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 3106,
      "end": 3110,
      "loc": {
        "start": {
          "line": 114,
          "column": 18
        },
        "end": {
          "line": 114,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3110,
      "end": 3111,
      "loc": {
        "start": {
          "line": 114,
          "column": 22
        },
        "end": {
          "line": 114,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sBa",
      "start": 3112,
      "end": 3115,
      "loc": {
        "start": {
          "line": 114,
          "column": 24
        },
        "end": {
          "line": 114,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3115,
      "end": 3116,
      "loc": {
        "start": {
          "line": 114,
          "column": 27
        },
        "end": {
          "line": 114,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 3116,
      "end": 3122,
      "loc": {
        "start": {
          "line": 114,
          "column": 28
        },
        "end": {
          "line": 114,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3122,
      "end": 3123,
      "loc": {
        "start": {
          "line": 114,
          "column": 34
        },
        "end": {
          "line": 114,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3123,
      "end": 3124,
      "loc": {
        "start": {
          "line": 114,
          "column": 35
        },
        "end": {
          "line": 114,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequence",
      "start": 3129,
      "end": 3137,
      "loc": {
        "start": {
          "line": 115,
          "column": 4
        },
        "end": {
          "line": 115,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3138,
      "end": 3139,
      "loc": {
        "start": {
          "line": 115,
          "column": 13
        },
        "end": {
          "line": 115,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequence",
      "start": 3140,
      "end": 3148,
      "loc": {
        "start": {
          "line": 115,
          "column": 15
        },
        "end": {
          "line": 115,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3148,
      "end": 3149,
      "loc": {
        "start": {
          "line": 115,
          "column": 23
        },
        "end": {
          "line": 115,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 3149,
      "end": 3155,
      "loc": {
        "start": {
          "line": 115,
          "column": 24
        },
        "end": {
          "line": 115,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3155,
      "end": 3156,
      "loc": {
        "start": {
          "line": 115,
          "column": 30
        },
        "end": {
          "line": 115,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sBa",
      "start": 3156,
      "end": 3159,
      "loc": {
        "start": {
          "line": 115,
          "column": 31
        },
        "end": {
          "line": 115,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3159,
      "end": 3160,
      "loc": {
        "start": {
          "line": 115,
          "column": 34
        },
        "end": {
          "line": 115,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3160,
      "end": 3161,
      "loc": {
        "start": {
          "line": 115,
          "column": 35
        },
        "end": {
          "line": 115,
          "column": 36
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " SEQUENCE",
      "start": 3167,
      "end": 3178,
      "loc": {
        "start": {
          "line": 117,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequence",
      "start": 3183,
      "end": 3191,
      "loc": {
        "start": {
          "line": 118,
          "column": 4
        },
        "end": {
          "line": 118,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3191,
      "end": 3192,
      "loc": {
        "start": {
          "line": 118,
          "column": 12
        },
        "end": {
          "line": 118,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unshift",
      "start": 3192,
      "end": 3199,
      "loc": {
        "start": {
          "line": 118,
          "column": 13
        },
        "end": {
          "line": 118,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3199,
      "end": 3200,
      "loc": {
        "start": {
          "line": 118,
          "column": 20
        },
        "end": {
          "line": 118,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 48,
      "start": 3200,
      "end": 3204,
      "loc": {
        "start": {
          "line": 118,
          "column": 21
        },
        "end": {
          "line": 118,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3204,
      "end": 3205,
      "loc": {
        "start": {
          "line": 118,
          "column": 25
        },
        "end": {
          "line": 118,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequence",
      "start": 3206,
      "end": 3214,
      "loc": {
        "start": {
          "line": 118,
          "column": 27
        },
        "end": {
          "line": 118,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3214,
      "end": 3215,
      "loc": {
        "start": {
          "line": 118,
          "column": 35
        },
        "end": {
          "line": 118,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 3215,
      "end": 3221,
      "loc": {
        "start": {
          "line": 118,
          "column": 36
        },
        "end": {
          "line": 118,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3221,
      "end": 3222,
      "loc": {
        "start": {
          "line": 118,
          "column": 42
        },
        "end": {
          "line": 118,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3222,
      "end": 3223,
      "loc": {
        "start": {
          "line": 118,
          "column": 43
        },
        "end": {
          "line": 118,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3229,
      "end": 3235,
      "loc": {
        "start": {
          "line": 120,
          "column": 4
        },
        "end": {
          "line": 120,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 3236,
      "end": 3242,
      "loc": {
        "start": {
          "line": 120,
          "column": 11
        },
        "end": {
          "line": 120,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3242,
      "end": 3243,
      "loc": {
        "start": {
          "line": 120,
          "column": 17
        },
        "end": {
          "line": 120,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 3243,
      "end": 3247,
      "loc": {
        "start": {
          "line": 120,
          "column": 18
        },
        "end": {
          "line": 120,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3247,
      "end": 3248,
      "loc": {
        "start": {
          "line": 120,
          "column": 22
        },
        "end": {
          "line": 120,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequence",
      "start": 3248,
      "end": 3256,
      "loc": {
        "start": {
          "line": 120,
          "column": 23
        },
        "end": {
          "line": 120,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3256,
      "end": 3257,
      "loc": {
        "start": {
          "line": 120,
          "column": 31
        },
        "end": {
          "line": 120,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3257,
      "end": 3258,
      "loc": {
        "start": {
          "line": 120,
          "column": 32
        },
        "end": {
          "line": 120,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3259,
      "end": 3260,
      "loc": {
        "start": {
          "line": 121,
          "column": 0
        },
        "end": {
          "line": 121,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3260,
      "end": 3261,
      "loc": {
        "start": {
          "line": 121,
          "column": 1
        },
        "end": {
          "line": 121,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 3263,
      "end": 3274,
      "loc": {
        "start": {
          "line": 123,
          "column": 0
        },
        "end": {
          "line": 123,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3274,
      "end": 3275,
      "loc": {
        "start": {
          "line": 123,
          "column": 11
        },
        "end": {
          "line": 123,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 3275,
      "end": 3284,
      "loc": {
        "start": {
          "line": 123,
          "column": 12
        },
        "end": {
          "line": 123,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3284,
      "end": 3285,
      "loc": {
        "start": {
          "line": 123,
          "column": 21
        },
        "end": {
          "line": 123,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toScriptSignature",
      "start": 3285,
      "end": 3302,
      "loc": {
        "start": {
          "line": 123,
          "column": 22
        },
        "end": {
          "line": 123,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3303,
      "end": 3304,
      "loc": {
        "start": {
          "line": 123,
          "column": 40
        },
        "end": {
          "line": 123,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 3305,
      "end": 3313,
      "loc": {
        "start": {
          "line": 123,
          "column": 42
        },
        "end": {
          "line": 123,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3313,
      "end": 3314,
      "loc": {
        "start": {
          "line": 123,
          "column": 50
        },
        "end": {
          "line": 123,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashType",
      "start": 3314,
      "end": 3322,
      "loc": {
        "start": {
          "line": 123,
          "column": 51
        },
        "end": {
          "line": 123,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3322,
      "end": 3323,
      "loc": {
        "start": {
          "line": 123,
          "column": 59
        },
        "end": {
          "line": 123,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3324,
      "end": 3325,
      "loc": {
        "start": {
          "line": 123,
          "column": 61
        },
        "end": {
          "line": 123,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 3330,
      "end": 3333,
      "loc": {
        "start": {
          "line": 124,
          "column": 4
        },
        "end": {
          "line": 124,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashTypeBuffer",
      "start": 3334,
      "end": 3348,
      "loc": {
        "start": {
          "line": 124,
          "column": 8
        },
        "end": {
          "line": 124,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3349,
      "end": 3350,
      "loc": {
        "start": {
          "line": 124,
          "column": 23
        },
        "end": {
          "line": 124,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 3351,
      "end": 3357,
      "loc": {
        "start": {
          "line": 124,
          "column": 25
        },
        "end": {
          "line": 124,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3357,
      "end": 3358,
      "loc": {
        "start": {
          "line": 124,
          "column": 31
        },
        "end": {
          "line": 124,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "alloc",
      "start": 3358,
      "end": 3363,
      "loc": {
        "start": {
          "line": 124,
          "column": 32
        },
        "end": {
          "line": 124,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3363,
      "end": 3364,
      "loc": {
        "start": {
          "line": 124,
          "column": 37
        },
        "end": {
          "line": 124,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 3364,
      "end": 3365,
      "loc": {
        "start": {
          "line": 124,
          "column": 38
        },
        "end": {
          "line": 124,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3365,
      "end": 3366,
      "loc": {
        "start": {
          "line": 124,
          "column": 39
        },
        "end": {
          "line": 124,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3366,
      "end": 3367,
      "loc": {
        "start": {
          "line": 124,
          "column": 40
        },
        "end": {
          "line": 124,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashTypeBuffer",
      "start": 3372,
      "end": 3386,
      "loc": {
        "start": {
          "line": 125,
          "column": 4
        },
        "end": {
          "line": 125,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3386,
      "end": 3387,
      "loc": {
        "start": {
          "line": 125,
          "column": 18
        },
        "end": {
          "line": 125,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "writeUInt8",
      "start": 3387,
      "end": 3397,
      "loc": {
        "start": {
          "line": 125,
          "column": 19
        },
        "end": {
          "line": 125,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3397,
      "end": 3398,
      "loc": {
        "start": {
          "line": 125,
          "column": 29
        },
        "end": {
          "line": 125,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashType",
      "start": 3398,
      "end": 3406,
      "loc": {
        "start": {
          "line": 125,
          "column": 30
        },
        "end": {
          "line": 125,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3406,
      "end": 3407,
      "loc": {
        "start": {
          "line": 125,
          "column": 38
        },
        "end": {
          "line": 125,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 3408,
      "end": 3409,
      "loc": {
        "start": {
          "line": 125,
          "column": 40
        },
        "end": {
          "line": 125,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3409,
      "end": 3410,
      "loc": {
        "start": {
          "line": 125,
          "column": 41
        },
        "end": {
          "line": 125,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3410,
      "end": 3411,
      "loc": {
        "start": {
          "line": 125,
          "column": 42
        },
        "end": {
          "line": 125,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3417,
      "end": 3423,
      "loc": {
        "start": {
          "line": 127,
          "column": 4
        },
        "end": {
          "line": 127,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 3424,
      "end": 3430,
      "loc": {
        "start": {
          "line": 127,
          "column": 11
        },
        "end": {
          "line": 127,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3430,
      "end": 3431,
      "loc": {
        "start": {
          "line": 127,
          "column": 17
        },
        "end": {
          "line": 127,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 3431,
      "end": 3437,
      "loc": {
        "start": {
          "line": 127,
          "column": 18
        },
        "end": {
          "line": 127,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3437,
      "end": 3438,
      "loc": {
        "start": {
          "line": 127,
          "column": 24
        },
        "end": {
          "line": 127,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3438,
      "end": 3439,
      "loc": {
        "start": {
          "line": 127,
          "column": 25
        },
        "end": {
          "line": 127,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3439,
      "end": 3443,
      "loc": {
        "start": {
          "line": 127,
          "column": 26
        },
        "end": {
          "line": 127,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3443,
      "end": 3444,
      "loc": {
        "start": {
          "line": 127,
          "column": 30
        },
        "end": {
          "line": 127,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toDER",
      "start": 3444,
      "end": 3449,
      "loc": {
        "start": {
          "line": 127,
          "column": 31
        },
        "end": {
          "line": 127,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3449,
      "end": 3450,
      "loc": {
        "start": {
          "line": 127,
          "column": 36
        },
        "end": {
          "line": 127,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3450,
      "end": 3451,
      "loc": {
        "start": {
          "line": 127,
          "column": 37
        },
        "end": {
          "line": 127,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3451,
      "end": 3452,
      "loc": {
        "start": {
          "line": 127,
          "column": 38
        },
        "end": {
          "line": 127,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hashTypeBuffer",
      "start": 3453,
      "end": 3467,
      "loc": {
        "start": {
          "line": 127,
          "column": 40
        },
        "end": {
          "line": 127,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3467,
      "end": 3468,
      "loc": {
        "start": {
          "line": 127,
          "column": 54
        },
        "end": {
          "line": 127,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3468,
      "end": 3469,
      "loc": {
        "start": {
          "line": 127,
          "column": 55
        },
        "end": {
          "line": 127,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3469,
      "end": 3470,
      "loc": {
        "start": {
          "line": 127,
          "column": 56
        },
        "end": {
          "line": 127,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3471,
      "end": 3472,
      "loc": {
        "start": {
          "line": 128,
          "column": 0
        },
        "end": {
          "line": 128,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3472,
      "end": 3473,
      "loc": {
        "start": {
          "line": 128,
          "column": 1
        },
        "end": {
          "line": 128,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 3475,
      "end": 3481,
      "loc": {
        "start": {
          "line": 130,
          "column": 0
        },
        "end": {
          "line": 130,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 3482,
      "end": 3489,
      "loc": {
        "start": {
          "line": 130,
          "column": 7
        },
        "end": {
          "line": 130,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ECSignature",
      "start": 3490,
      "end": 3501,
      "loc": {
        "start": {
          "line": 130,
          "column": 15
        },
        "end": {
          "line": 130,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3501,
      "end": 3502,
      "loc": {
        "start": {
          "line": 130,
          "column": 26
        },
        "end": {
          "line": 130,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3503,
      "end": 3503,
      "loc": {
        "start": {
          "line": 131,
          "column": 0
        },
        "end": {
          "line": 131,
          "column": 0
        }
      }
    }
  ]
}