{
  "type": "File",
  "start": 0,
  "end": 4744,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 168,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 4744,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 168,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 77,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 77
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 8,
            "end": 12,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 12
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 8,
              "end": 12,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 8
                },
                "end": {
                  "line": 1,
                  "column": 12
                },
                "identifierName": "sign"
              },
              "name": "sign"
            },
            "local": {
              "type": "Identifier",
              "start": 8,
              "end": 12,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 8
                },
                "end": {
                  "line": 1,
                  "column": 12
                },
                "identifierName": "sign"
              },
              "name": "sign"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 14,
            "end": 27,
            "loc": {
              "start": {
                "line": 1,
                "column": 14
              },
              "end": {
                "line": 1,
                "column": 27
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 14,
              "end": 27,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 14
                },
                "end": {
                  "line": 1,
                  "column": 27
                },
                "identifierName": "recoverPubKey"
              },
              "name": "recoverPubKey"
            },
            "local": {
              "type": "Identifier",
              "start": 14,
              "end": 27,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 14
                },
                "end": {
                  "line": 1,
                  "column": 27
                },
                "identifierName": "recoverPubKey"
              },
              "name": "recoverPubKey"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 29,
            "end": 35,
            "loc": {
              "start": {
                "line": 1,
                "column": 29
              },
              "end": {
                "line": 1,
                "column": 35
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 29,
              "end": 35,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 29
                },
                "end": {
                  "line": 1,
                  "column": 35
                },
                "identifierName": "verify"
              },
              "name": "verify"
            },
            "local": {
              "type": "Identifier",
              "start": 29,
              "end": 35,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 29
                },
                "end": {
                  "line": 1,
                  "column": 35
                },
                "identifierName": "verify"
              },
              "name": "verify"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 37,
            "end": 60,
            "loc": {
              "start": {
                "line": 1,
                "column": 37
              },
              "end": {
                "line": 1,
                "column": 60
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 37,
              "end": 60,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 37
                },
                "end": {
                  "line": 1,
                  "column": 60
                },
                "identifierName": "calcPubKeyRecoveryParam"
              },
              "name": "calcPubKeyRecoveryParam"
            },
            "local": {
              "type": "Identifier",
              "start": 37,
              "end": 60,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 37
                },
                "end": {
                  "line": 1,
                  "column": 60
                },
                "identifierName": "calcPubKeyRecoveryParam"
              },
              "name": "calcPubKeyRecoveryParam"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 67,
          "end": 76,
          "loc": {
            "start": {
              "line": 1,
              "column": 67
            },
            "end": {
              "line": 1,
              "column": 76
            }
          },
          "extra": {
            "rawValue": "./ecdsa",
            "raw": "\"./ecdsa\""
          },
          "value": "./ecdsa"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 78,
        "end": 108,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 30
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 86,
            "end": 92,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 14
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 86,
              "end": 92,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 8
                },
                "end": {
                  "line": 2,
                  "column": 14
                },
                "identifierName": "sha256"
              },
              "name": "sha256"
            },
            "local": {
              "type": "Identifier",
              "start": 86,
              "end": 92,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 8
                },
                "end": {
                  "line": 2,
                  "column": 14
                },
                "identifierName": "sha256"
              },
              "name": "sha256"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 99,
          "end": 107,
          "loc": {
            "start": {
              "line": 2,
              "column": 21
            },
            "end": {
              "line": 2,
              "column": 29
            }
          },
          "extra": {
            "rawValue": "./hash",
            "raw": "\"./hash\""
          },
          "value": "./hash"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 109,
        "end": 147,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 38
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 117,
            "end": 131,
            "loc": {
              "start": {
                "line": 3,
                "column": 8
              },
              "end": {
                "line": 3,
                "column": 22
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 117,
              "end": 131,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 8
                },
                "end": {
                  "line": 3,
                  "column": 22
                },
                "identifierName": "getCurveByName"
              },
              "name": "getCurveByName"
            },
            "local": {
              "type": "Identifier",
              "start": 117,
              "end": 131,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 8
                },
                "end": {
                  "line": 3,
                  "column": 22
                },
                "identifierName": "getCurveByName"
              },
              "name": "getCurveByName"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 138,
          "end": 146,
          "loc": {
            "start": {
              "line": 3,
              "column": 29
            },
            "end": {
              "line": 3,
              "column": 37
            }
          },
          "extra": {
            "rawValue": "ecurve",
            "raw": "\"ecurve\""
          },
          "value": "ecurve"
        }
      },
      {
        "type": "VariableDeclaration",
        "start": 148,
        "end": 192,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 44
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 152,
            "end": 191,
            "loc": {
              "start": {
                "line": 4,
                "column": 4
              },
              "end": {
                "line": 4,
                "column": 43
              }
            },
            "id": {
              "type": "Identifier",
              "start": 152,
              "end": 161,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 4
                },
                "end": {
                  "line": 4,
                  "column": 13
                },
                "identifierName": "secp256k1"
              },
              "name": "secp256k1"
            },
            "init": {
              "type": "CallExpression",
              "start": 164,
              "end": 191,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 16
                },
                "end": {
                  "line": 4,
                  "column": 43
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 164,
                "end": 178,
                "loc": {
                  "start": {
                    "line": 4,
                    "column": 16
                  },
                  "end": {
                    "line": 4,
                    "column": 30
                  },
                  "identifierName": "getCurveByName"
                },
                "name": "getCurveByName"
              },
              "arguments": [
                {
                  "type": "StringLiteral",
                  "start": 179,
                  "end": 190,
                  "loc": {
                    "start": {
                      "line": 4,
                      "column": 31
                    },
                    "end": {
                      "line": 4,
                      "column": 42
                    }
                  },
                  "extra": {
                    "rawValue": "secp256k1",
                    "raw": "\"secp256k1\""
                  },
                  "value": "secp256k1"
                }
              ]
            }
          }
        ],
        "kind": "var"
      },
      {
        "type": "ImportDeclaration",
        "start": 193,
        "end": 221,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 28
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 200,
            "end": 206,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 13
              }
            },
            "local": {
              "type": "Identifier",
              "start": 200,
              "end": 206,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 7
                },
                "end": {
                  "line": 5,
                  "column": 13
                },
                "identifierName": "assert"
              },
              "name": "assert"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 212,
          "end": 220,
          "loc": {
            "start": {
              "line": 5,
              "column": 19
            },
            "end": {
              "line": 5,
              "column": 27
            }
          },
          "extra": {
            "rawValue": "assert",
            "raw": "\"assert\""
          },
          "value": "assert"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 222,
        "end": 252,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 6,
            "column": 30
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 229,
            "end": 239,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 17
              }
            },
            "local": {
              "type": "Identifier",
              "start": 229,
              "end": 239,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 7
                },
                "end": {
                  "line": 6,
                  "column": 17
                },
                "identifierName": "BigInteger"
              },
              "name": "BigInteger"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 245,
          "end": 251,
          "loc": {
            "start": {
              "line": 6,
              "column": 23
            },
            "end": {
              "line": 6,
              "column": 29
            }
          },
          "extra": {
            "rawValue": "bigi",
            "raw": "\"bigi\""
          },
          "value": "bigi"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 253,
        "end": 289,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 36
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 260,
            "end": 269,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 16
              }
            },
            "local": {
              "type": "Identifier",
              "start": 260,
              "end": 269,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 7
                },
                "end": {
                  "line": 7,
                  "column": 16
                },
                "identifierName": "PublicKey"
              },
              "name": "PublicKey"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 275,
          "end": 288,
          "loc": {
            "start": {
              "line": 7,
              "column": 22
            },
            "end": {
              "line": 7,
              "column": 35
            }
          },
          "extra": {
            "rawValue": "./PublicKey",
            "raw": "\"./PublicKey\""
          },
          "value": "./PublicKey"
        }
      },
      {
        "type": "VariableDeclaration",
        "start": 290,
        "end": 335,
        "loc": {
          "start": {
            "line": 8,
            "column": 0
          },
          "end": {
            "line": 8,
            "column": 45
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 296,
            "end": 334,
            "loc": {
              "start": {
                "line": 8,
                "column": 6
              },
              "end": {
                "line": 8,
                "column": 44
              }
            },
            "id": {
              "type": "Identifier",
              "start": 296,
              "end": 302,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 6
                },
                "end": {
                  "line": 8,
                  "column": 12
                },
                "identifierName": "Buffer"
              },
              "name": "Buffer"
            },
            "init": {
              "type": "MemberExpression",
              "start": 305,
              "end": 334,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 15
                },
                "end": {
                  "line": 8,
                  "column": 44
                }
              },
              "object": {
                "type": "CallExpression",
                "start": 305,
                "end": 327,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 15
                  },
                  "end": {
                    "line": 8,
                    "column": 37
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 305,
                  "end": 312,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 15
                    },
                    "end": {
                      "line": 8,
                      "column": 22
                    },
                    "identifierName": "require"
                  },
                  "name": "require"
                },
                "arguments": [
                  {
                    "type": "StringLiteral",
                    "start": 313,
                    "end": 326,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 23
                      },
                      "end": {
                        "line": 8,
                        "column": 36
                      }
                    },
                    "extra": {
                      "rawValue": "safe-buffer",
                      "raw": "\"safe-buffer\""
                    },
                    "value": "safe-buffer"
                  }
                ]
              },
              "property": {
                "type": "Identifier",
                "start": 328,
                "end": 334,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 38
                  },
                  "end": {
                    "line": 8,
                    "column": 44
                  },
                  "identifierName": "Buffer"
                },
                "name": "Buffer"
              },
              "computed": false
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "Identifier",
        "start": 337,
        "end": 4716,
        "loc": {
          "start": {
            "line": 10,
            "column": 0
          },
          "end": {
            "line": 165,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 343,
          "end": 352,
          "loc": {
            "start": {
              "line": 10,
              "column": 6
            },
            "end": {
              "line": 10,
              "column": 15
            },
            "identifierName": "Signature"
          },
          "name": "Signature"
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 353,
          "end": 4716,
          "loc": {
            "start": {
              "line": 10,
              "column": 16
            },
            "end": {
              "line": 165,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ClassMethod",
              "start": 359,
              "end": 648,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 4
                },
                "end": {
                  "line": 18,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 359,
                "end": 370,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 4
                  },
                  "end": {
                    "line": 11,
                    "column": 15
                  },
                  "identifierName": "constructor"
                },
                "name": "constructor"
              },
              "kind": "constructor",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 371,
                  "end": 373,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 16
                    },
                    "end": {
                      "line": 11,
                      "column": 18
                    },
                    "identifierName": "r1"
                  },
                  "name": "r1"
                },
                {
                  "type": "Identifier",
                  "start": 375,
                  "end": 377,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 20
                    },
                    "end": {
                      "line": 11,
                      "column": 22
                    },
                    "identifierName": "s1"
                  },
                  "name": "s1"
                },
                {
                  "type": "Identifier",
                  "start": 379,
                  "end": 381,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 24
                    },
                    "end": {
                      "line": 11,
                      "column": 26
                    },
                    "identifierName": "i1"
                  },
                  "name": "i1"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 383,
                "end": 648,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 28
                  },
                  "end": {
                    "line": 18,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 393,
                    "end": 405,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 8
                      },
                      "end": {
                        "line": 12,
                        "column": 20
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 393,
                      "end": 404,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 12,
                          "column": 19
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 393,
                        "end": 399,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 8
                          },
                          "end": {
                            "line": 12,
                            "column": 14
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 393,
                          "end": 397,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 398,
                          "end": 399,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 13
                            },
                            "end": {
                              "line": 12,
                              "column": 14
                            },
                            "identifierName": "r"
                          },
                          "name": "r"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 402,
                        "end": 404,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 17
                          },
                          "end": {
                            "line": 12,
                            "column": 19
                          },
                          "identifierName": "r1"
                        },
                        "name": "r1"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 414,
                    "end": 426,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 8
                      },
                      "end": {
                        "line": 13,
                        "column": 20
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 414,
                      "end": 425,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 19
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 414,
                        "end": 420,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 14
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 414,
                          "end": 418,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 419,
                          "end": 420,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 13
                            },
                            "end": {
                              "line": 13,
                              "column": 14
                            },
                            "identifierName": "s"
                          },
                          "name": "s"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 423,
                        "end": 425,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 17
                          },
                          "end": {
                            "line": 13,
                            "column": 19
                          },
                          "identifierName": "s1"
                        },
                        "name": "s1"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 435,
                    "end": 447,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 8
                      },
                      "end": {
                        "line": 14,
                        "column": 20
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 435,
                      "end": 446,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 19
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 435,
                        "end": 441,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 14
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 435,
                          "end": 439,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 440,
                          "end": 441,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 13
                            },
                            "end": {
                              "line": 14,
                              "column": 14
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 444,
                        "end": 446,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 17
                          },
                          "end": {
                            "line": 14,
                            "column": 19
                          },
                          "identifierName": "i1"
                        },
                        "name": "i1"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 456,
                    "end": 512,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 8
                      },
                      "end": {
                        "line": 15,
                        "column": 64
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 456,
                      "end": 511,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 8
                        },
                        "end": {
                          "line": 15,
                          "column": 63
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 456,
                        "end": 468,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 8
                          },
                          "end": {
                            "line": 15,
                            "column": 20
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 456,
                          "end": 462,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 8
                            },
                            "end": {
                              "line": 15,
                              "column": 14
                            },
                            "identifierName": "assert"
                          },
                          "name": "assert"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 463,
                          "end": 468,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 15
                            },
                            "end": {
                              "line": 15,
                              "column": 20
                            },
                            "identifierName": "equal"
                          },
                          "name": "equal"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "BinaryExpression",
                          "start": 469,
                          "end": 483,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 21
                            },
                            "end": {
                              "line": 15,
                              "column": 35
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 469,
                            "end": 475,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 21
                              },
                              "end": {
                                "line": 15,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 469,
                              "end": 473,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 21
                                },
                                "end": {
                                  "line": 15,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 474,
                              "end": 475,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 26
                                },
                                "end": {
                                  "line": 15,
                                  "column": 27
                                },
                                "identifierName": "r"
                              },
                              "name": "r"
                            },
                            "computed": false
                          },
                          "operator": "!=",
                          "right": {
                            "type": "NullLiteral",
                            "start": 479,
                            "end": 483,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 31
                              },
                              "end": {
                                "line": 15,
                                "column": 35
                              }
                            }
                          }
                        },
                        {
                          "type": "BooleanLiteral",
                          "start": 485,
                          "end": 489,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 37
                            },
                            "end": {
                              "line": 15,
                              "column": 41
                            }
                          },
                          "value": true
                        },
                        {
                          "type": "StringLiteral",
                          "start": 491,
                          "end": 510,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 43
                            },
                            "end": {
                              "line": 15,
                              "column": 62
                            }
                          },
                          "extra": {
                            "rawValue": "Missing parameter",
                            "raw": "\"Missing parameter\""
                          },
                          "value": "Missing parameter"
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 521,
                    "end": 577,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 8
                      },
                      "end": {
                        "line": 16,
                        "column": 64
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 521,
                      "end": 576,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 8
                        },
                        "end": {
                          "line": 16,
                          "column": 63
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 521,
                        "end": 533,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 8
                          },
                          "end": {
                            "line": 16,
                            "column": 20
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 521,
                          "end": 527,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 8
                            },
                            "end": {
                              "line": 16,
                              "column": 14
                            },
                            "identifierName": "assert"
                          },
                          "name": "assert"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 528,
                          "end": 533,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 15
                            },
                            "end": {
                              "line": 16,
                              "column": 20
                            },
                            "identifierName": "equal"
                          },
                          "name": "equal"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "BinaryExpression",
                          "start": 534,
                          "end": 548,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 21
                            },
                            "end": {
                              "line": 16,
                              "column": 35
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 534,
                            "end": 540,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 21
                              },
                              "end": {
                                "line": 16,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 534,
                              "end": 538,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 21
                                },
                                "end": {
                                  "line": 16,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 539,
                              "end": 540,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 26
                                },
                                "end": {
                                  "line": 16,
                                  "column": 27
                                },
                                "identifierName": "s"
                              },
                              "name": "s"
                            },
                            "computed": false
                          },
                          "operator": "!=",
                          "right": {
                            "type": "NullLiteral",
                            "start": 544,
                            "end": 548,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 31
                              },
                              "end": {
                                "line": 16,
                                "column": 35
                              }
                            }
                          }
                        },
                        {
                          "type": "BooleanLiteral",
                          "start": 550,
                          "end": 554,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 37
                            },
                            "end": {
                              "line": 16,
                              "column": 41
                            }
                          },
                          "value": true
                        },
                        {
                          "type": "StringLiteral",
                          "start": 556,
                          "end": 575,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 43
                            },
                            "end": {
                              "line": 16,
                              "column": 62
                            }
                          },
                          "extra": {
                            "rawValue": "Missing parameter",
                            "raw": "\"Missing parameter\""
                          },
                          "value": "Missing parameter"
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 586,
                    "end": 642,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 8
                      },
                      "end": {
                        "line": 17,
                        "column": 64
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 586,
                      "end": 641,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 8
                        },
                        "end": {
                          "line": 17,
                          "column": 63
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 586,
                        "end": 598,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 8
                          },
                          "end": {
                            "line": 17,
                            "column": 20
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 586,
                          "end": 592,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 8
                            },
                            "end": {
                              "line": 17,
                              "column": 14
                            },
                            "identifierName": "assert"
                          },
                          "name": "assert"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 593,
                          "end": 598,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 15
                            },
                            "end": {
                              "line": 17,
                              "column": 20
                            },
                            "identifierName": "equal"
                          },
                          "name": "equal"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "BinaryExpression",
                          "start": 599,
                          "end": 613,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 21
                            },
                            "end": {
                              "line": 17,
                              "column": 35
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 599,
                            "end": 605,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 21
                              },
                              "end": {
                                "line": 17,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 599,
                              "end": 603,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 21
                                },
                                "end": {
                                  "line": 17,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 604,
                              "end": 605,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 26
                                },
                                "end": {
                                  "line": 17,
                                  "column": 27
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "computed": false
                          },
                          "operator": "!=",
                          "right": {
                            "type": "NullLiteral",
                            "start": 609,
                            "end": 613,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 31
                              },
                              "end": {
                                "line": 17,
                                "column": 35
                              }
                            }
                          }
                        },
                        {
                          "type": "BooleanLiteral",
                          "start": 615,
                          "end": 619,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 37
                            },
                            "end": {
                              "line": 17,
                              "column": 41
                            }
                          },
                          "value": true
                        },
                        {
                          "type": "StringLiteral",
                          "start": 621,
                          "end": 640,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 43
                            },
                            "end": {
                              "line": 17,
                              "column": 62
                            }
                          },
                          "extra": {
                            "rawValue": "Missing parameter",
                            "raw": "\"Missing parameter\""
                          },
                          "value": "Missing parameter"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 654,
              "end": 1018,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 4
                },
                "end": {
                  "line": 28,
                  "column": 5
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 661,
                "end": 671,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 11
                  },
                  "end": {
                    "line": 20,
                    "column": 21
                  },
                  "identifierName": "fromBuffer"
                },
                "name": "fromBuffer"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 672,
                  "end": 675,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 22
                    },
                    "end": {
                      "line": 20,
                      "column": 25
                    },
                    "identifierName": "buf"
                  },
                  "name": "buf"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 677,
                "end": 1018,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 27
                  },
                  "end": {
                    "line": 28,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 687,
                    "end": 699,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 8
                      },
                      "end": {
                        "line": 21,
                        "column": 20
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 691,
                        "end": 692,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 12
                          },
                          "end": {
                            "line": 21,
                            "column": 13
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 691,
                          "end": 692,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 12
                            },
                            "end": {
                              "line": 21,
                              "column": 13
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "init": null
                      },
                      {
                        "type": "VariableDeclarator",
                        "start": 694,
                        "end": 695,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 15
                          },
                          "end": {
                            "line": 21,
                            "column": 16
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 694,
                          "end": 695,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 15
                            },
                            "end": {
                              "line": 21,
                              "column": 16
                            },
                            "identifierName": "r"
                          },
                          "name": "r"
                        },
                        "init": null
                      },
                      {
                        "type": "VariableDeclarator",
                        "start": 697,
                        "end": 698,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 18
                          },
                          "end": {
                            "line": 21,
                            "column": 19
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 697,
                          "end": 698,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 18
                            },
                            "end": {
                              "line": 21,
                              "column": 19
                            },
                            "identifierName": "s"
                          },
                          "name": "s"
                        },
                        "init": null
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 708,
                    "end": 765,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 8
                      },
                      "end": {
                        "line": 22,
                        "column": 65
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 708,
                      "end": 764,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 8
                        },
                        "end": {
                          "line": 22,
                          "column": 64
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 708,
                        "end": 720,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 8
                          },
                          "end": {
                            "line": 22,
                            "column": 20
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 708,
                          "end": 714,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 8
                            },
                            "end": {
                              "line": 22,
                              "column": 14
                            },
                            "identifierName": "assert"
                          },
                          "name": "assert"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 715,
                          "end": 720,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 15
                            },
                            "end": {
                              "line": 22,
                              "column": 20
                            },
                            "identifierName": "equal"
                          },
                          "name": "equal"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 721,
                          "end": 731,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 21
                            },
                            "end": {
                              "line": 22,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 721,
                            "end": 724,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 21
                              },
                              "end": {
                                "line": 22,
                                "column": 24
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 725,
                            "end": 731,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 25
                              },
                              "end": {
                                "line": 22,
                                "column": 31
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        {
                          "type": "NumericLiteral",
                          "start": 733,
                          "end": 735,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 33
                            },
                            "end": {
                              "line": 22,
                              "column": 35
                            }
                          },
                          "extra": {
                            "rawValue": 65,
                            "raw": "65"
                          },
                          "value": 65
                        },
                        {
                          "type": "StringLiteral",
                          "start": 737,
                          "end": 763,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 37
                            },
                            "end": {
                              "line": 22,
                              "column": 63
                            }
                          },
                          "extra": {
                            "rawValue": "Invalid signature length",
                            "raw": "\"Invalid signature length\""
                          },
                          "value": "Invalid signature length"
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 774,
                    "end": 795,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 8
                      },
                      "end": {
                        "line": 23,
                        "column": 29
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 774,
                      "end": 794,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 8
                        },
                        "end": {
                          "line": 23,
                          "column": 28
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 774,
                        "end": 775,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 8
                          },
                          "end": {
                            "line": 23,
                            "column": 9
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 778,
                        "end": 794,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 12
                          },
                          "end": {
                            "line": 23,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 778,
                          "end": 791,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 12
                            },
                            "end": {
                              "line": 23,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 778,
                            "end": 781,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 12
                              },
                              "end": {
                                "line": 23,
                                "column": 15
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 782,
                            "end": 791,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 16
                              },
                              "end": {
                                "line": 23,
                                "column": 25
                              },
                              "identifierName": "readUInt8"
                            },
                            "name": "readUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 792,
                            "end": 793,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 26
                              },
                              "end": {
                                "line": 23,
                                "column": 27
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 804,
                    "end": 870,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 8
                      },
                      "end": {
                        "line": 24,
                        "column": 74
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 804,
                      "end": 869,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 73
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 804,
                        "end": 816,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 8
                          },
                          "end": {
                            "line": 24,
                            "column": 20
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 804,
                          "end": 810,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 14
                            },
                            "identifierName": "assert"
                          },
                          "name": "assert"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 811,
                          "end": 816,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 15
                            },
                            "end": {
                              "line": 24,
                              "column": 20
                            },
                            "identifierName": "equal"
                          },
                          "name": "equal"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "BinaryExpression",
                          "start": 817,
                          "end": 823,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 21
                            },
                            "end": {
                              "line": 24,
                              "column": 27
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 817,
                            "end": 818,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 21
                              },
                              "end": {
                                "line": 24,
                                "column": 22
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "operator": "-",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 821,
                            "end": 823,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 25
                              },
                              "end": {
                                "line": 24,
                                "column": 27
                              }
                            },
                            "extra": {
                              "rawValue": 27,
                              "raw": "27"
                            },
                            "value": 27
                          }
                        },
                        {
                          "type": "BinaryExpression",
                          "start": 825,
                          "end": 837,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 29
                            },
                            "end": {
                              "line": 24,
                              "column": 41
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 826,
                            "end": 832,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 30
                              },
                              "end": {
                                "line": 24,
                                "column": 36
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 826,
                              "end": 827,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 30
                                },
                                "end": {
                                  "line": 24,
                                  "column": 31
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "operator": "-",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 830,
                              "end": 832,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 34
                                },
                                "end": {
                                  "line": 24,
                                  "column": 36
                                }
                              },
                              "extra": {
                                "rawValue": 27,
                                "raw": "27"
                              },
                              "value": 27
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 825
                            }
                          },
                          "operator": "&",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 836,
                            "end": 837,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 40
                              },
                              "end": {
                                "line": 24,
                                "column": 41
                              }
                            },
                            "extra": {
                              "rawValue": 7,
                              "raw": "7"
                            },
                            "value": 7
                          }
                        },
                        {
                          "type": "StringLiteral",
                          "start": 839,
                          "end": 868,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 43
                            },
                            "end": {
                              "line": 24,
                              "column": 72
                            }
                          },
                          "extra": {
                            "rawValue": "Invalid signature parameter",
                            "raw": "\"Invalid signature parameter\""
                          },
                          "value": "Invalid signature parameter"
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 879,
                    "end": 923,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 8
                      },
                      "end": {
                        "line": 25,
                        "column": 52
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 879,
                      "end": 922,
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 51
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 879,
                        "end": 880,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 8
                          },
                          "end": {
                            "line": 25,
                            "column": 9
                          },
                          "identifierName": "r"
                        },
                        "name": "r"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 883,
                        "end": 922,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 12
                          },
                          "end": {
                            "line": 25,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 883,
                          "end": 904,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 12
                            },
                            "end": {
                              "line": 25,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 883,
                            "end": 893,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 12
                              },
                              "end": {
                                "line": 25,
                                "column": 22
                              },
                              "identifierName": "BigInteger"
                            },
                            "name": "BigInteger"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 894,
                            "end": 904,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 23
                              },
                              "end": {
                                "line": 25,
                                "column": 33
                              },
                              "identifierName": "fromBuffer"
                            },
                            "name": "fromBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 905,
                            "end": 921,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 34
                              },
                              "end": {
                                "line": 25,
                                "column": 50
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 905,
                              "end": 914,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 34
                                },
                                "end": {
                                  "line": 25,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 905,
                                "end": 908,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 37
                                  },
                                  "identifierName": "buf"
                                },
                                "name": "buf"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 909,
                                "end": 914,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 43
                                  },
                                  "identifierName": "slice"
                                },
                                "name": "slice"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NumericLiteral",
                                "start": 915,
                                "end": 916,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 45
                                  }
                                },
                                "extra": {
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "value": 1
                              },
                              {
                                "type": "NumericLiteral",
                                "start": 918,
                                "end": 920,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 49
                                  }
                                },
                                "extra": {
                                  "rawValue": 33,
                                  "raw": "33"
                                },
                                "value": 33
                              }
                            ]
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 932,
                    "end": 973,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 8
                      },
                      "end": {
                        "line": 26,
                        "column": 49
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 932,
                      "end": 972,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 48
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 932,
                        "end": 933,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 8
                          },
                          "end": {
                            "line": 26,
                            "column": 9
                          },
                          "identifierName": "s"
                        },
                        "name": "s"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 936,
                        "end": 972,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 12
                          },
                          "end": {
                            "line": 26,
                            "column": 48
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 936,
                          "end": 957,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 12
                            },
                            "end": {
                              "line": 26,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 936,
                            "end": 946,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 12
                              },
                              "end": {
                                "line": 26,
                                "column": 22
                              },
                              "identifierName": "BigInteger"
                            },
                            "name": "BigInteger"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 947,
                            "end": 957,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 23
                              },
                              "end": {
                                "line": 26,
                                "column": 33
                              },
                              "identifierName": "fromBuffer"
                            },
                            "name": "fromBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 958,
                            "end": 971,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 34
                              },
                              "end": {
                                "line": 26,
                                "column": 47
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 958,
                              "end": 967,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 34
                                },
                                "end": {
                                  "line": 26,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 958,
                                "end": 961,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 37
                                  },
                                  "identifierName": "buf"
                                },
                                "name": "buf"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 962,
                                "end": 967,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 43
                                  },
                                  "identifierName": "slice"
                                },
                                "name": "slice"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NumericLiteral",
                                "start": 968,
                                "end": 970,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 46
                                  }
                                },
                                "extra": {
                                  "rawValue": 33,
                                  "raw": "33"
                                },
                                "value": 33
                              }
                            ]
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 982,
                    "end": 1012,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 8
                      },
                      "end": {
                        "line": 27,
                        "column": 38
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 989,
                      "end": 1011,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 15
                        },
                        "end": {
                          "line": 27,
                          "column": 37
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 993,
                        "end": 1002,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 19
                          },
                          "end": {
                            "line": 27,
                            "column": 28
                          },
                          "identifierName": "Signature"
                        },
                        "name": "Signature"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 1003,
                          "end": 1004,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 29
                            },
                            "end": {
                              "line": 27,
                              "column": 30
                            },
                            "identifierName": "r"
                          },
                          "name": "r"
                        },
                        {
                          "type": "Identifier",
                          "start": 1006,
                          "end": 1007,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 32
                            },
                            "end": {
                              "line": 27,
                              "column": 33
                            },
                            "identifierName": "s"
                          },
                          "name": "s"
                        },
                        {
                          "type": "Identifier",
                          "start": 1009,
                          "end": 1010,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 35
                            },
                            "end": {
                              "line": 27,
                              "column": 36
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 1024,
              "end": 1231,
              "loc": {
                "start": {
                  "line": 30,
                  "column": 4
                },
                "end": {
                  "line": 37,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1024,
                "end": 1032,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 4
                  },
                  "end": {
                    "line": 30,
                    "column": 12
                  },
                  "identifierName": "toBuffer"
                },
                "name": "toBuffer"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 1035,
                "end": 1231,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 15
                  },
                  "end": {
                    "line": 37,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 1045,
                    "end": 1053,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 8
                      },
                      "end": {
                        "line": 31,
                        "column": 16
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1049,
                        "end": 1052,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 12
                          },
                          "end": {
                            "line": 31,
                            "column": 15
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1049,
                          "end": 1052,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 12
                            },
                            "end": {
                              "line": 31,
                              "column": 15
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        "init": null
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1062,
                    "end": 1085,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 8
                      },
                      "end": {
                        "line": 32,
                        "column": 31
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1062,
                      "end": 1084,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 30
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 1062,
                        "end": 1065,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 8
                          },
                          "end": {
                            "line": 32,
                            "column": 11
                          },
                          "identifierName": "buf"
                        },
                        "name": "buf"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 1068,
                        "end": 1084,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 14
                          },
                          "end": {
                            "line": 32,
                            "column": 30
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1068,
                          "end": 1080,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 14
                            },
                            "end": {
                              "line": 32,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1068,
                            "end": 1074,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 14
                              },
                              "end": {
                                "line": 32,
                                "column": 20
                              },
                              "identifierName": "Buffer"
                            },
                            "name": "Buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1075,
                            "end": 1080,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 21
                              },
                              "end": {
                                "line": 32,
                                "column": 26
                              },
                              "identifierName": "alloc"
                            },
                            "name": "alloc"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 1081,
                            "end": 1083,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 27
                              },
                              "end": {
                                "line": 32,
                                "column": 29
                              }
                            },
                            "extra": {
                              "rawValue": 65,
                              "raw": "65"
                            },
                            "value": 65
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1094,
                    "end": 1120,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 8
                      },
                      "end": {
                        "line": 33,
                        "column": 34
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1094,
                      "end": 1119,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 8
                        },
                        "end": {
                          "line": 33,
                          "column": 33
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1094,
                        "end": 1108,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 8
                          },
                          "end": {
                            "line": 33,
                            "column": 22
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1094,
                          "end": 1097,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 11
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1098,
                          "end": 1108,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 12
                            },
                            "end": {
                              "line": 33,
                              "column": 22
                            },
                            "identifierName": "writeUInt8"
                          },
                          "name": "writeUInt8"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 1109,
                          "end": 1115,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 23
                            },
                            "end": {
                              "line": 33,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1109,
                            "end": 1113,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 23
                              },
                              "end": {
                                "line": 33,
                                "column": 27
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1114,
                            "end": 1115,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 28
                              },
                              "end": {
                                "line": 33,
                                "column": 29
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "computed": false
                        },
                        {
                          "type": "NumericLiteral",
                          "start": 1117,
                          "end": 1118,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 31
                            },
                            "end": {
                              "line": 33,
                              "column": 32
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1129,
                    "end": 1162,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 8
                      },
                      "end": {
                        "line": 34,
                        "column": 41
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1129,
                      "end": 1161,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 40
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1129,
                        "end": 1153,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 8
                          },
                          "end": {
                            "line": 34,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 1129,
                          "end": 1148,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 27
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1129,
                            "end": 1144,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1129,
                              "end": 1135,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 8
                                },
                                "end": {
                                  "line": 34,
                                  "column": 14
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1129,
                                "end": 1133,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1134,
                                "end": 1135,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 14
                                  },
                                  "identifierName": "r"
                                },
                                "name": "r"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1136,
                              "end": 1144,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 15
                                },
                                "end": {
                                  "line": 34,
                                  "column": 23
                                },
                                "identifierName": "toBuffer"
                              },
                              "name": "toBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NumericLiteral",
                              "start": 1145,
                              "end": 1147,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 24
                                },
                                "end": {
                                  "line": 34,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": 32,
                                "raw": "32"
                              },
                              "value": 32
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1149,
                          "end": 1153,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 28
                            },
                            "end": {
                              "line": 34,
                              "column": 32
                            },
                            "identifierName": "copy"
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 1154,
                          "end": 1157,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 33
                            },
                            "end": {
                              "line": 34,
                              "column": 36
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        {
                          "type": "NumericLiteral",
                          "start": 1159,
                          "end": 1160,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 38
                            },
                            "end": {
                              "line": 34,
                              "column": 39
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1171,
                    "end": 1205,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 8
                      },
                      "end": {
                        "line": 35,
                        "column": 42
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1171,
                      "end": 1204,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 41
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1171,
                        "end": 1195,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 1171,
                          "end": 1190,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 27
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1171,
                            "end": 1186,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1171,
                              "end": 1177,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 8
                                },
                                "end": {
                                  "line": 35,
                                  "column": 14
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1171,
                                "end": 1175,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1176,
                                "end": 1177,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 14
                                  },
                                  "identifierName": "s"
                                },
                                "name": "s"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1178,
                              "end": 1186,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 15
                                },
                                "end": {
                                  "line": 35,
                                  "column": 23
                                },
                                "identifierName": "toBuffer"
                              },
                              "name": "toBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NumericLiteral",
                              "start": 1187,
                              "end": 1189,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 24
                                },
                                "end": {
                                  "line": 35,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": 32,
                                "raw": "32"
                              },
                              "value": 32
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1191,
                          "end": 1195,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 28
                            },
                            "end": {
                              "line": 35,
                              "column": 32
                            },
                            "identifierName": "copy"
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 1196,
                          "end": 1199,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 33
                            },
                            "end": {
                              "line": 35,
                              "column": 36
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        {
                          "type": "NumericLiteral",
                          "start": 1201,
                          "end": 1203,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 38
                            },
                            "end": {
                              "line": 35,
                              "column": 40
                            }
                          },
                          "extra": {
                            "rawValue": 33,
                            "raw": "33"
                          },
                          "value": 33
                        }
                      ]
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 1214,
                    "end": 1225,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 8
                      },
                      "end": {
                        "line": 36,
                        "column": 19
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 1221,
                      "end": 1224,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 15
                        },
                        "end": {
                          "line": 36,
                          "column": 18
                        },
                        "identifierName": "buf"
                      },
                      "name": "buf"
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 1237,
              "end": 1333,
              "loc": {
                "start": {
                  "line": 39,
                  "column": 4
                },
                "end": {
                  "line": 41,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1237,
                "end": 1263,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 4
                  },
                  "end": {
                    "line": 39,
                    "column": 30
                  },
                  "identifierName": "recoverPublicKeyFromBuffer"
                },
                "name": "recoverPublicKeyFromBuffer"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1264,
                  "end": 1270,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 31
                    },
                    "end": {
                      "line": 39,
                      "column": 37
                    },
                    "identifierName": "buffer"
                  },
                  "name": "buffer"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1272,
                "end": 1333,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 39
                  },
                  "end": {
                    "line": 41,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 1282,
                    "end": 1327,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 8
                      },
                      "end": {
                        "line": 40,
                        "column": 53
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 1289,
                      "end": 1326,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 15
                        },
                        "end": {
                          "line": 40,
                          "column": 52
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1289,
                        "end": 1310,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 15
                          },
                          "end": {
                            "line": 40,
                            "column": 36
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1289,
                          "end": 1293,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 15
                            },
                            "end": {
                              "line": 40,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1294,
                          "end": 1310,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 20
                            },
                            "end": {
                              "line": 40,
                              "column": 36
                            },
                            "identifierName": "recoverPublicKey"
                          },
                          "name": "recoverPublicKey"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 1311,
                          "end": 1325,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 37
                            },
                            "end": {
                              "line": 40,
                              "column": 51
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1311,
                            "end": 1317,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 37
                              },
                              "end": {
                                "line": 40,
                                "column": 43
                              },
                              "identifierName": "sha256"
                            },
                            "name": "sha256"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1318,
                              "end": 1324,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 44
                                },
                                "end": {
                                  "line": 40,
                                  "column": 50
                                },
                                "identifierName": "buffer"
                              },
                              "name": "buffer"
                            }
                          ]
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n        @return {PublicKey}\n    ",
                  "start": 1339,
                  "end": 1377,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 4
                    },
                    "end": {
                      "line": 45,
                      "column": 6
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 1382,
              "end": 1637,
              "loc": {
                "start": {
                  "line": 46,
                  "column": 4
                },
                "end": {
                  "line": 54,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1382,
                "end": 1398,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 4
                  },
                  "end": {
                    "line": 46,
                    "column": 20
                  },
                  "identifierName": "recoverPublicKey"
                },
                "name": "recoverPublicKey",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1399,
                  "end": 1412,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 21
                    },
                    "end": {
                      "line": 46,
                      "column": 34
                    },
                    "identifierName": "sha256_buffer"
                  },
                  "name": "sha256_buffer"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1414,
                "end": 1637,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 36
                  },
                  "end": {
                    "line": 54,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 1424,
                    "end": 1436,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 8
                      },
                      "end": {
                        "line": 47,
                        "column": 20
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1428,
                        "end": 1429,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 12
                          },
                          "end": {
                            "line": 47,
                            "column": 13
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1428,
                          "end": 1429,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 12
                            },
                            "end": {
                              "line": 47,
                              "column": 13
                            },
                            "identifierName": "Q"
                          },
                          "name": "Q"
                        },
                        "init": null
                      },
                      {
                        "type": "VariableDeclarator",
                        "start": 1431,
                        "end": 1432,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 15
                          },
                          "end": {
                            "line": 47,
                            "column": 16
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1431,
                          "end": 1432,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 15
                            },
                            "end": {
                              "line": 47,
                              "column": 16
                            },
                            "identifierName": "e"
                          },
                          "name": "e"
                        },
                        "init": null
                      },
                      {
                        "type": "VariableDeclarator",
                        "start": 1434,
                        "end": 1435,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 18
                          },
                          "end": {
                            "line": 47,
                            "column": 19
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1434,
                          "end": 1435,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 18
                            },
                            "end": {
                              "line": 47,
                              "column": 19
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "init": null
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1445,
                    "end": 1486,
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 8
                      },
                      "end": {
                        "line": 48,
                        "column": 49
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1445,
                      "end": 1485,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 48
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 1445,
                        "end": 1446,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 8
                          },
                          "end": {
                            "line": 48,
                            "column": 9
                          },
                          "identifierName": "e"
                        },
                        "name": "e"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 1449,
                        "end": 1485,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 12
                          },
                          "end": {
                            "line": 48,
                            "column": 48
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1449,
                          "end": 1470,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 12
                            },
                            "end": {
                              "line": 48,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1449,
                            "end": 1459,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 12
                              },
                              "end": {
                                "line": 48,
                                "column": 22
                              },
                              "identifierName": "BigInteger"
                            },
                            "name": "BigInteger"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1460,
                            "end": 1470,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 23
                              },
                              "end": {
                                "line": 48,
                                "column": 33
                              },
                              "identifierName": "fromBuffer"
                            },
                            "name": "fromBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1471,
                            "end": 1484,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 34
                              },
                              "end": {
                                "line": 48,
                                "column": 47
                              },
                              "identifierName": "sha256_buffer"
                            },
                            "name": "sha256_buffer"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1495,
                    "end": 1506,
                    "loc": {
                      "start": {
                        "line": 49,
                        "column": 8
                      },
                      "end": {
                        "line": 49,
                        "column": 19
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1495,
                      "end": 1505,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 18
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 1495,
                        "end": 1496,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 9
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "right": {
                        "type": "MemberExpression",
                        "start": 1499,
                        "end": 1505,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 12
                          },
                          "end": {
                            "line": 49,
                            "column": 18
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1499,
                          "end": 1503,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 12
                            },
                            "end": {
                              "line": 49,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1504,
                          "end": 1505,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 17
                            },
                            "end": {
                              "line": 49,
                              "column": 18
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "computed": false
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1515,
                    "end": 1523,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 8
                      },
                      "end": {
                        "line": 50,
                        "column": 16
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1515,
                      "end": 1522,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 8
                        },
                        "end": {
                          "line": 50,
                          "column": 15
                        }
                      },
                      "operator": "-=",
                      "left": {
                        "type": "Identifier",
                        "start": 1515,
                        "end": 1516,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 8
                          },
                          "end": {
                            "line": 50,
                            "column": 9
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "right": {
                        "type": "NumericLiteral",
                        "start": 1520,
                        "end": 1522,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 13
                          },
                          "end": {
                            "line": 50,
                            "column": 15
                          }
                        },
                        "extra": {
                          "rawValue": 27,
                          "raw": "27"
                        },
                        "value": 27
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1532,
                    "end": 1542,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 8
                      },
                      "end": {
                        "line": 51,
                        "column": 18
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1532,
                      "end": 1541,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 51,
                          "column": 17
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 1532,
                        "end": 1533,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 9
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "right": {
                        "type": "BinaryExpression",
                        "start": 1536,
                        "end": 1541,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 12
                          },
                          "end": {
                            "line": 51,
                            "column": 17
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1536,
                          "end": 1537,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 12
                            },
                            "end": {
                              "line": 51,
                              "column": 13
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "operator": "&",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 1540,
                          "end": 1541,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 16
                            },
                            "end": {
                              "line": 51,
                              "column": 17
                            }
                          },
                          "extra": {
                            "rawValue": 3,
                            "raw": "3"
                          },
                          "value": 3
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1551,
                    "end": 1592,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 8
                      },
                      "end": {
                        "line": 52,
                        "column": 49
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1551,
                      "end": 1591,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 48
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 1551,
                        "end": 1552,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 9
                          },
                          "identifierName": "Q"
                        },
                        "name": "Q"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 1555,
                        "end": 1591,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 12
                          },
                          "end": {
                            "line": 52,
                            "column": 48
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 1555,
                          "end": 1568,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 12
                            },
                            "end": {
                              "line": 52,
                              "column": 25
                            },
                            "identifierName": "recoverPubKey"
                          },
                          "name": "recoverPubKey"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1569,
                            "end": 1578,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 26
                              },
                              "end": {
                                "line": 52,
                                "column": 35
                              },
                              "identifierName": "secp256k1"
                            },
                            "name": "secp256k1"
                          },
                          {
                            "type": "Identifier",
                            "start": 1580,
                            "end": 1581,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 37
                              },
                              "end": {
                                "line": 52,
                                "column": 38
                              },
                              "identifierName": "e"
                            },
                            "name": "e"
                          },
                          {
                            "type": "ThisExpression",
                            "start": 1583,
                            "end": 1587,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 40
                              },
                              "end": {
                                "line": 52,
                                "column": 44
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "start": 1589,
                            "end": 1590,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 46
                              },
                              "end": {
                                "line": 52,
                                "column": 47
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 1601,
                    "end": 1631,
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 8
                      },
                      "end": {
                        "line": 53,
                        "column": 38
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 1608,
                      "end": 1630,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 15
                        },
                        "end": {
                          "line": 53,
                          "column": 37
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1608,
                        "end": 1627,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 15
                          },
                          "end": {
                            "line": 53,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1608,
                          "end": 1617,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 15
                            },
                            "end": {
                              "line": 53,
                              "column": 24
                            },
                            "identifierName": "PublicKey"
                          },
                          "name": "PublicKey"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1618,
                          "end": 1627,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 25
                            },
                            "end": {
                              "line": 53,
                              "column": 34
                            },
                            "identifierName": "fromPoint"
                          },
                          "name": "fromPoint"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 1628,
                          "end": 1629,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 35
                            },
                            "end": {
                              "line": 53,
                              "column": 36
                            },
                            "identifierName": "Q"
                          },
                          "name": "Q"
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n        @return {PublicKey}\n    ",
                  "start": 1339,
                  "end": 1377,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 4
                    },
                    "end": {
                      "line": 45,
                      "column": 6
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n        @param {Buffer} buf\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
                  "start": 1643,
                  "end": 1749,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 4
                    },
                    "end": {
                      "line": 60,
                      "column": 6
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 1754,
              "end": 1893,
              "loc": {
                "start": {
                  "line": 61,
                  "column": 4
                },
                "end": {
                  "line": 64,
                  "column": 5
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1761,
                "end": 1771,
                "loc": {
                  "start": {
                    "line": 61,
                    "column": 11
                  },
                  "end": {
                    "line": 61,
                    "column": 21
                  },
                  "identifierName": "signBuffer"
                },
                "name": "signBuffer"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1772,
                  "end": 1775,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 22
                    },
                    "end": {
                      "line": 61,
                      "column": 25
                    },
                    "identifierName": "buf"
                  },
                  "name": "buf"
                },
                {
                  "type": "Identifier",
                  "start": 1777,
                  "end": 1788,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 27
                    },
                    "end": {
                      "line": 61,
                      "column": 38
                    },
                    "identifierName": "private_key"
                  },
                  "name": "private_key"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1790,
                "end": 1893,
                "loc": {
                  "start": {
                    "line": 61,
                    "column": 40
                  },
                  "end": {
                    "line": 64,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 1800,
                    "end": 1824,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 8
                      },
                      "end": {
                        "line": 62,
                        "column": 32
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1804,
                        "end": 1823,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 12
                          },
                          "end": {
                            "line": 62,
                            "column": 31
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1804,
                          "end": 1809,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 12
                            },
                            "end": {
                              "line": 62,
                              "column": 17
                            },
                            "identifierName": "_hash"
                          },
                          "name": "_hash"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1812,
                          "end": 1823,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 20
                            },
                            "end": {
                              "line": 62,
                              "column": 31
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1812,
                            "end": 1818,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 20
                              },
                              "end": {
                                "line": 62,
                                "column": 26
                              },
                              "identifierName": "sha256"
                            },
                            "name": "sha256"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1819,
                              "end": 1822,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 27
                                },
                                "end": {
                                  "line": 62,
                                  "column": 30
                                },
                                "identifierName": "buf"
                              },
                              "name": "buf"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 1833,
                    "end": 1887,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 8
                      },
                      "end": {
                        "line": 63,
                        "column": 62
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 1840,
                      "end": 1886,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 15
                        },
                        "end": {
                          "line": 63,
                          "column": 61
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1840,
                        "end": 1866,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 15
                          },
                          "end": {
                            "line": 63,
                            "column": 41
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1840,
                          "end": 1849,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 15
                            },
                            "end": {
                              "line": 63,
                              "column": 24
                            },
                            "identifierName": "Signature"
                          },
                          "name": "Signature"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1850,
                          "end": 1866,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 25
                            },
                            "end": {
                              "line": 63,
                              "column": 41
                            },
                            "identifierName": "signBufferSha256"
                          },
                          "name": "signBufferSha256"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 1867,
                          "end": 1872,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 42
                            },
                            "end": {
                              "line": 63,
                              "column": 47
                            },
                            "identifierName": "_hash"
                          },
                          "name": "_hash"
                        },
                        {
                          "type": "Identifier",
                          "start": 1874,
                          "end": 1885,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 49
                            },
                            "end": {
                              "line": 63,
                              "column": 60
                            },
                            "identifierName": "private_key"
                          },
                          "name": "private_key"
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n        @param {Buffer} buf\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
                  "start": 1643,
                  "end": 1749,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 4
                    },
                    "end": {
                      "line": 60,
                      "column": 6
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "* Sign a buffer of exactally 32 bytes in size (sha256(text))\n        @param {Buffer} buf - 32 bytes binary\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
                  "start": 1899,
                  "end": 2082,
                  "loc": {
                    "start": {
                      "line": 66,
                      "column": 4
                    },
                    "end": {
                      "line": 70,
                      "column": 6
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 2087,
              "end": 3277,
              "loc": {
                "start": {
                  "line": 71,
                  "column": 4
                },
                "end": {
                  "line": 101,
                  "column": 5
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2094,
                "end": 2110,
                "loc": {
                  "start": {
                    "line": 71,
                    "column": 11
                  },
                  "end": {
                    "line": 71,
                    "column": 27
                  },
                  "identifierName": "signBufferSha256"
                },
                "name": "signBufferSha256"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 2111,
                  "end": 2121,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 28
                    },
                    "end": {
                      "line": 71,
                      "column": 38
                    },
                    "identifierName": "buf_sha256"
                  },
                  "name": "buf_sha256"
                },
                {
                  "type": "Identifier",
                  "start": 2123,
                  "end": 2134,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 40
                    },
                    "end": {
                      "line": 71,
                      "column": 51
                    },
                    "identifierName": "private_key"
                  },
                  "name": "private_key"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 2136,
                "end": 3277,
                "loc": {
                  "start": {
                    "line": 71,
                    "column": 53
                  },
                  "end": {
                    "line": 101,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 2146,
                    "end": 2274,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 8
                      },
                      "end": {
                        "line": 73,
                        "column": 66
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 2150,
                      "end": 2206,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 12
                        },
                        "end": {
                          "line": 72,
                          "column": 68
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 2150,
                        "end": 2174,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 12
                          },
                          "end": {
                            "line": 72,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2150,
                          "end": 2167,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 12
                            },
                            "end": {
                              "line": 72,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2150,
                            "end": 2160,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 12
                              },
                              "end": {
                                "line": 72,
                                "column": 22
                              },
                              "identifierName": "buf_sha256"
                            },
                            "name": "buf_sha256"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2161,
                            "end": 2167,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 23
                              },
                              "end": {
                                "line": 72,
                                "column": 29
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "operator": "!==",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 2172,
                          "end": 2174,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 34
                            },
                            "end": {
                              "line": 72,
                              "column": 36
                            }
                          },
                          "extra": {
                            "rawValue": 32,
                            "raw": "32"
                          },
                          "value": 32
                        }
                      },
                      "operator": "||",
                      "right": {
                        "type": "UnaryExpression",
                        "start": 2178,
                        "end": 2206,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 40
                          },
                          "end": {
                            "line": 72,
                            "column": 68
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 2179,
                          "end": 2206,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 41
                            },
                            "end": {
                              "line": 72,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2179,
                            "end": 2194,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 41
                              },
                              "end": {
                                "line": 72,
                                "column": 56
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2179,
                              "end": 2185,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 41
                                },
                                "end": {
                                  "line": 72,
                                  "column": 47
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2186,
                              "end": 2194,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 48
                                },
                                "end": {
                                  "line": 72,
                                  "column": 56
                                },
                                "identifierName": "isBuffer"
                              },
                              "name": "isBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2195,
                              "end": 2205,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 57
                                },
                                "end": {
                                  "line": 72,
                                  "column": 67
                                },
                                "identifierName": "buf_sha256"
                              },
                              "name": "buf_sha256"
                            }
                          ]
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      }
                    },
                    "consequent": {
                      "type": "ThrowStatement",
                      "start": 2220,
                      "end": 2274,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 12
                        },
                        "end": {
                          "line": 73,
                          "column": 66
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 2226,
                        "end": 2273,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 18
                          },
                          "end": {
                            "line": 73,
                            "column": 65
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2230,
                          "end": 2235,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 22
                            },
                            "end": {
                              "line": 73,
                              "column": 27
                            },
                            "identifierName": "Error"
                          },
                          "name": "Error"
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 2236,
                            "end": 2272,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 28
                              },
                              "end": {
                                "line": 73,
                                "column": 64
                              }
                            },
                            "extra": {
                              "rawValue": "buf_sha256: 32 byte buffer requred",
                              "raw": "\"buf_sha256: 32 byte buffer requred\""
                            },
                            "value": "buf_sha256: 32 byte buffer requred"
                          }
                        ]
                      }
                    },
                    "alternate": null
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 2283,
                    "end": 2329,
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 8
                      },
                      "end": {
                        "line": 74,
                        "column": 54
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 2287,
                        "end": 2290,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 12
                          },
                          "end": {
                            "line": 74,
                            "column": 15
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2287,
                          "end": 2290,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 12
                            },
                            "end": {
                              "line": 74,
                              "column": 15
                            },
                            "identifierName": "der"
                          },
                          "name": "der"
                        },
                        "init": null
                      },
                      {
                        "type": "VariableDeclarator",
                        "start": 2292,
                        "end": 2293,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 17
                          },
                          "end": {
                            "line": 74,
                            "column": 18
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2292,
                          "end": 2293,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 17
                            },
                            "end": {
                              "line": 74,
                              "column": 18
                            },
                            "identifierName": "e"
                          },
                          "name": "e"
                        },
                        "init": null
                      },
                      {
                        "type": "VariableDeclarator",
                        "start": 2295,
                        "end": 2306,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 20
                          },
                          "end": {
                            "line": 74,
                            "column": 31
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2295,
                          "end": 2306,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 20
                            },
                            "end": {
                              "line": 74,
                              "column": 31
                            },
                            "identifierName": "ecsignature"
                          },
                          "name": "ecsignature"
                        },
                        "init": null
                      },
                      {
                        "type": "VariableDeclarator",
                        "start": 2308,
                        "end": 2309,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 33
                          },
                          "end": {
                            "line": 74,
                            "column": 34
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2308,
                          "end": 2309,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 33
                            },
                            "end": {
                              "line": 74,
                              "column": 34
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "init": null
                      },
                      {
                        "type": "VariableDeclarator",
                        "start": 2311,
                        "end": 2315,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 36
                          },
                          "end": {
                            "line": 74,
                            "column": 40
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2311,
                          "end": 2315,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 36
                            },
                            "end": {
                              "line": 74,
                              "column": 40
                            },
                            "identifierName": "lenR"
                          },
                          "name": "lenR"
                        },
                        "init": null
                      },
                      {
                        "type": "VariableDeclarator",
                        "start": 2317,
                        "end": 2321,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 42
                          },
                          "end": {
                            "line": 74,
                            "column": 46
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2317,
                          "end": 2321,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 42
                            },
                            "end": {
                              "line": 74,
                              "column": 46
                            },
                            "identifierName": "lenS"
                          },
                          "name": "lenS"
                        },
                        "init": null
                      },
                      {
                        "type": "VariableDeclarator",
                        "start": 2323,
                        "end": 2328,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 48
                          },
                          "end": {
                            "line": 74,
                            "column": 53
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2323,
                          "end": 2328,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 48
                            },
                            "end": {
                              "line": 74,
                              "column": 53
                            },
                            "identifierName": "nonce"
                          },
                          "name": "nonce"
                        },
                        "init": null
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2338,
                    "end": 2347,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 8
                      },
                      "end": {
                        "line": 75,
                        "column": 17
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2338,
                      "end": 2346,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 16
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 2338,
                        "end": 2339,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 9
                          },
                          "identifierName": "i"
                        },
                        "name": "i"
                      },
                      "right": {
                        "type": "NullLiteral",
                        "start": 2342,
                        "end": 2346,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 12
                          },
                          "end": {
                            "line": 75,
                            "column": 16
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2356,
                    "end": 2366,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 8
                      },
                      "end": {
                        "line": 76,
                        "column": 18
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2356,
                      "end": 2365,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 17
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 2356,
                        "end": 2361,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 8
                          },
                          "end": {
                            "line": 76,
                            "column": 13
                          },
                          "identifierName": "nonce"
                        },
                        "name": "nonce"
                      },
                      "right": {
                        "type": "NumericLiteral",
                        "start": 2364,
                        "end": 2365,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 16
                          },
                          "end": {
                            "line": 76,
                            "column": 17
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2375,
                    "end": 2413,
                    "loc": {
                      "start": {
                        "line": 77,
                        "column": 8
                      },
                      "end": {
                        "line": 77,
                        "column": 46
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2375,
                      "end": 2412,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 8
                        },
                        "end": {
                          "line": 77,
                          "column": 45
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 2375,
                        "end": 2376,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 8
                          },
                          "end": {
                            "line": 77,
                            "column": 9
                          },
                          "identifierName": "e"
                        },
                        "name": "e"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 2379,
                        "end": 2412,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 12
                          },
                          "end": {
                            "line": 77,
                            "column": 45
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2379,
                          "end": 2400,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 12
                            },
                            "end": {
                              "line": 77,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2379,
                            "end": 2389,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 12
                              },
                              "end": {
                                "line": 77,
                                "column": 22
                              },
                              "identifierName": "BigInteger"
                            },
                            "name": "BigInteger"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2390,
                            "end": 2400,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 23
                              },
                              "end": {
                                "line": 77,
                                "column": 33
                              },
                              "identifierName": "fromBuffer"
                            },
                            "name": "fromBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2401,
                            "end": 2411,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 34
                              },
                              "end": {
                                "line": 77,
                                "column": 44
                              },
                              "identifierName": "buf_sha256"
                            },
                            "name": "buf_sha256"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "WhileStatement",
                    "start": 2422,
                    "end": 3208,
                    "loc": {
                      "start": {
                        "line": 78,
                        "column": 8
                      },
                      "end": {
                        "line": 99,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "BooleanLiteral",
                      "start": 2429,
                      "end": 2433,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 15
                        },
                        "end": {
                          "line": 78,
                          "column": 19
                        }
                      },
                      "value": true
                    },
                    "body": {
                      "type": "BlockStatement",
                      "start": 2435,
                      "end": 3208,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 21
                        },
                        "end": {
                          "line": 99,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 2449,
                          "end": 2515,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 12
                            },
                            "end": {
                              "line": 79,
                              "column": 78
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 2449,
                            "end": 2514,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 12
                              },
                              "end": {
                                "line": 79,
                                "column": 77
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 2449,
                              "end": 2460,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 12
                                },
                                "end": {
                                  "line": 79,
                                  "column": 23
                                },
                                "identifierName": "ecsignature"
                              },
                              "name": "ecsignature"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 2463,
                              "end": 2514,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 26
                                },
                                "end": {
                                  "line": 79,
                                  "column": 77
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 2463,
                                "end": 2467,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 30
                                  },
                                  "identifierName": "sign"
                                },
                                "name": "sign"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 2468,
                                  "end": 2477,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 40
                                    },
                                    "identifierName": "secp256k1"
                                  },
                                  "name": "secp256k1"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 2479,
                                  "end": 2489,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 52
                                    },
                                    "identifierName": "buf_sha256"
                                  },
                                  "name": "buf_sha256"
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 2491,
                                  "end": 2504,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 67
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2491,
                                    "end": 2502,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 65
                                      },
                                      "identifierName": "private_key"
                                    },
                                    "name": "private_key"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2503,
                                    "end": 2504,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 67
                                      },
                                      "identifierName": "d"
                                    },
                                    "name": "d"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "UpdateExpression",
                                  "start": 2506,
                                  "end": 2513,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 76
                                    }
                                  },
                                  "operator": "++",
                                  "prefix": false,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 2506,
                                    "end": 2511,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 69
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 74
                                      },
                                      "identifierName": "nonce"
                                    },
                                    "name": "nonce"
                                  }
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 2528,
                          "end": 2554,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 12
                            },
                            "end": {
                              "line": 80,
                              "column": 38
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 2528,
                            "end": 2553,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 12
                              },
                              "end": {
                                "line": 80,
                                "column": 37
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 2528,
                              "end": 2531,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 12
                                },
                                "end": {
                                  "line": 80,
                                  "column": 15
                                },
                                "identifierName": "der"
                              },
                              "name": "der"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 2534,
                              "end": 2553,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 18
                                },
                                "end": {
                                  "line": 80,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2534,
                                "end": 2551,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2534,
                                  "end": 2545,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 29
                                    },
                                    "identifierName": "ecsignature"
                                  },
                                  "name": "ecsignature"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2546,
                                  "end": 2551,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 35
                                    },
                                    "identifierName": "toDER"
                                  },
                                  "name": "toDER"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 2567,
                          "end": 2581,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 12
                            },
                            "end": {
                              "line": 81,
                              "column": 26
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 2567,
                            "end": 2580,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 12
                              },
                              "end": {
                                "line": 81,
                                "column": 25
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 2567,
                              "end": 2571,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 12
                                },
                                "end": {
                                  "line": 81,
                                  "column": 16
                                },
                                "identifierName": "lenR"
                              },
                              "name": "lenR"
                            },
                            "right": {
                              "type": "MemberExpression",
                              "start": 2574,
                              "end": 2580,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 19
                                },
                                "end": {
                                  "line": 81,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2574,
                                "end": 2577,
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 22
                                  },
                                  "identifierName": "der"
                                },
                                "name": "der"
                              },
                              "property": {
                                "type": "NumericLiteral",
                                "start": 2578,
                                "end": 2579,
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 24
                                  }
                                },
                                "extra": {
                                  "rawValue": 3,
                                  "raw": "3"
                                },
                                "value": 3
                              },
                              "computed": true
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 2594,
                          "end": 2615,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 12
                            },
                            "end": {
                              "line": 82,
                              "column": 33
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 2594,
                            "end": 2614,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 12
                              },
                              "end": {
                                "line": 82,
                                "column": 32
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 2594,
                              "end": 2598,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 12
                                },
                                "end": {
                                  "line": 82,
                                  "column": 16
                                },
                                "identifierName": "lenS"
                              },
                              "name": "lenS"
                            },
                            "right": {
                              "type": "MemberExpression",
                              "start": 2601,
                              "end": 2614,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 19
                                },
                                "end": {
                                  "line": 82,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2601,
                                "end": 2604,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 22
                                  },
                                  "identifierName": "der"
                                },
                                "name": "der"
                              },
                              "property": {
                                "type": "BinaryExpression",
                                "start": 2605,
                                "end": 2613,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 31
                                  }
                                },
                                "left": {
                                  "type": "NumericLiteral",
                                  "start": 2605,
                                  "end": 2606,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 24
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 5,
                                    "raw": "5"
                                  },
                                  "value": 5
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Identifier",
                                  "start": 2609,
                                  "end": 2613,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 31
                                    },
                                    "identifierName": "lenR"
                                  },
                                  "name": "lenR"
                                }
                              },
                              "computed": true
                            }
                          }
                        },
                        {
                          "type": "IfStatement",
                          "start": 2628,
                          "end": 3021,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 12
                            },
                            "end": {
                              "line": 93,
                              "column": 13
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 2632,
                            "end": 2658,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 16
                              },
                              "end": {
                                "line": 83,
                                "column": 42
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 2632,
                              "end": 2643,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 16
                                },
                                "end": {
                                  "line": 83,
                                  "column": 27
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 2632,
                                "end": 2636,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 20
                                  },
                                  "identifierName": "lenR"
                                },
                                "name": "lenR"
                              },
                              "operator": "===",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 2641,
                                "end": 2643,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 27
                                  }
                                },
                                "extra": {
                                  "rawValue": 32,
                                  "raw": "32"
                                },
                                "value": 32
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 2647,
                              "end": 2658,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 31
                                },
                                "end": {
                                  "line": 83,
                                  "column": 42
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 2647,
                                "end": 2651,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 35
                                  },
                                  "identifierName": "lenS"
                                },
                                "name": "lenS"
                              },
                              "operator": "===",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 2656,
                                "end": 2658,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 42
                                  }
                                },
                                "extra": {
                                  "rawValue": 32,
                                  "raw": "32"
                                },
                                "value": 32
                              }
                            }
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 2660,
                            "end": 3021,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 44
                              },
                              "end": {
                                "line": 93,
                                "column": 13
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 2678,
                                "end": 2860,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 89,
                                    "column": 18
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 2678,
                                  "end": 2859,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 17
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2678,
                                    "end": 2679,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 17
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 2682,
                                    "end": 2859,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 17
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 2682,
                                      "end": 2705,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 43
                                        },
                                        "identifierName": "calcPubKeyRecoveryParam"
                                      },
                                      "name": "calcPubKeyRecoveryParam"
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 2727,
                                        "end": 2736,
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 29
                                          },
                                          "identifierName": "secp256k1"
                                        },
                                        "name": "secp256k1"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 2758,
                                        "end": 2759,
                                        "loc": {
                                          "start": {
                                            "line": 86,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 86,
                                            "column": 21
                                          },
                                          "identifierName": "e"
                                        },
                                        "name": "e"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 2781,
                                        "end": 2792,
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 31
                                          },
                                          "identifierName": "ecsignature"
                                        },
                                        "name": "ecsignature"
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 2814,
                                        "end": 2841,
                                        "loc": {
                                          "start": {
                                            "line": 88,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 88,
                                            "column": 47
                                          }
                                        },
                                        "object": {
                                          "type": "CallExpression",
                                          "start": 2814,
                                          "end": 2839,
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 45
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 2814,
                                            "end": 2837,
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 43
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2814,
                                              "end": 2825,
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 31
                                                },
                                                "identifierName": "private_key"
                                              },
                                              "name": "private_key"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2826,
                                              "end": 2837,
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 43
                                                },
                                                "identifierName": "toPublicKey"
                                              },
                                              "name": "toPublicKey"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2840,
                                          "end": 2841,
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 47
                                            },
                                            "identifierName": "Q"
                                          },
                                          "name": "Q"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 2877,
                                "end": 2884,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 23
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 2877,
                                  "end": 2883,
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 22
                                    }
                                  },
                                  "operator": "+=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2877,
                                    "end": 2878,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 17
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "right": {
                                    "type": "NumericLiteral",
                                    "start": 2882,
                                    "end": 2883,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 22
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 4,
                                      "raw": "4"
                                    },
                                    "value": 4
                                  }
                                },
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " compressed",
                                    "start": 2885,
                                    "end": 2898,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 37
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 2915,
                                "end": 2923,
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 24
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 2915,
                                  "end": 2922,
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 23
                                    }
                                  },
                                  "operator": "+=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2915,
                                    "end": 2916,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 17
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i",
                                    "leadingComments": null
                                  },
                                  "right": {
                                    "type": "NumericLiteral",
                                    "start": 2920,
                                    "end": 2922,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 23
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 27,
                                      "raw": "27"
                                    },
                                    "value": 27
                                  },
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " compressed",
                                    "start": 2885,
                                    "end": 2898,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 37
                                      }
                                    }
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " compact  //  24 or 27 :( forcing odd-y 2nd key candidate)",
                                    "start": 2924,
                                    "end": 2984,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 85
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "BreakStatement",
                                "start": 3001,
                                "end": 3007,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 22
                                  }
                                },
                                "label": null,
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " compact  //  24 or 27 :( forcing odd-y 2nd key candidate)",
                                    "start": 2924,
                                    "end": 2984,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 85
                                      }
                                    }
                                  }
                                ]
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null
                        },
                        {
                          "type": "IfStatement",
                          "start": 3034,
                          "end": 3198,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 12
                            },
                            "end": {
                              "line": 98,
                              "column": 13
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 3038,
                            "end": 3054,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 16
                              },
                              "end": {
                                "line": 94,
                                "column": 32
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 3038,
                              "end": 3048,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 16
                                },
                                "end": {
                                  "line": 94,
                                  "column": 26
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 3038,
                                "end": 3043,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 21
                                  },
                                  "identifierName": "nonce"
                                },
                                "name": "nonce"
                              },
                              "operator": "%",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 3046,
                                "end": 3048,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 26
                                  }
                                },
                                "extra": {
                                  "rawValue": 10,
                                  "raw": "10"
                                },
                                "value": 10
                              }
                            },
                            "operator": "===",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 3053,
                              "end": 3054,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 31
                                },
                                "end": {
                                  "line": 94,
                                  "column": 32
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 3056,
                            "end": 3198,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 34
                              },
                              "end": {
                                "line": 98,
                                "column": 13
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 3074,
                                "end": 3184,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 18
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 3074,
                                  "end": 3183,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 17
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3074,
                                    "end": 3085,
                                    "loc": {
                                      "start": {
                                        "line": 95,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 95,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3074,
                                      "end": 3081,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 23
                                        },
                                        "identifierName": "console"
                                      },
                                      "name": "console"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3082,
                                      "end": 3085,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 27
                                        },
                                        "identifierName": "log"
                                      },
                                      "name": "log"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "BinaryExpression",
                                      "start": 3107,
                                      "end": 3165,
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 78
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 3107,
                                        "end": 3123,
                                        "loc": {
                                          "start": {
                                            "line": 96,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 96,
                                            "column": 36
                                          }
                                        },
                                        "left": {
                                          "type": "StringLiteral",
                                          "start": 3107,
                                          "end": 3115,
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 28
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "WARN: ",
                                            "raw": "\"WARN: \""
                                          },
                                          "value": "WARN: "
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 3118,
                                          "end": 3123,
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 36
                                            },
                                            "identifierName": "nonce"
                                          },
                                          "name": "nonce"
                                        }
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "StringLiteral",
                                        "start": 3126,
                                        "end": 3165,
                                        "loc": {
                                          "start": {
                                            "line": 96,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 96,
                                            "column": 78
                                          }
                                        },
                                        "extra": {
                                          "rawValue": " attempts to find canonical signature",
                                          "raw": "\" attempts to find canonical signature\""
                                        },
                                        "value": " attempts to find canonical signature"
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null
                        }
                      ],
                      "directives": []
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 3217,
                    "end": 3271,
                    "loc": {
                      "start": {
                        "line": 100,
                        "column": 8
                      },
                      "end": {
                        "line": 100,
                        "column": 62
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 3224,
                      "end": 3270,
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 15
                        },
                        "end": {
                          "line": 100,
                          "column": 61
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 3228,
                        "end": 3237,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 19
                          },
                          "end": {
                            "line": 100,
                            "column": 28
                          },
                          "identifierName": "Signature"
                        },
                        "name": "Signature"
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 3238,
                          "end": 3251,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 29
                            },
                            "end": {
                              "line": 100,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3238,
                            "end": 3249,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 29
                              },
                              "end": {
                                "line": 100,
                                "column": 40
                              },
                              "identifierName": "ecsignature"
                            },
                            "name": "ecsignature"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3250,
                            "end": 3251,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 41
                              },
                              "end": {
                                "line": 100,
                                "column": 42
                              },
                              "identifierName": "r"
                            },
                            "name": "r"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 3253,
                          "end": 3266,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 44
                            },
                            "end": {
                              "line": 100,
                              "column": 57
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3253,
                            "end": 3264,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 44
                              },
                              "end": {
                                "line": 100,
                                "column": 55
                              },
                              "identifierName": "ecsignature"
                            },
                            "name": "ecsignature"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3265,
                            "end": 3266,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 56
                              },
                              "end": {
                                "line": 100,
                                "column": 57
                              },
                              "identifierName": "s"
                            },
                            "name": "s"
                          },
                          "computed": false
                        },
                        {
                          "type": "Identifier",
                          "start": 3268,
                          "end": 3269,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 59
                            },
                            "end": {
                              "line": 100,
                              "column": 60
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "* Sign a buffer of exactally 32 bytes in size (sha256(text))\n        @param {Buffer} buf - 32 bytes binary\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
                  "start": 1899,
                  "end": 2082,
                  "loc": {
                    "start": {
                      "line": 66,
                      "column": 4
                    },
                    "end": {
                      "line": 70,
                      "column": 6
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 3283,
              "end": 3394,
              "loc": {
                "start": {
                  "line": 103,
                  "column": 4
                },
                "end": {
                  "line": 105,
                  "column": 5
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3290,
                "end": 3294,
                "loc": {
                  "start": {
                    "line": 103,
                    "column": 11
                  },
                  "end": {
                    "line": 103,
                    "column": 15
                  },
                  "identifierName": "sign"
                },
                "name": "sign"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3295,
                  "end": 3301,
                  "loc": {
                    "start": {
                      "line": 103,
                      "column": 16
                    },
                    "end": {
                      "line": 103,
                      "column": 22
                    },
                    "identifierName": "string"
                  },
                  "name": "string"
                },
                {
                  "type": "Identifier",
                  "start": 3303,
                  "end": 3314,
                  "loc": {
                    "start": {
                      "line": 103,
                      "column": 24
                    },
                    "end": {
                      "line": 103,
                      "column": 35
                    },
                    "identifierName": "private_key"
                  },
                  "name": "private_key"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3316,
                "end": 3394,
                "loc": {
                  "start": {
                    "line": 103,
                    "column": 37
                  },
                  "end": {
                    "line": 105,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 3326,
                    "end": 3388,
                    "loc": {
                      "start": {
                        "line": 104,
                        "column": 8
                      },
                      "end": {
                        "line": 104,
                        "column": 70
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 3333,
                      "end": 3387,
                      "loc": {
                        "start": {
                          "line": 104,
                          "column": 15
                        },
                        "end": {
                          "line": 104,
                          "column": 69
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3333,
                        "end": 3353,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 15
                          },
                          "end": {
                            "line": 104,
                            "column": 35
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3333,
                          "end": 3342,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 15
                            },
                            "end": {
                              "line": 104,
                              "column": 24
                            },
                            "identifierName": "Signature"
                          },
                          "name": "Signature"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3343,
                          "end": 3353,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 25
                            },
                            "end": {
                              "line": 104,
                              "column": 35
                            },
                            "identifierName": "signBuffer"
                          },
                          "name": "signBuffer"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 3354,
                          "end": 3373,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 36
                            },
                            "end": {
                              "line": 104,
                              "column": 55
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3354,
                            "end": 3365,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 36
                              },
                              "end": {
                                "line": 104,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3354,
                              "end": 3360,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 36
                                },
                                "end": {
                                  "line": 104,
                                  "column": 42
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3361,
                              "end": 3365,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 43
                                },
                                "end": {
                                  "line": 104,
                                  "column": 47
                                },
                                "identifierName": "from"
                              },
                              "name": "from"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 3366,
                              "end": 3372,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 48
                                },
                                "end": {
                                  "line": 104,
                                  "column": 54
                                },
                                "identifierName": "string"
                              },
                              "name": "string"
                            }
                          ]
                        },
                        {
                          "type": "Identifier",
                          "start": 3375,
                          "end": 3386,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 57
                            },
                            "end": {
                              "line": 104,
                              "column": 68
                            },
                            "identifierName": "private_key"
                          },
                          "name": "private_key"
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n        @param {Buffer} un-hashed\n        @param {./PublicKey}\n        @return {boolean}\n    ",
                  "start": 3400,
                  "end": 3499,
                  "loc": {
                    "start": {
                      "line": 107,
                      "column": 4
                    },
                    "end": {
                      "line": 111,
                      "column": 6
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 3504,
              "end": 3625,
              "loc": {
                "start": {
                  "line": 112,
                  "column": 4
                },
                "end": {
                  "line": 115,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3504,
                "end": 3516,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 4
                  },
                  "end": {
                    "line": 112,
                    "column": 16
                  },
                  "identifierName": "verifyBuffer"
                },
                "name": "verifyBuffer",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3517,
                  "end": 3520,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 17
                    },
                    "end": {
                      "line": 112,
                      "column": 20
                    },
                    "identifierName": "buf"
                  },
                  "name": "buf"
                },
                {
                  "type": "Identifier",
                  "start": 3522,
                  "end": 3532,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 22
                    },
                    "end": {
                      "line": 112,
                      "column": 32
                    },
                    "identifierName": "public_key"
                  },
                  "name": "public_key"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3534,
                "end": 3625,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 34
                  },
                  "end": {
                    "line": 115,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 3544,
                    "end": 3568,
                    "loc": {
                      "start": {
                        "line": 113,
                        "column": 8
                      },
                      "end": {
                        "line": 113,
                        "column": 32
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3548,
                        "end": 3567,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 12
                          },
                          "end": {
                            "line": 113,
                            "column": 31
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3548,
                          "end": 3553,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 12
                            },
                            "end": {
                              "line": 113,
                              "column": 17
                            },
                            "identifierName": "_hash"
                          },
                          "name": "_hash"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 3556,
                          "end": 3567,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 20
                            },
                            "end": {
                              "line": 113,
                              "column": 31
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3556,
                            "end": 3562,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 20
                              },
                              "end": {
                                "line": 113,
                                "column": 26
                              },
                              "identifierName": "sha256"
                            },
                            "name": "sha256"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 3563,
                              "end": 3566,
                              "loc": {
                                "start": {
                                  "line": 113,
                                  "column": 27
                                },
                                "end": {
                                  "line": 113,
                                  "column": 30
                                },
                                "identifierName": "buf"
                              },
                              "name": "buf"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 3577,
                    "end": 3619,
                    "loc": {
                      "start": {
                        "line": 114,
                        "column": 8
                      },
                      "end": {
                        "line": 114,
                        "column": 50
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 3584,
                      "end": 3618,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 15
                        },
                        "end": {
                          "line": 114,
                          "column": 49
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3584,
                        "end": 3599,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 15
                          },
                          "end": {
                            "line": 114,
                            "column": 30
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 3584,
                          "end": 3588,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 15
                            },
                            "end": {
                              "line": 114,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3589,
                          "end": 3599,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 20
                            },
                            "end": {
                              "line": 114,
                              "column": 30
                            },
                            "identifierName": "verifyHash"
                          },
                          "name": "verifyHash"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3600,
                          "end": 3605,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 31
                            },
                            "end": {
                              "line": 114,
                              "column": 36
                            },
                            "identifierName": "_hash"
                          },
                          "name": "_hash"
                        },
                        {
                          "type": "Identifier",
                          "start": 3607,
                          "end": 3617,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 38
                            },
                            "end": {
                              "line": 114,
                              "column": 48
                            },
                            "identifierName": "public_key"
                          },
                          "name": "public_key"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n        @param {Buffer} un-hashed\n        @param {./PublicKey}\n        @return {boolean}\n    ",
                  "start": 3400,
                  "end": 3499,
                  "loc": {
                    "start": {
                      "line": 107,
                      "column": 4
                    },
                    "end": {
                      "line": 111,
                      "column": 6
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 3631,
              "end": 3999,
              "loc": {
                "start": {
                  "line": 117,
                  "column": 4
                },
                "end": {
                  "line": 132,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3631,
                "end": 3641,
                "loc": {
                  "start": {
                    "line": 117,
                    "column": 4
                  },
                  "end": {
                    "line": 117,
                    "column": 14
                  },
                  "identifierName": "verifyHash"
                },
                "name": "verifyHash"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3642,
                  "end": 3646,
                  "loc": {
                    "start": {
                      "line": 117,
                      "column": 15
                    },
                    "end": {
                      "line": 117,
                      "column": 19
                    },
                    "identifierName": "hash"
                  },
                  "name": "hash"
                },
                {
                  "type": "Identifier",
                  "start": 3648,
                  "end": 3658,
                  "loc": {
                    "start": {
                      "line": 117,
                      "column": 21
                    },
                    "end": {
                      "line": 117,
                      "column": 31
                    },
                    "identifierName": "public_key"
                  },
                  "name": "public_key"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3660,
                "end": 3999,
                "loc": {
                  "start": {
                    "line": 117,
                    "column": 33
                  },
                  "end": {
                    "line": 132,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 3670,
                    "end": 3811,
                    "loc": {
                      "start": {
                        "line": 118,
                        "column": 8
                      },
                      "end": {
                        "line": 122,
                        "column": 10
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 3670,
                      "end": 3810,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 9
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3670,
                        "end": 3682,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 8
                          },
                          "end": {
                            "line": 118,
                            "column": 20
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3670,
                          "end": 3676,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 8
                            },
                            "end": {
                              "line": 118,
                              "column": 14
                            },
                            "identifierName": "assert"
                          },
                          "name": "assert"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3677,
                          "end": 3682,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 15
                            },
                            "end": {
                              "line": 118,
                              "column": 20
                            },
                            "identifierName": "equal"
                          },
                          "name": "equal"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 3696,
                          "end": 3707,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 12
                            },
                            "end": {
                              "line": 119,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3696,
                            "end": 3700,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 12
                              },
                              "end": {
                                "line": 119,
                                "column": 16
                              },
                              "identifierName": "hash"
                            },
                            "name": "hash"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3701,
                            "end": 3707,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 17
                              },
                              "end": {
                                "line": 119,
                                "column": 23
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        {
                          "type": "NumericLiteral",
                          "start": 3721,
                          "end": 3723,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 12
                            },
                            "end": {
                              "line": 120,
                              "column": 14
                            }
                          },
                          "extra": {
                            "rawValue": 32,
                            "raw": "32"
                          },
                          "value": 32
                        },
                        {
                          "type": "BinaryExpression",
                          "start": 3737,
                          "end": 3800,
                          "loc": {
                            "start": {
                              "line": 121,
                              "column": 12
                            },
                            "end": {
                              "line": 121,
                              "column": 75
                            }
                          },
                          "left": {
                            "type": "StringLiteral",
                            "start": 3737,
                            "end": 3786,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 12
                              },
                              "end": {
                                "line": 121,
                                "column": 61
                              }
                            },
                            "extra": {
                              "rawValue": "A SHA 256 should be 32 bytes long, instead got ",
                              "raw": "\"A SHA 256 should be 32 bytes long, instead got \""
                            },
                            "value": "A SHA 256 should be 32 bytes long, instead got "
                          },
                          "operator": "+",
                          "right": {
                            "type": "MemberExpression",
                            "start": 3789,
                            "end": 3800,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 64
                              },
                              "end": {
                                "line": 121,
                                "column": 75
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3789,
                              "end": 3793,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 64
                                },
                                "end": {
                                  "line": 121,
                                  "column": 68
                                },
                                "identifierName": "hash"
                              },
                              "name": "hash"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3794,
                              "end": 3800,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 69
                                },
                                "end": {
                                  "line": 121,
                                  "column": 75
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          }
                        }
                      ]
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 3820,
                    "end": 3993,
                    "loc": {
                      "start": {
                        "line": 123,
                        "column": 8
                      },
                      "end": {
                        "line": 131,
                        "column": 10
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 3827,
                      "end": 3992,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 15
                        },
                        "end": {
                          "line": 131,
                          "column": 9
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 3827,
                        "end": 3833,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 15
                          },
                          "end": {
                            "line": 123,
                            "column": 21
                          },
                          "identifierName": "verify"
                        },
                        "name": "verify"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3847,
                          "end": 3856,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 12
                            },
                            "end": {
                              "line": 124,
                              "column": 21
                            },
                            "identifierName": "secp256k1"
                          },
                          "name": "secp256k1"
                        },
                        {
                          "type": "Identifier",
                          "start": 3870,
                          "end": 3874,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 12
                            },
                            "end": {
                              "line": 125,
                              "column": 16
                            },
                            "identifierName": "hash"
                          },
                          "name": "hash"
                        },
                        {
                          "type": "ObjectExpression",
                          "start": 3888,
                          "end": 3956,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 12
                            },
                            "end": {
                              "line": 129,
                              "column": 13
                            }
                          },
                          "properties": [
                            {
                              "type": "ObjectProperty",
                              "start": 3906,
                              "end": 3915,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 16
                                },
                                "end": {
                                  "line": 127,
                                  "column": 25
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3906,
                                "end": 3907,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 17
                                  },
                                  "identifierName": "r"
                                },
                                "name": "r"
                              },
                              "value": {
                                "type": "MemberExpression",
                                "start": 3909,
                                "end": 3915,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 3909,
                                  "end": 3913,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 23
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3914,
                                  "end": 3915,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 25
                                    },
                                    "identifierName": "r"
                                  },
                                  "name": "r"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "ObjectProperty",
                              "start": 3933,
                              "end": 3942,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 16
                                },
                                "end": {
                                  "line": 128,
                                  "column": 25
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3933,
                                "end": 3934,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 17
                                  },
                                  "identifierName": "s"
                                },
                                "name": "s"
                              },
                              "value": {
                                "type": "MemberExpression",
                                "start": 3936,
                                "end": 3942,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 3936,
                                  "end": 3940,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 23
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3941,
                                  "end": 3942,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 25
                                    },
                                    "identifierName": "s"
                                  },
                                  "name": "s"
                                },
                                "computed": false
                              }
                            }
                          ]
                        },
                        {
                          "type": "MemberExpression",
                          "start": 3970,
                          "end": 3982,
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 12
                            },
                            "end": {
                              "line": 130,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3970,
                            "end": 3980,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 12
                              },
                              "end": {
                                "line": 130,
                                "column": 22
                              },
                              "identifierName": "public_key"
                            },
                            "name": "public_key"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3981,
                            "end": 3982,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 23
                              },
                              "end": {
                                "line": 130,
                                "column": 24
                              },
                              "identifierName": "Q"
                            },
                            "name": "Q"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": " <HEX> ",
                  "start": 4005,
                  "end": 4016,
                  "loc": {
                    "start": {
                      "line": 134,
                      "column": 4
                    },
                    "end": {
                      "line": 134,
                      "column": 15
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 4022,
              "end": 4246,
              "loc": {
                "start": {
                  "line": 136,
                  "column": 4
                },
                "end": {
                  "line": 144,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4022,
                "end": 4034,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 4
                  },
                  "end": {
                    "line": 136,
                    "column": 16
                  },
                  "identifierName": "toByteBuffer"
                },
                "name": "toByteBuffer",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 4037,
                "end": 4246,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 19
                  },
                  "end": {
                    "line": 144,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 4047,
                    "end": 4053,
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 8
                      },
                      "end": {
                        "line": 137,
                        "column": 14
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 4051,
                        "end": 4052,
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 12
                          },
                          "end": {
                            "line": 137,
                            "column": 13
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 4051,
                          "end": 4052,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 12
                            },
                            "end": {
                              "line": 137,
                              "column": 13
                            },
                            "identifierName": "b"
                          },
                          "name": "b"
                        },
                        "init": null
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 4062,
                    "end": 4170,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 8
                      },
                      "end": {
                        "line": 141,
                        "column": 10
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 4062,
                      "end": 4169,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 8
                        },
                        "end": {
                          "line": 141,
                          "column": 9
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 4062,
                        "end": 4063,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 8
                          },
                          "end": {
                            "line": 138,
                            "column": 9
                          },
                          "identifierName": "b"
                        },
                        "name": "b"
                      },
                      "right": {
                        "type": "NewExpression",
                        "start": 4066,
                        "end": 4169,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 12
                          },
                          "end": {
                            "line": 141,
                            "column": 9
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 4070,
                          "end": 4080,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 16
                            },
                            "end": {
                              "line": 138,
                              "column": 26
                            },
                            "identifierName": "ByteBuffer"
                          },
                          "name": "ByteBuffer"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 4094,
                            "end": 4121,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 12
                              },
                              "end": {
                                "line": 139,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4094,
                              "end": 4104,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 12
                                },
                                "end": {
                                  "line": 139,
                                  "column": 22
                                },
                                "identifierName": "ByteBuffer"
                              },
                              "name": "ByteBuffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4105,
                              "end": 4121,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 23
                                },
                                "end": {
                                  "line": 139,
                                  "column": 39
                                },
                                "identifierName": "DEFAULT_CAPACITY"
                              },
                              "name": "DEFAULT_CAPACITY"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 4135,
                            "end": 4159,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 12
                              },
                              "end": {
                                "line": 140,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4135,
                              "end": 4145,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 12
                                },
                                "end": {
                                  "line": 140,
                                  "column": 22
                                },
                                "identifierName": "ByteBuffer"
                              },
                              "name": "ByteBuffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4146,
                              "end": 4159,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 23
                                },
                                "end": {
                                  "line": 140,
                                  "column": 36
                                },
                                "identifierName": "LITTLE_ENDIAN"
                              },
                              "name": "LITTLE_ENDIAN"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 4179,
                    "end": 4204,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 8
                      },
                      "end": {
                        "line": 142,
                        "column": 33
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 4179,
                      "end": 4203,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 8
                        },
                        "end": {
                          "line": 142,
                          "column": 32
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 4179,
                        "end": 4200,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 8
                          },
                          "end": {
                            "line": 142,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 4179,
                          "end": 4183,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 8
                            },
                            "end": {
                              "line": 142,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4184,
                          "end": 4200,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 13
                            },
                            "end": {
                              "line": 142,
                              "column": 29
                            },
                            "identifierName": "appendByteBuffer"
                          },
                          "name": "appendByteBuffer"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 4201,
                          "end": 4202,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 30
                            },
                            "end": {
                              "line": 142,
                              "column": 31
                            },
                            "identifierName": "b"
                          },
                          "name": "b"
                        }
                      ]
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 4213,
                    "end": 4240,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 8
                      },
                      "end": {
                        "line": 143,
                        "column": 35
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 4220,
                      "end": 4239,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 15
                        },
                        "end": {
                          "line": 143,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 4220,
                        "end": 4226,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 15
                          },
                          "end": {
                            "line": 143,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 4220,
                          "end": 4221,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 15
                            },
                            "end": {
                              "line": 143,
                              "column": 16
                            },
                            "identifierName": "b"
                          },
                          "name": "b"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4222,
                          "end": 4226,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 17
                            },
                            "end": {
                              "line": 143,
                              "column": 21
                            },
                            "identifierName": "copy"
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "NumericLiteral",
                          "start": 4227,
                          "end": 4228,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 22
                            },
                            "end": {
                              "line": 143,
                              "column": 23
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        },
                        {
                          "type": "MemberExpression",
                          "start": 4230,
                          "end": 4238,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 25
                            },
                            "end": {
                              "line": 143,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4230,
                            "end": 4231,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 25
                              },
                              "end": {
                                "line": 143,
                                "column": 26
                              },
                              "identifierName": "b"
                            },
                            "name": "b"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4232,
                            "end": 4238,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 27
                              },
                              "end": {
                                "line": 143,
                                "column": 33
                              },
                              "identifierName": "offset"
                            },
                            "name": "offset"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": " <HEX> ",
                  "start": 4005,
                  "end": 4016,
                  "loc": {
                    "start": {
                      "line": 134,
                      "column": 4
                    },
                    "end": {
                      "line": 134,
                      "column": 15
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 4252,
              "end": 4341,
              "loc": {
                "start": {
                  "line": 146,
                  "column": 4
                },
                "end": {
                  "line": 148,
                  "column": 5
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4259,
                "end": 4266,
                "loc": {
                  "start": {
                    "line": 146,
                    "column": 11
                  },
                  "end": {
                    "line": 146,
                    "column": 18
                  },
                  "identifierName": "fromHex"
                },
                "name": "fromHex"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 4267,
                  "end": 4270,
                  "loc": {
                    "start": {
                      "line": 146,
                      "column": 19
                    },
                    "end": {
                      "line": 146,
                      "column": 22
                    },
                    "identifierName": "hex"
                  },
                  "name": "hex"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 4272,
                "end": 4341,
                "loc": {
                  "start": {
                    "line": 146,
                    "column": 24
                  },
                  "end": {
                    "line": 148,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 4282,
                    "end": 4335,
                    "loc": {
                      "start": {
                        "line": 147,
                        "column": 8
                      },
                      "end": {
                        "line": 147,
                        "column": 61
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 4289,
                      "end": 4334,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 15
                        },
                        "end": {
                          "line": 147,
                          "column": 60
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 4289,
                        "end": 4309,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 15
                          },
                          "end": {
                            "line": 147,
                            "column": 35
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 4289,
                          "end": 4298,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 15
                            },
                            "end": {
                              "line": 147,
                              "column": 24
                            },
                            "identifierName": "Signature"
                          },
                          "name": "Signature"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4299,
                          "end": 4309,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 25
                            },
                            "end": {
                              "line": 147,
                              "column": 35
                            },
                            "identifierName": "fromBuffer"
                          },
                          "name": "fromBuffer"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 4310,
                          "end": 4333,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 36
                            },
                            "end": {
                              "line": 147,
                              "column": 59
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4310,
                            "end": 4321,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 36
                              },
                              "end": {
                                "line": 147,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4310,
                              "end": 4316,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 36
                                },
                                "end": {
                                  "line": 147,
                                  "column": 42
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4317,
                              "end": 4321,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 43
                                },
                                "end": {
                                  "line": 147,
                                  "column": 47
                                },
                                "identifierName": "from"
                              },
                              "name": "from"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 4322,
                              "end": 4325,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 48
                                },
                                "end": {
                                  "line": 147,
                                  "column": 51
                                },
                                "identifierName": "hex"
                              },
                              "name": "hex"
                            },
                            {
                              "type": "StringLiteral",
                              "start": 4327,
                              "end": 4332,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 53
                                },
                                "end": {
                                  "line": 147,
                                  "column": 58
                                }
                              },
                              "extra": {
                                "rawValue": "hex",
                                "raw": "\"hex\""
                              },
                              "value": "hex"
                            }
                          ]
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 4347,
              "end": 4410,
              "loc": {
                "start": {
                  "line": 150,
                  "column": 4
                },
                "end": {
                  "line": 152,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4347,
                "end": 4352,
                "loc": {
                  "start": {
                    "line": 150,
                    "column": 4
                  },
                  "end": {
                    "line": 150,
                    "column": 9
                  },
                  "identifierName": "toHex"
                },
                "name": "toHex"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 4355,
                "end": 4410,
                "loc": {
                  "start": {
                    "line": 150,
                    "column": 12
                  },
                  "end": {
                    "line": 152,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 4365,
                    "end": 4404,
                    "loc": {
                      "start": {
                        "line": 151,
                        "column": 8
                      },
                      "end": {
                        "line": 151,
                        "column": 47
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 4372,
                      "end": 4403,
                      "loc": {
                        "start": {
                          "line": 151,
                          "column": 15
                        },
                        "end": {
                          "line": 151,
                          "column": 46
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 4372,
                        "end": 4396,
                        "loc": {
                          "start": {
                            "line": 151,
                            "column": 15
                          },
                          "end": {
                            "line": 151,
                            "column": 39
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 4372,
                          "end": 4387,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 15
                            },
                            "end": {
                              "line": 151,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4372,
                            "end": 4385,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 15
                              },
                              "end": {
                                "line": 151,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4372,
                              "end": 4376,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 15
                                },
                                "end": {
                                  "line": 151,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4377,
                              "end": 4385,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 20
                                },
                                "end": {
                                  "line": 151,
                                  "column": 28
                                },
                                "identifierName": "toBuffer"
                              },
                              "name": "toBuffer"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4388,
                          "end": 4396,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 31
                            },
                            "end": {
                              "line": 151,
                              "column": 39
                            },
                            "identifierName": "toString"
                          },
                          "name": "toString"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "StringLiteral",
                          "start": 4397,
                          "end": 4402,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 40
                            },
                            "end": {
                              "line": 151,
                              "column": 45
                            }
                          },
                          "extra": {
                            "rawValue": "hex",
                            "raw": "\"hex\""
                          },
                          "value": "hex"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 4416,
              "end": 4567,
              "loc": {
                "start": {
                  "line": 154,
                  "column": 4
                },
                "end": {
                  "line": 158,
                  "column": 5
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4423,
                "end": 4430,
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 11
                  },
                  "end": {
                    "line": 154,
                    "column": 18
                  },
                  "identifierName": "signHex"
                },
                "name": "signHex"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 4431,
                  "end": 4434,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 19
                    },
                    "end": {
                      "line": 154,
                      "column": 22
                    },
                    "identifierName": "hex"
                  },
                  "name": "hex"
                },
                {
                  "type": "Identifier",
                  "start": 4436,
                  "end": 4447,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 24
                    },
                    "end": {
                      "line": 154,
                      "column": 35
                    },
                    "identifierName": "private_key"
                  },
                  "name": "private_key"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 4449,
                "end": 4567,
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 37
                  },
                  "end": {
                    "line": 158,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 4459,
                    "end": 4467,
                    "loc": {
                      "start": {
                        "line": 155,
                        "column": 8
                      },
                      "end": {
                        "line": 155,
                        "column": 16
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 4463,
                        "end": 4466,
                        "loc": {
                          "start": {
                            "line": 155,
                            "column": 12
                          },
                          "end": {
                            "line": 155,
                            "column": 15
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 4463,
                          "end": 4466,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 12
                            },
                            "end": {
                              "line": 155,
                              "column": 15
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        "init": null
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 4476,
                    "end": 4506,
                    "loc": {
                      "start": {
                        "line": 156,
                        "column": 8
                      },
                      "end": {
                        "line": 156,
                        "column": 38
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 4476,
                      "end": 4505,
                      "loc": {
                        "start": {
                          "line": 156,
                          "column": 8
                        },
                        "end": {
                          "line": 156,
                          "column": 37
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 4476,
                        "end": 4479,
                        "loc": {
                          "start": {
                            "line": 156,
                            "column": 8
                          },
                          "end": {
                            "line": 156,
                            "column": 11
                          },
                          "identifierName": "buf"
                        },
                        "name": "buf"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 4482,
                        "end": 4505,
                        "loc": {
                          "start": {
                            "line": 156,
                            "column": 14
                          },
                          "end": {
                            "line": 156,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4482,
                          "end": 4493,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 14
                            },
                            "end": {
                              "line": 156,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4482,
                            "end": 4488,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 14
                              },
                              "end": {
                                "line": 156,
                                "column": 20
                              },
                              "identifierName": "Buffer"
                            },
                            "name": "Buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4489,
                            "end": 4493,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 21
                              },
                              "end": {
                                "line": 156,
                                "column": 25
                              },
                              "identifierName": "from"
                            },
                            "name": "from"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4494,
                            "end": 4497,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 26
                              },
                              "end": {
                                "line": 156,
                                "column": 29
                              },
                              "identifierName": "hex"
                            },
                            "name": "hex"
                          },
                          {
                            "type": "StringLiteral",
                            "start": 4499,
                            "end": 4504,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 31
                              },
                              "end": {
                                "line": 156,
                                "column": 36
                              }
                            },
                            "extra": {
                              "rawValue": "hex",
                              "raw": "\"hex\""
                            },
                            "value": "hex"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 4515,
                    "end": 4561,
                    "loc": {
                      "start": {
                        "line": 157,
                        "column": 8
                      },
                      "end": {
                        "line": 157,
                        "column": 54
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 4522,
                      "end": 4560,
                      "loc": {
                        "start": {
                          "line": 157,
                          "column": 15
                        },
                        "end": {
                          "line": 157,
                          "column": 53
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 4522,
                        "end": 4542,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 15
                          },
                          "end": {
                            "line": 157,
                            "column": 35
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 4522,
                          "end": 4531,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 15
                            },
                            "end": {
                              "line": 157,
                              "column": 24
                            },
                            "identifierName": "Signature"
                          },
                          "name": "Signature"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4532,
                          "end": 4542,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 25
                            },
                            "end": {
                              "line": 157,
                              "column": 35
                            },
                            "identifierName": "signBuffer"
                          },
                          "name": "signBuffer"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 4543,
                          "end": 4546,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 36
                            },
                            "end": {
                              "line": 157,
                              "column": 39
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        {
                          "type": "Identifier",
                          "start": 4548,
                          "end": 4559,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 41
                            },
                            "end": {
                              "line": 157,
                              "column": 52
                            },
                            "identifierName": "private_key"
                          },
                          "name": "private_key"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 4573,
              "end": 4714,
              "loc": {
                "start": {
                  "line": 160,
                  "column": 4
                },
                "end": {
                  "line": 164,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4573,
                "end": 4582,
                "loc": {
                  "start": {
                    "line": 160,
                    "column": 4
                  },
                  "end": {
                    "line": 160,
                    "column": 13
                  },
                  "identifierName": "verifyHex"
                },
                "name": "verifyHex"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 4583,
                  "end": 4586,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 14
                    },
                    "end": {
                      "line": 160,
                      "column": 17
                    },
                    "identifierName": "hex"
                  },
                  "name": "hex"
                },
                {
                  "type": "Identifier",
                  "start": 4588,
                  "end": 4598,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 19
                    },
                    "end": {
                      "line": 160,
                      "column": 29
                    },
                    "identifierName": "public_key"
                  },
                  "name": "public_key"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 4600,
                "end": 4714,
                "loc": {
                  "start": {
                    "line": 160,
                    "column": 31
                  },
                  "end": {
                    "line": 164,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 4610,
                    "end": 4618,
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 8
                      },
                      "end": {
                        "line": 161,
                        "column": 16
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 4614,
                        "end": 4617,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 12
                          },
                          "end": {
                            "line": 161,
                            "column": 15
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 4614,
                          "end": 4617,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 12
                            },
                            "end": {
                              "line": 161,
                              "column": 15
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        "init": null
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 4627,
                    "end": 4657,
                    "loc": {
                      "start": {
                        "line": 162,
                        "column": 8
                      },
                      "end": {
                        "line": 162,
                        "column": 38
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 4627,
                      "end": 4656,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 162,
                          "column": 37
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 4627,
                        "end": 4630,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 8
                          },
                          "end": {
                            "line": 162,
                            "column": 11
                          },
                          "identifierName": "buf"
                        },
                        "name": "buf"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 4633,
                        "end": 4656,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 14
                          },
                          "end": {
                            "line": 162,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4633,
                          "end": 4644,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 14
                            },
                            "end": {
                              "line": 162,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4633,
                            "end": 4639,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 14
                              },
                              "end": {
                                "line": 162,
                                "column": 20
                              },
                              "identifierName": "Buffer"
                            },
                            "name": "Buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4640,
                            "end": 4644,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 21
                              },
                              "end": {
                                "line": 162,
                                "column": 25
                              },
                              "identifierName": "from"
                            },
                            "name": "from"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4645,
                            "end": 4648,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 26
                              },
                              "end": {
                                "line": 162,
                                "column": 29
                              },
                              "identifierName": "hex"
                            },
                            "name": "hex"
                          },
                          {
                            "type": "StringLiteral",
                            "start": 4650,
                            "end": 4655,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 31
                              },
                              "end": {
                                "line": 162,
                                "column": 36
                              }
                            },
                            "extra": {
                              "rawValue": "hex",
                              "raw": "\"hex\""
                            },
                            "value": "hex"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 4666,
                    "end": 4708,
                    "loc": {
                      "start": {
                        "line": 163,
                        "column": 8
                      },
                      "end": {
                        "line": 163,
                        "column": 50
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 4673,
                      "end": 4707,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 15
                        },
                        "end": {
                          "line": 163,
                          "column": 49
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 4673,
                        "end": 4690,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 15
                          },
                          "end": {
                            "line": 163,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 4673,
                          "end": 4677,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 15
                            },
                            "end": {
                              "line": 163,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4678,
                          "end": 4690,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 20
                            },
                            "end": {
                              "line": 163,
                              "column": 32
                            },
                            "identifierName": "verifyBuffer"
                          },
                          "name": "verifyBuffer"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 4691,
                          "end": 4694,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 33
                            },
                            "end": {
                              "line": 163,
                              "column": 36
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        {
                          "type": "Identifier",
                          "start": 4696,
                          "end": 4706,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 38
                            },
                            "end": {
                              "line": 163,
                              "column": 48
                            },
                            "identifierName": "public_key"
                          },
                          "name": "public_key"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            }
          ]
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "Identifier",
        "start": 4718,
        "end": 4743,
        "loc": {
          "start": {
            "line": 167,
            "column": 0
          },
          "end": {
            "line": 167,
            "column": 25
          }
        },
        "declaration": {
          "type": "Identifier",
          "start": 4733,
          "end": 4742,
          "loc": {
            "start": {
              "line": 167,
              "column": 15
            },
            "end": {
              "line": 167,
              "column": 24
            },
            "identifierName": "Signature"
          },
          "name": "Signature"
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 4718,
        "end": 4743,
        "loc": {
          "start": {
            "line": 167,
            "column": 0
          },
          "end": {
            "line": 167,
            "column": 25
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 337,
          "end": 4716,
          "loc": {
            "start": {
              "line": 10,
              "column": 0
            },
            "end": {
              "line": 165,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 343,
            "end": 352,
            "loc": {
              "start": {
                "line": 10,
                "column": 6
              },
              "end": {
                "line": 10,
                "column": 15
              },
              "identifierName": "Signature"
            },
            "name": "Signature"
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 353,
            "end": 4716,
            "loc": {
              "start": {
                "line": 10,
                "column": 16
              },
              "end": {
                "line": 165,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 359,
                "end": 648,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 4
                  },
                  "end": {
                    "line": 18,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 359,
                  "end": 370,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 4
                    },
                    "end": {
                      "line": 11,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 371,
                    "end": 373,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 16
                      },
                      "end": {
                        "line": 11,
                        "column": 18
                      },
                      "identifierName": "r1"
                    },
                    "name": "r1"
                  },
                  {
                    "type": "Identifier",
                    "start": 375,
                    "end": 377,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 20
                      },
                      "end": {
                        "line": 11,
                        "column": 22
                      },
                      "identifierName": "s1"
                    },
                    "name": "s1"
                  },
                  {
                    "type": "Identifier",
                    "start": 379,
                    "end": 381,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 24
                      },
                      "end": {
                        "line": 11,
                        "column": 26
                      },
                      "identifierName": "i1"
                    },
                    "name": "i1"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 383,
                  "end": 648,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 28
                    },
                    "end": {
                      "line": 18,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 393,
                      "end": 405,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 12,
                          "column": 20
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 393,
                        "end": 404,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 8
                          },
                          "end": {
                            "line": 12,
                            "column": 19
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 393,
                          "end": 399,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 14
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 393,
                            "end": 397,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 8
                              },
                              "end": {
                                "line": 12,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 398,
                            "end": 399,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 13
                              },
                              "end": {
                                "line": 12,
                                "column": 14
                              },
                              "identifierName": "r"
                            },
                            "name": "r"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 402,
                          "end": 404,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 17
                            },
                            "end": {
                              "line": 12,
                              "column": 19
                            },
                            "identifierName": "r1"
                          },
                          "name": "r1"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 414,
                      "end": 426,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 20
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 414,
                        "end": 425,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 19
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 414,
                          "end": 420,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 14
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 414,
                            "end": 418,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 419,
                            "end": 420,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 13
                              },
                              "end": {
                                "line": 13,
                                "column": 14
                              },
                              "identifierName": "s"
                            },
                            "name": "s"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 423,
                          "end": 425,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 17
                            },
                            "end": {
                              "line": 13,
                              "column": 19
                            },
                            "identifierName": "s1"
                          },
                          "name": "s1"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 435,
                      "end": 447,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 20
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 435,
                        "end": 446,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 19
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 435,
                          "end": 441,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 14
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 435,
                            "end": 439,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 440,
                            "end": 441,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 13
                              },
                              "end": {
                                "line": 14,
                                "column": 14
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 444,
                          "end": 446,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 17
                            },
                            "end": {
                              "line": 14,
                              "column": 19
                            },
                            "identifierName": "i1"
                          },
                          "name": "i1"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 456,
                      "end": 512,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 8
                        },
                        "end": {
                          "line": 15,
                          "column": 64
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 456,
                        "end": 511,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 8
                          },
                          "end": {
                            "line": 15,
                            "column": 63
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 456,
                          "end": 468,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 8
                            },
                            "end": {
                              "line": 15,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 456,
                            "end": 462,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 8
                              },
                              "end": {
                                "line": 15,
                                "column": 14
                              },
                              "identifierName": "assert"
                            },
                            "name": "assert"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 463,
                            "end": 468,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 15
                              },
                              "end": {
                                "line": 15,
                                "column": 20
                              },
                              "identifierName": "equal"
                            },
                            "name": "equal"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 469,
                            "end": 483,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 21
                              },
                              "end": {
                                "line": 15,
                                "column": 35
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 469,
                              "end": 475,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 21
                                },
                                "end": {
                                  "line": 15,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 469,
                                "end": 473,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 474,
                                "end": 475,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 27
                                  },
                                  "identifierName": "r"
                                },
                                "name": "r"
                              },
                              "computed": false
                            },
                            "operator": "!=",
                            "right": {
                              "type": "NullLiteral",
                              "start": 479,
                              "end": 483,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 31
                                },
                                "end": {
                                  "line": 15,
                                  "column": 35
                                }
                              }
                            }
                          },
                          {
                            "type": "BooleanLiteral",
                            "start": 485,
                            "end": 489,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 37
                              },
                              "end": {
                                "line": 15,
                                "column": 41
                              }
                            },
                            "value": true
                          },
                          {
                            "type": "StringLiteral",
                            "start": 491,
                            "end": 510,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 43
                              },
                              "end": {
                                "line": 15,
                                "column": 62
                              }
                            },
                            "extra": {
                              "rawValue": "Missing parameter",
                              "raw": "\"Missing parameter\""
                            },
                            "value": "Missing parameter"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 521,
                      "end": 577,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 8
                        },
                        "end": {
                          "line": 16,
                          "column": 64
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 521,
                        "end": 576,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 8
                          },
                          "end": {
                            "line": 16,
                            "column": 63
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 521,
                          "end": 533,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 8
                            },
                            "end": {
                              "line": 16,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 521,
                            "end": 527,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 8
                              },
                              "end": {
                                "line": 16,
                                "column": 14
                              },
                              "identifierName": "assert"
                            },
                            "name": "assert"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 528,
                            "end": 533,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 15
                              },
                              "end": {
                                "line": 16,
                                "column": 20
                              },
                              "identifierName": "equal"
                            },
                            "name": "equal"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 534,
                            "end": 548,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 21
                              },
                              "end": {
                                "line": 16,
                                "column": 35
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 534,
                              "end": 540,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 21
                                },
                                "end": {
                                  "line": 16,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 534,
                                "end": 538,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 539,
                                "end": 540,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 27
                                  },
                                  "identifierName": "s"
                                },
                                "name": "s"
                              },
                              "computed": false
                            },
                            "operator": "!=",
                            "right": {
                              "type": "NullLiteral",
                              "start": 544,
                              "end": 548,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 31
                                },
                                "end": {
                                  "line": 16,
                                  "column": 35
                                }
                              }
                            }
                          },
                          {
                            "type": "BooleanLiteral",
                            "start": 550,
                            "end": 554,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 37
                              },
                              "end": {
                                "line": 16,
                                "column": 41
                              }
                            },
                            "value": true
                          },
                          {
                            "type": "StringLiteral",
                            "start": 556,
                            "end": 575,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 43
                              },
                              "end": {
                                "line": 16,
                                "column": 62
                              }
                            },
                            "extra": {
                              "rawValue": "Missing parameter",
                              "raw": "\"Missing parameter\""
                            },
                            "value": "Missing parameter"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 586,
                      "end": 642,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 8
                        },
                        "end": {
                          "line": 17,
                          "column": 64
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 586,
                        "end": 641,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 8
                          },
                          "end": {
                            "line": 17,
                            "column": 63
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 586,
                          "end": 598,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 8
                            },
                            "end": {
                              "line": 17,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 586,
                            "end": 592,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 8
                              },
                              "end": {
                                "line": 17,
                                "column": 14
                              },
                              "identifierName": "assert"
                            },
                            "name": "assert"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 593,
                            "end": 598,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 15
                              },
                              "end": {
                                "line": 17,
                                "column": 20
                              },
                              "identifierName": "equal"
                            },
                            "name": "equal"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 599,
                            "end": 613,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 21
                              },
                              "end": {
                                "line": 17,
                                "column": 35
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 599,
                              "end": 605,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 21
                                },
                                "end": {
                                  "line": 17,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 599,
                                "end": 603,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 604,
                                "end": 605,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 27
                                  },
                                  "identifierName": "i"
                                },
                                "name": "i"
                              },
                              "computed": false
                            },
                            "operator": "!=",
                            "right": {
                              "type": "NullLiteral",
                              "start": 609,
                              "end": 613,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 31
                                },
                                "end": {
                                  "line": 17,
                                  "column": 35
                                }
                              }
                            }
                          },
                          {
                            "type": "BooleanLiteral",
                            "start": 615,
                            "end": 619,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 37
                              },
                              "end": {
                                "line": 17,
                                "column": 41
                              }
                            },
                            "value": true
                          },
                          {
                            "type": "StringLiteral",
                            "start": 621,
                            "end": 640,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 43
                              },
                              "end": {
                                "line": 17,
                                "column": 62
                              }
                            },
                            "extra": {
                              "rawValue": "Missing parameter",
                              "raw": "\"Missing parameter\""
                            },
                            "value": "Missing parameter"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 654,
                "end": 1018,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 4
                  },
                  "end": {
                    "line": 28,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 661,
                  "end": 671,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 11
                    },
                    "end": {
                      "line": 20,
                      "column": 21
                    },
                    "identifierName": "fromBuffer"
                  },
                  "name": "fromBuffer"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 672,
                    "end": 675,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 22
                      },
                      "end": {
                        "line": 20,
                        "column": 25
                      },
                      "identifierName": "buf"
                    },
                    "name": "buf"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 677,
                  "end": 1018,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 27
                    },
                    "end": {
                      "line": 28,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 687,
                      "end": 699,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 8
                        },
                        "end": {
                          "line": 21,
                          "column": 20
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 691,
                          "end": 692,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 12
                            },
                            "end": {
                              "line": 21,
                              "column": 13
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 691,
                            "end": 692,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 12
                              },
                              "end": {
                                "line": 21,
                                "column": 13
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 694,
                          "end": 695,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 15
                            },
                            "end": {
                              "line": 21,
                              "column": 16
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 694,
                            "end": 695,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 15
                              },
                              "end": {
                                "line": 21,
                                "column": 16
                              },
                              "identifierName": "r"
                            },
                            "name": "r"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 697,
                          "end": 698,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 18
                            },
                            "end": {
                              "line": 21,
                              "column": 19
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 697,
                            "end": 698,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 18
                              },
                              "end": {
                                "line": 21,
                                "column": 19
                              },
                              "identifierName": "s"
                            },
                            "name": "s"
                          },
                          "init": null
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 708,
                      "end": 765,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 8
                        },
                        "end": {
                          "line": 22,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 708,
                        "end": 764,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 8
                          },
                          "end": {
                            "line": 22,
                            "column": 64
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 708,
                          "end": 720,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 8
                            },
                            "end": {
                              "line": 22,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 708,
                            "end": 714,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 8
                              },
                              "end": {
                                "line": 22,
                                "column": 14
                              },
                              "identifierName": "assert"
                            },
                            "name": "assert"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 715,
                            "end": 720,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 15
                              },
                              "end": {
                                "line": 22,
                                "column": 20
                              },
                              "identifierName": "equal"
                            },
                            "name": "equal"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 721,
                            "end": 731,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 21
                              },
                              "end": {
                                "line": 22,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 721,
                              "end": 724,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 21
                                },
                                "end": {
                                  "line": 22,
                                  "column": 24
                                },
                                "identifierName": "buf"
                              },
                              "name": "buf"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 725,
                              "end": 731,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 25
                                },
                                "end": {
                                  "line": 22,
                                  "column": 31
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          {
                            "type": "NumericLiteral",
                            "start": 733,
                            "end": 735,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 33
                              },
                              "end": {
                                "line": 22,
                                "column": 35
                              }
                            },
                            "extra": {
                              "rawValue": 65,
                              "raw": "65"
                            },
                            "value": 65
                          },
                          {
                            "type": "StringLiteral",
                            "start": 737,
                            "end": 763,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 37
                              },
                              "end": {
                                "line": 22,
                                "column": 63
                              }
                            },
                            "extra": {
                              "rawValue": "Invalid signature length",
                              "raw": "\"Invalid signature length\""
                            },
                            "value": "Invalid signature length"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 774,
                      "end": 795,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 8
                        },
                        "end": {
                          "line": 23,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 774,
                        "end": 794,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 8
                          },
                          "end": {
                            "line": 23,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 774,
                          "end": 775,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 8
                            },
                            "end": {
                              "line": 23,
                              "column": 9
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 778,
                          "end": 794,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 12
                            },
                            "end": {
                              "line": 23,
                              "column": 28
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 778,
                            "end": 791,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 12
                              },
                              "end": {
                                "line": 23,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 778,
                              "end": 781,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 12
                                },
                                "end": {
                                  "line": 23,
                                  "column": 15
                                },
                                "identifierName": "buf"
                              },
                              "name": "buf"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 782,
                              "end": 791,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 16
                                },
                                "end": {
                                  "line": 23,
                                  "column": 25
                                },
                                "identifierName": "readUInt8"
                              },
                              "name": "readUInt8"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NumericLiteral",
                              "start": 792,
                              "end": 793,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 26
                                },
                                "end": {
                                  "line": 23,
                                  "column": 27
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 804,
                      "end": 870,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 74
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 804,
                        "end": 869,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 8
                          },
                          "end": {
                            "line": 24,
                            "column": 73
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 804,
                          "end": 816,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 804,
                            "end": 810,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 8
                              },
                              "end": {
                                "line": 24,
                                "column": 14
                              },
                              "identifierName": "assert"
                            },
                            "name": "assert"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 811,
                            "end": 816,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 15
                              },
                              "end": {
                                "line": 24,
                                "column": 20
                              },
                              "identifierName": "equal"
                            },
                            "name": "equal"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 817,
                            "end": 823,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 21
                              },
                              "end": {
                                "line": 24,
                                "column": 27
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 817,
                              "end": 818,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 21
                                },
                                "end": {
                                  "line": 24,
                                  "column": 22
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "operator": "-",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 821,
                              "end": 823,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 25
                                },
                                "end": {
                                  "line": 24,
                                  "column": 27
                                }
                              },
                              "extra": {
                                "rawValue": 27,
                                "raw": "27"
                              },
                              "value": 27
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 825,
                            "end": 837,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 29
                              },
                              "end": {
                                "line": 24,
                                "column": 41
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 826,
                              "end": 832,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 30
                                },
                                "end": {
                                  "line": 24,
                                  "column": 36
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 826,
                                "end": 827,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 31
                                  },
                                  "identifierName": "i"
                                },
                                "name": "i"
                              },
                              "operator": "-",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 830,
                                "end": 832,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 36
                                  }
                                },
                                "extra": {
                                  "rawValue": 27,
                                  "raw": "27"
                                },
                                "value": 27
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 825
                              }
                            },
                            "operator": "&",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 836,
                              "end": 837,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 40
                                },
                                "end": {
                                  "line": 24,
                                  "column": 41
                                }
                              },
                              "extra": {
                                "rawValue": 7,
                                "raw": "7"
                              },
                              "value": 7
                            }
                          },
                          {
                            "type": "StringLiteral",
                            "start": 839,
                            "end": 868,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 43
                              },
                              "end": {
                                "line": 24,
                                "column": 72
                              }
                            },
                            "extra": {
                              "rawValue": "Invalid signature parameter",
                              "raw": "\"Invalid signature parameter\""
                            },
                            "value": "Invalid signature parameter"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 879,
                      "end": 923,
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 879,
                        "end": 922,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 8
                          },
                          "end": {
                            "line": 25,
                            "column": 51
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 879,
                          "end": 880,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 8
                            },
                            "end": {
                              "line": 25,
                              "column": 9
                            },
                            "identifierName": "r"
                          },
                          "name": "r"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 883,
                          "end": 922,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 12
                            },
                            "end": {
                              "line": 25,
                              "column": 51
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 883,
                            "end": 904,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 12
                              },
                              "end": {
                                "line": 25,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 883,
                              "end": 893,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 12
                                },
                                "end": {
                                  "line": 25,
                                  "column": 22
                                },
                                "identifierName": "BigInteger"
                              },
                              "name": "BigInteger"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 894,
                              "end": 904,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 23
                                },
                                "end": {
                                  "line": 25,
                                  "column": 33
                                },
                                "identifierName": "fromBuffer"
                              },
                              "name": "fromBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 905,
                              "end": 921,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 34
                                },
                                "end": {
                                  "line": 25,
                                  "column": 50
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 905,
                                "end": 914,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 905,
                                  "end": 908,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 37
                                    },
                                    "identifierName": "buf"
                                  },
                                  "name": "buf"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 909,
                                  "end": 914,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 43
                                    },
                                    "identifierName": "slice"
                                  },
                                  "name": "slice"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "NumericLiteral",
                                  "start": 915,
                                  "end": 916,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 45
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "value": 1
                                },
                                {
                                  "type": "NumericLiteral",
                                  "start": 918,
                                  "end": 920,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 49
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 33,
                                    "raw": "33"
                                  },
                                  "value": 33
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 932,
                      "end": 973,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 932,
                        "end": 972,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 8
                          },
                          "end": {
                            "line": 26,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 932,
                          "end": 933,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 26,
                              "column": 9
                            },
                            "identifierName": "s"
                          },
                          "name": "s"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 936,
                          "end": 972,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 12
                            },
                            "end": {
                              "line": 26,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 936,
                            "end": 957,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 12
                              },
                              "end": {
                                "line": 26,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 936,
                              "end": 946,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 12
                                },
                                "end": {
                                  "line": 26,
                                  "column": 22
                                },
                                "identifierName": "BigInteger"
                              },
                              "name": "BigInteger"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 947,
                              "end": 957,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 23
                                },
                                "end": {
                                  "line": 26,
                                  "column": 33
                                },
                                "identifierName": "fromBuffer"
                              },
                              "name": "fromBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 958,
                              "end": 971,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 34
                                },
                                "end": {
                                  "line": 26,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 958,
                                "end": 967,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 958,
                                  "end": 961,
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 37
                                    },
                                    "identifierName": "buf"
                                  },
                                  "name": "buf"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 962,
                                  "end": 967,
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 43
                                    },
                                    "identifierName": "slice"
                                  },
                                  "name": "slice"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "NumericLiteral",
                                  "start": 968,
                                  "end": 970,
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 46
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 33,
                                    "raw": "33"
                                  },
                                  "value": 33
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 982,
                      "end": 1012,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 38
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 989,
                        "end": 1011,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 15
                          },
                          "end": {
                            "line": 27,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 993,
                          "end": 1002,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 19
                            },
                            "end": {
                              "line": 27,
                              "column": 28
                            },
                            "identifierName": "Signature"
                          },
                          "name": "Signature"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1003,
                            "end": 1004,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 29
                              },
                              "end": {
                                "line": 27,
                                "column": 30
                              },
                              "identifierName": "r"
                            },
                            "name": "r"
                          },
                          {
                            "type": "Identifier",
                            "start": 1006,
                            "end": 1007,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 32
                              },
                              "end": {
                                "line": 27,
                                "column": 33
                              },
                              "identifierName": "s"
                            },
                            "name": "s"
                          },
                          {
                            "type": "Identifier",
                            "start": 1009,
                            "end": 1010,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 35
                              },
                              "end": {
                                "line": 27,
                                "column": 36
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1024,
                "end": 1231,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 4
                  },
                  "end": {
                    "line": 37,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1024,
                  "end": 1032,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 4
                    },
                    "end": {
                      "line": 30,
                      "column": 12
                    },
                    "identifierName": "toBuffer"
                  },
                  "name": "toBuffer"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1035,
                  "end": 1231,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 15
                    },
                    "end": {
                      "line": 37,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 1045,
                      "end": 1053,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 8
                        },
                        "end": {
                          "line": 31,
                          "column": 16
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1049,
                          "end": 1052,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 12
                            },
                            "end": {
                              "line": 31,
                              "column": 15
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1049,
                            "end": 1052,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 12
                              },
                              "end": {
                                "line": 31,
                                "column": 15
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          "init": null
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1062,
                      "end": 1085,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1062,
                        "end": 1084,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 8
                          },
                          "end": {
                            "line": 32,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 1062,
                          "end": 1065,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 11
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 1068,
                          "end": 1084,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 14
                            },
                            "end": {
                              "line": 32,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1068,
                            "end": 1080,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 14
                              },
                              "end": {
                                "line": 32,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1068,
                              "end": 1074,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 14
                                },
                                "end": {
                                  "line": 32,
                                  "column": 20
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1075,
                              "end": 1080,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 21
                                },
                                "end": {
                                  "line": 32,
                                  "column": 26
                                },
                                "identifierName": "alloc"
                              },
                              "name": "alloc"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NumericLiteral",
                              "start": 1081,
                              "end": 1083,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 27
                                },
                                "end": {
                                  "line": 32,
                                  "column": 29
                                }
                              },
                              "extra": {
                                "rawValue": 65,
                                "raw": "65"
                              },
                              "value": 65
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1094,
                      "end": 1120,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 8
                        },
                        "end": {
                          "line": 33,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1094,
                        "end": 1119,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 8
                          },
                          "end": {
                            "line": 33,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1094,
                          "end": 1108,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1094,
                            "end": 1097,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 11
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1098,
                            "end": 1108,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 12
                              },
                              "end": {
                                "line": 33,
                                "column": 22
                              },
                              "identifierName": "writeUInt8"
                            },
                            "name": "writeUInt8"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1109,
                            "end": 1115,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 23
                              },
                              "end": {
                                "line": 33,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1109,
                              "end": 1113,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 23
                                },
                                "end": {
                                  "line": 33,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1114,
                              "end": 1115,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 28
                                },
                                "end": {
                                  "line": 33,
                                  "column": 29
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "computed": false
                          },
                          {
                            "type": "NumericLiteral",
                            "start": 1117,
                            "end": 1118,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 31
                              },
                              "end": {
                                "line": 33,
                                "column": 32
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1129,
                      "end": 1162,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1129,
                        "end": 1161,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 8
                          },
                          "end": {
                            "line": 34,
                            "column": 40
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1129,
                          "end": 1153,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1129,
                            "end": 1148,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 27
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1129,
                              "end": 1144,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 8
                                },
                                "end": {
                                  "line": 34,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1129,
                                "end": 1135,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 14
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1129,
                                  "end": 1133,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1134,
                                  "end": 1135,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 14
                                    },
                                    "identifierName": "r"
                                  },
                                  "name": "r"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1136,
                                "end": 1144,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 23
                                  },
                                  "identifierName": "toBuffer"
                                },
                                "name": "toBuffer"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NumericLiteral",
                                "start": 1145,
                                "end": 1147,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 26
                                  }
                                },
                                "extra": {
                                  "rawValue": 32,
                                  "raw": "32"
                                },
                                "value": 32
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1149,
                            "end": 1153,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 28
                              },
                              "end": {
                                "line": 34,
                                "column": 32
                              },
                              "identifierName": "copy"
                            },
                            "name": "copy"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1154,
                            "end": 1157,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 33
                              },
                              "end": {
                                "line": 34,
                                "column": 36
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          {
                            "type": "NumericLiteral",
                            "start": 1159,
                            "end": 1160,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 38
                              },
                              "end": {
                                "line": 34,
                                "column": 39
                              }
                            },
                            "extra": {
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "value": 1
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1171,
                      "end": 1205,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1171,
                        "end": 1204,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1171,
                          "end": 1195,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1171,
                            "end": 1190,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 27
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1171,
                              "end": 1186,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 8
                                },
                                "end": {
                                  "line": 35,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1171,
                                "end": 1177,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 14
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1171,
                                  "end": 1175,
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1176,
                                  "end": 1177,
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 14
                                    },
                                    "identifierName": "s"
                                  },
                                  "name": "s"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1178,
                                "end": 1186,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 23
                                  },
                                  "identifierName": "toBuffer"
                                },
                                "name": "toBuffer"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NumericLiteral",
                                "start": 1187,
                                "end": 1189,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 26
                                  }
                                },
                                "extra": {
                                  "rawValue": 32,
                                  "raw": "32"
                                },
                                "value": 32
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1191,
                            "end": 1195,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 28
                              },
                              "end": {
                                "line": 35,
                                "column": 32
                              },
                              "identifierName": "copy"
                            },
                            "name": "copy"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1196,
                            "end": 1199,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 33
                              },
                              "end": {
                                "line": 35,
                                "column": 36
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          {
                            "type": "NumericLiteral",
                            "start": 1201,
                            "end": 1203,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 38
                              },
                              "end": {
                                "line": 35,
                                "column": 40
                              }
                            },
                            "extra": {
                              "rawValue": 33,
                              "raw": "33"
                            },
                            "value": 33
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 1214,
                      "end": 1225,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 19
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 1221,
                        "end": 1224,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 15
                          },
                          "end": {
                            "line": 36,
                            "column": 18
                          },
                          "identifierName": "buf"
                        },
                        "name": "buf"
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1237,
                "end": 1333,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 4
                  },
                  "end": {
                    "line": 41,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1237,
                  "end": 1263,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 4
                    },
                    "end": {
                      "line": 39,
                      "column": 30
                    },
                    "identifierName": "recoverPublicKeyFromBuffer"
                  },
                  "name": "recoverPublicKeyFromBuffer"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1264,
                    "end": 1270,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 31
                      },
                      "end": {
                        "line": 39,
                        "column": 37
                      },
                      "identifierName": "buffer"
                    },
                    "name": "buffer"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1272,
                  "end": 1333,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 39
                    },
                    "end": {
                      "line": 41,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 1282,
                      "end": 1327,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 53
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 1289,
                        "end": 1326,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 15
                          },
                          "end": {
                            "line": 40,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1289,
                          "end": 1310,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 15
                            },
                            "end": {
                              "line": 40,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1289,
                            "end": 1293,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 15
                              },
                              "end": {
                                "line": 40,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1294,
                            "end": 1310,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 20
                              },
                              "end": {
                                "line": 40,
                                "column": 36
                              },
                              "identifierName": "recoverPublicKey"
                            },
                            "name": "recoverPublicKey"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 1311,
                            "end": 1325,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 37
                              },
                              "end": {
                                "line": 40,
                                "column": 51
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1311,
                              "end": 1317,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 37
                                },
                                "end": {
                                  "line": 40,
                                  "column": 43
                                },
                                "identifierName": "sha256"
                              },
                              "name": "sha256"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1318,
                                "end": 1324,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 50
                                  },
                                  "identifierName": "buffer"
                                },
                                "name": "buffer"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n        @return {PublicKey}\n    ",
                    "start": 1339,
                    "end": 1377,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 4
                      },
                      "end": {
                        "line": 45,
                        "column": 6
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1382,
                "end": 1637,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 4
                  },
                  "end": {
                    "line": 54,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1382,
                  "end": 1398,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 4
                    },
                    "end": {
                      "line": 46,
                      "column": 20
                    },
                    "identifierName": "recoverPublicKey"
                  },
                  "name": "recoverPublicKey",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1399,
                    "end": 1412,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 21
                      },
                      "end": {
                        "line": 46,
                        "column": 34
                      },
                      "identifierName": "sha256_buffer"
                    },
                    "name": "sha256_buffer"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1414,
                  "end": 1637,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 36
                    },
                    "end": {
                      "line": 54,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 1424,
                      "end": 1436,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 20
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1428,
                          "end": 1429,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 12
                            },
                            "end": {
                              "line": 47,
                              "column": 13
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1428,
                            "end": 1429,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 12
                              },
                              "end": {
                                "line": 47,
                                "column": 13
                              },
                              "identifierName": "Q"
                            },
                            "name": "Q"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 1431,
                          "end": 1432,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 15
                            },
                            "end": {
                              "line": 47,
                              "column": 16
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1431,
                            "end": 1432,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 15
                              },
                              "end": {
                                "line": 47,
                                "column": 16
                              },
                              "identifierName": "e"
                            },
                            "name": "e"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 1434,
                          "end": 1435,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 18
                            },
                            "end": {
                              "line": 47,
                              "column": 19
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1434,
                            "end": 1435,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 18
                              },
                              "end": {
                                "line": 47,
                                "column": 19
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1445,
                      "end": 1486,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1445,
                        "end": 1485,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 8
                          },
                          "end": {
                            "line": 48,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 1445,
                          "end": 1446,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 9
                            },
                            "identifierName": "e"
                          },
                          "name": "e"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 1449,
                          "end": 1485,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 12
                            },
                            "end": {
                              "line": 48,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1449,
                            "end": 1470,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 12
                              },
                              "end": {
                                "line": 48,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1449,
                              "end": 1459,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 12
                                },
                                "end": {
                                  "line": 48,
                                  "column": 22
                                },
                                "identifierName": "BigInteger"
                              },
                              "name": "BigInteger"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1460,
                              "end": 1470,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 23
                                },
                                "end": {
                                  "line": 48,
                                  "column": 33
                                },
                                "identifierName": "fromBuffer"
                              },
                              "name": "fromBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1471,
                              "end": 1484,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 34
                                },
                                "end": {
                                  "line": 48,
                                  "column": 47
                                },
                                "identifierName": "sha256_buffer"
                              },
                              "name": "sha256_buffer"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1495,
                      "end": 1506,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 19
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1495,
                        "end": 1505,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 18
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 1495,
                          "end": 1496,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 9
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1499,
                          "end": 1505,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 12
                            },
                            "end": {
                              "line": 49,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1499,
                            "end": 1503,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 12
                              },
                              "end": {
                                "line": 49,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1504,
                            "end": 1505,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 17
                              },
                              "end": {
                                "line": 49,
                                "column": 18
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1515,
                      "end": 1523,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 8
                        },
                        "end": {
                          "line": 50,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1515,
                        "end": 1522,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 8
                          },
                          "end": {
                            "line": 50,
                            "column": 15
                          }
                        },
                        "operator": "-=",
                        "left": {
                          "type": "Identifier",
                          "start": 1515,
                          "end": 1516,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 8
                            },
                            "end": {
                              "line": 50,
                              "column": 9
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "right": {
                          "type": "NumericLiteral",
                          "start": 1520,
                          "end": 1522,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 13
                            },
                            "end": {
                              "line": 50,
                              "column": 15
                            }
                          },
                          "extra": {
                            "rawValue": 27,
                            "raw": "27"
                          },
                          "value": 27
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1532,
                      "end": 1542,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 51,
                          "column": 18
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1532,
                        "end": 1541,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 17
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 1532,
                          "end": 1533,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 9
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 1536,
                          "end": 1541,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 12
                            },
                            "end": {
                              "line": 51,
                              "column": 17
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 1536,
                            "end": 1537,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 12
                              },
                              "end": {
                                "line": 51,
                                "column": 13
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "operator": "&",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 1540,
                            "end": 1541,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 16
                              },
                              "end": {
                                "line": 51,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": 3,
                              "raw": "3"
                            },
                            "value": 3
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1551,
                      "end": 1592,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1551,
                        "end": 1591,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 1551,
                          "end": 1552,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 9
                            },
                            "identifierName": "Q"
                          },
                          "name": "Q"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 1555,
                          "end": 1591,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 12
                            },
                            "end": {
                              "line": 52,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1555,
                            "end": 1568,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 12
                              },
                              "end": {
                                "line": 52,
                                "column": 25
                              },
                              "identifierName": "recoverPubKey"
                            },
                            "name": "recoverPubKey"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1569,
                              "end": 1578,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 26
                                },
                                "end": {
                                  "line": 52,
                                  "column": 35
                                },
                                "identifierName": "secp256k1"
                              },
                              "name": "secp256k1"
                            },
                            {
                              "type": "Identifier",
                              "start": 1580,
                              "end": 1581,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 37
                                },
                                "end": {
                                  "line": 52,
                                  "column": 38
                                },
                                "identifierName": "e"
                              },
                              "name": "e"
                            },
                            {
                              "type": "ThisExpression",
                              "start": 1583,
                              "end": 1587,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 40
                                },
                                "end": {
                                  "line": 52,
                                  "column": 44
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "start": 1589,
                              "end": 1590,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 46
                                },
                                "end": {
                                  "line": 52,
                                  "column": 47
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 1601,
                      "end": 1631,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 38
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 1608,
                        "end": 1630,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 15
                          },
                          "end": {
                            "line": 53,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1608,
                          "end": 1627,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 15
                            },
                            "end": {
                              "line": 53,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1608,
                            "end": 1617,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 15
                              },
                              "end": {
                                "line": 53,
                                "column": 24
                              },
                              "identifierName": "PublicKey"
                            },
                            "name": "PublicKey"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1618,
                            "end": 1627,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 25
                              },
                              "end": {
                                "line": 53,
                                "column": 34
                              },
                              "identifierName": "fromPoint"
                            },
                            "name": "fromPoint"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1628,
                            "end": 1629,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 35
                              },
                              "end": {
                                "line": 53,
                                "column": 36
                              },
                              "identifierName": "Q"
                            },
                            "name": "Q"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n        @return {PublicKey}\n    ",
                    "start": 1339,
                    "end": 1377,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 4
                      },
                      "end": {
                        "line": 45,
                        "column": 6
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n        @param {Buffer} buf\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
                    "start": 1643,
                    "end": 1749,
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 4
                      },
                      "end": {
                        "line": 60,
                        "column": 6
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1754,
                "end": 1893,
                "loc": {
                  "start": {
                    "line": 61,
                    "column": 4
                  },
                  "end": {
                    "line": 64,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1761,
                  "end": 1771,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 11
                    },
                    "end": {
                      "line": 61,
                      "column": 21
                    },
                    "identifierName": "signBuffer"
                  },
                  "name": "signBuffer"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1772,
                    "end": 1775,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 22
                      },
                      "end": {
                        "line": 61,
                        "column": 25
                      },
                      "identifierName": "buf"
                    },
                    "name": "buf"
                  },
                  {
                    "type": "Identifier",
                    "start": 1777,
                    "end": 1788,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 27
                      },
                      "end": {
                        "line": 61,
                        "column": 38
                      },
                      "identifierName": "private_key"
                    },
                    "name": "private_key"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1790,
                  "end": 1893,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 40
                    },
                    "end": {
                      "line": 64,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 1800,
                      "end": 1824,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 32
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1804,
                          "end": 1823,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 12
                            },
                            "end": {
                              "line": 62,
                              "column": 31
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1804,
                            "end": 1809,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 12
                              },
                              "end": {
                                "line": 62,
                                "column": 17
                              },
                              "identifierName": "_hash"
                            },
                            "name": "_hash"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1812,
                            "end": 1823,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 20
                              },
                              "end": {
                                "line": 62,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1812,
                              "end": 1818,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 20
                                },
                                "end": {
                                  "line": 62,
                                  "column": 26
                                },
                                "identifierName": "sha256"
                              },
                              "name": "sha256"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1819,
                                "end": 1822,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 30
                                  },
                                  "identifierName": "buf"
                                },
                                "name": "buf"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 1833,
                      "end": 1887,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 8
                        },
                        "end": {
                          "line": 63,
                          "column": 62
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 1840,
                        "end": 1886,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 15
                          },
                          "end": {
                            "line": 63,
                            "column": 61
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1840,
                          "end": 1866,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 15
                            },
                            "end": {
                              "line": 63,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1840,
                            "end": 1849,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 15
                              },
                              "end": {
                                "line": 63,
                                "column": 24
                              },
                              "identifierName": "Signature"
                            },
                            "name": "Signature"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1850,
                            "end": 1866,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 25
                              },
                              "end": {
                                "line": 63,
                                "column": 41
                              },
                              "identifierName": "signBufferSha256"
                            },
                            "name": "signBufferSha256"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1867,
                            "end": 1872,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 42
                              },
                              "end": {
                                "line": 63,
                                "column": 47
                              },
                              "identifierName": "_hash"
                            },
                            "name": "_hash"
                          },
                          {
                            "type": "Identifier",
                            "start": 1874,
                            "end": 1885,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 49
                              },
                              "end": {
                                "line": 63,
                                "column": 60
                              },
                              "identifierName": "private_key"
                            },
                            "name": "private_key"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n        @param {Buffer} buf\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
                    "start": 1643,
                    "end": 1749,
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 4
                      },
                      "end": {
                        "line": 60,
                        "column": 6
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "* Sign a buffer of exactally 32 bytes in size (sha256(text))\n        @param {Buffer} buf - 32 bytes binary\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
                    "start": 1899,
                    "end": 2082,
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 4
                      },
                      "end": {
                        "line": 70,
                        "column": 6
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2087,
                "end": 3277,
                "loc": {
                  "start": {
                    "line": 71,
                    "column": 4
                  },
                  "end": {
                    "line": 101,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2094,
                  "end": 2110,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 11
                    },
                    "end": {
                      "line": 71,
                      "column": 27
                    },
                    "identifierName": "signBufferSha256"
                  },
                  "name": "signBufferSha256"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2111,
                    "end": 2121,
                    "loc": {
                      "start": {
                        "line": 71,
                        "column": 28
                      },
                      "end": {
                        "line": 71,
                        "column": 38
                      },
                      "identifierName": "buf_sha256"
                    },
                    "name": "buf_sha256"
                  },
                  {
                    "type": "Identifier",
                    "start": 2123,
                    "end": 2134,
                    "loc": {
                      "start": {
                        "line": 71,
                        "column": 40
                      },
                      "end": {
                        "line": 71,
                        "column": 51
                      },
                      "identifierName": "private_key"
                    },
                    "name": "private_key"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2136,
                  "end": 3277,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 53
                    },
                    "end": {
                      "line": 101,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 2146,
                      "end": 2274,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 66
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 2150,
                        "end": 2206,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 12
                          },
                          "end": {
                            "line": 72,
                            "column": 68
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 2150,
                          "end": 2174,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 12
                            },
                            "end": {
                              "line": 72,
                              "column": 36
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 2150,
                            "end": 2167,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 12
                              },
                              "end": {
                                "line": 72,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2150,
                              "end": 2160,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 12
                                },
                                "end": {
                                  "line": 72,
                                  "column": 22
                                },
                                "identifierName": "buf_sha256"
                              },
                              "name": "buf_sha256"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2161,
                              "end": 2167,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 23
                                },
                                "end": {
                                  "line": 72,
                                  "column": 29
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": "!==",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 2172,
                            "end": 2174,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 34
                              },
                              "end": {
                                "line": 72,
                                "column": 36
                              }
                            },
                            "extra": {
                              "rawValue": 32,
                              "raw": "32"
                            },
                            "value": 32
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 2178,
                          "end": 2206,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 40
                            },
                            "end": {
                              "line": 72,
                              "column": 68
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 2179,
                            "end": 2206,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 41
                              },
                              "end": {
                                "line": 72,
                                "column": 68
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2179,
                              "end": 2194,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 41
                                },
                                "end": {
                                  "line": 72,
                                  "column": 56
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2179,
                                "end": 2185,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 47
                                  },
                                  "identifierName": "Buffer"
                                },
                                "name": "Buffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2186,
                                "end": 2194,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 56
                                  },
                                  "identifierName": "isBuffer"
                                },
                                "name": "isBuffer"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2195,
                                "end": 2205,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 67
                                  },
                                  "identifierName": "buf_sha256"
                                },
                                "name": "buf_sha256"
                              }
                            ]
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      },
                      "consequent": {
                        "type": "ThrowStatement",
                        "start": 2220,
                        "end": 2274,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 12
                          },
                          "end": {
                            "line": 73,
                            "column": 66
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 2226,
                          "end": 2273,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 18
                            },
                            "end": {
                              "line": 73,
                              "column": 65
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2230,
                            "end": 2235,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 22
                              },
                              "end": {
                                "line": 73,
                                "column": 27
                              },
                              "identifierName": "Error"
                            },
                            "name": "Error"
                          },
                          "arguments": [
                            {
                              "type": "StringLiteral",
                              "start": 2236,
                              "end": 2272,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 28
                                },
                                "end": {
                                  "line": 73,
                                  "column": 64
                                }
                              },
                              "extra": {
                                "rawValue": "buf_sha256: 32 byte buffer requred",
                                "raw": "\"buf_sha256: 32 byte buffer requred\""
                              },
                              "value": "buf_sha256: 32 byte buffer requred"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2283,
                      "end": 2329,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 8
                        },
                        "end": {
                          "line": 74,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2287,
                          "end": 2290,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 12
                            },
                            "end": {
                              "line": 74,
                              "column": 15
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2287,
                            "end": 2290,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 12
                              },
                              "end": {
                                "line": 74,
                                "column": 15
                              },
                              "identifierName": "der"
                            },
                            "name": "der"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 2292,
                          "end": 2293,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 17
                            },
                            "end": {
                              "line": 74,
                              "column": 18
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2292,
                            "end": 2293,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 17
                              },
                              "end": {
                                "line": 74,
                                "column": 18
                              },
                              "identifierName": "e"
                            },
                            "name": "e"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 2295,
                          "end": 2306,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 20
                            },
                            "end": {
                              "line": 74,
                              "column": 31
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2295,
                            "end": 2306,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 20
                              },
                              "end": {
                                "line": 74,
                                "column": 31
                              },
                              "identifierName": "ecsignature"
                            },
                            "name": "ecsignature"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 2308,
                          "end": 2309,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 33
                            },
                            "end": {
                              "line": 74,
                              "column": 34
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2308,
                            "end": 2309,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 33
                              },
                              "end": {
                                "line": 74,
                                "column": 34
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 2311,
                          "end": 2315,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 36
                            },
                            "end": {
                              "line": 74,
                              "column": 40
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2311,
                            "end": 2315,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 36
                              },
                              "end": {
                                "line": 74,
                                "column": 40
                              },
                              "identifierName": "lenR"
                            },
                            "name": "lenR"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 2317,
                          "end": 2321,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 42
                            },
                            "end": {
                              "line": 74,
                              "column": 46
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2317,
                            "end": 2321,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 42
                              },
                              "end": {
                                "line": 74,
                                "column": 46
                              },
                              "identifierName": "lenS"
                            },
                            "name": "lenS"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 2323,
                          "end": 2328,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 48
                            },
                            "end": {
                              "line": 74,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2323,
                            "end": 2328,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 48
                              },
                              "end": {
                                "line": 74,
                                "column": 53
                              },
                              "identifierName": "nonce"
                            },
                            "name": "nonce"
                          },
                          "init": null
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2338,
                      "end": 2347,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 17
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2338,
                        "end": 2346,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 16
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2338,
                          "end": 2339,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 8
                            },
                            "end": {
                              "line": 75,
                              "column": 9
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "right": {
                          "type": "NullLiteral",
                          "start": 2342,
                          "end": 2346,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 12
                            },
                            "end": {
                              "line": 75,
                              "column": 16
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2356,
                      "end": 2366,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 18
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2356,
                        "end": 2365,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 8
                          },
                          "end": {
                            "line": 76,
                            "column": 17
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2356,
                          "end": 2361,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 13
                            },
                            "identifierName": "nonce"
                          },
                          "name": "nonce"
                        },
                        "right": {
                          "type": "NumericLiteral",
                          "start": 2364,
                          "end": 2365,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 16
                            },
                            "end": {
                              "line": 76,
                              "column": 17
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2375,
                      "end": 2413,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 8
                        },
                        "end": {
                          "line": 77,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2375,
                        "end": 2412,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 8
                          },
                          "end": {
                            "line": 77,
                            "column": 45
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2375,
                          "end": 2376,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 9
                            },
                            "identifierName": "e"
                          },
                          "name": "e"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2379,
                          "end": 2412,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 12
                            },
                            "end": {
                              "line": 77,
                              "column": 45
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2379,
                            "end": 2400,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 12
                              },
                              "end": {
                                "line": 77,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2379,
                              "end": 2389,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 12
                                },
                                "end": {
                                  "line": 77,
                                  "column": 22
                                },
                                "identifierName": "BigInteger"
                              },
                              "name": "BigInteger"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2390,
                              "end": 2400,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 23
                                },
                                "end": {
                                  "line": 77,
                                  "column": 33
                                },
                                "identifierName": "fromBuffer"
                              },
                              "name": "fromBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2401,
                              "end": 2411,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 34
                                },
                                "end": {
                                  "line": 77,
                                  "column": 44
                                },
                                "identifierName": "buf_sha256"
                              },
                              "name": "buf_sha256"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "WhileStatement",
                      "start": 2422,
                      "end": 3208,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 8
                        },
                        "end": {
                          "line": 99,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BooleanLiteral",
                        "start": 2429,
                        "end": 2433,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 15
                          },
                          "end": {
                            "line": 78,
                            "column": 19
                          }
                        },
                        "value": true
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 2435,
                        "end": 3208,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 21
                          },
                          "end": {
                            "line": 99,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 2449,
                            "end": 2515,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 12
                              },
                              "end": {
                                "line": 79,
                                "column": 78
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2449,
                              "end": 2514,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 12
                                },
                                "end": {
                                  "line": 79,
                                  "column": 77
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 2449,
                                "end": 2460,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 23
                                  },
                                  "identifierName": "ecsignature"
                                },
                                "name": "ecsignature"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 2463,
                                "end": 2514,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 77
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 2463,
                                  "end": 2467,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 30
                                    },
                                    "identifierName": "sign"
                                  },
                                  "name": "sign"
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 2468,
                                    "end": 2477,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 40
                                      },
                                      "identifierName": "secp256k1"
                                    },
                                    "name": "secp256k1"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 2479,
                                    "end": 2489,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 52
                                      },
                                      "identifierName": "buf_sha256"
                                    },
                                    "name": "buf_sha256"
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "start": 2491,
                                    "end": 2504,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 67
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2491,
                                      "end": 2502,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 65
                                        },
                                        "identifierName": "private_key"
                                      },
                                      "name": "private_key"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2503,
                                      "end": 2504,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 67
                                        },
                                        "identifierName": "d"
                                      },
                                      "name": "d"
                                    },
                                    "computed": false
                                  },
                                  {
                                    "type": "UpdateExpression",
                                    "start": 2506,
                                    "end": 2513,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 69
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 76
                                      }
                                    },
                                    "operator": "++",
                                    "prefix": false,
                                    "argument": {
                                      "type": "Identifier",
                                      "start": 2506,
                                      "end": 2511,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 74
                                        },
                                        "identifierName": "nonce"
                                      },
                                      "name": "nonce"
                                    }
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2528,
                            "end": 2554,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 12
                              },
                              "end": {
                                "line": 80,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2528,
                              "end": 2553,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 12
                                },
                                "end": {
                                  "line": 80,
                                  "column": 37
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 2528,
                                "end": 2531,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 15
                                  },
                                  "identifierName": "der"
                                },
                                "name": "der"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 2534,
                                "end": 2553,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 37
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2534,
                                  "end": 2551,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2534,
                                    "end": 2545,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 29
                                      },
                                      "identifierName": "ecsignature"
                                    },
                                    "name": "ecsignature"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2546,
                                    "end": 2551,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 35
                                      },
                                      "identifierName": "toDER"
                                    },
                                    "name": "toDER"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2567,
                            "end": 2581,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 12
                              },
                              "end": {
                                "line": 81,
                                "column": 26
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2567,
                              "end": 2580,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 12
                                },
                                "end": {
                                  "line": 81,
                                  "column": 25
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 2567,
                                "end": 2571,
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 16
                                  },
                                  "identifierName": "lenR"
                                },
                                "name": "lenR"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 2574,
                                "end": 2580,
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2574,
                                  "end": 2577,
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 22
                                    },
                                    "identifierName": "der"
                                  },
                                  "name": "der"
                                },
                                "property": {
                                  "type": "NumericLiteral",
                                  "start": 2578,
                                  "end": 2579,
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 24
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 3,
                                    "raw": "3"
                                  },
                                  "value": 3
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2594,
                            "end": 2615,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 12
                              },
                              "end": {
                                "line": 82,
                                "column": 33
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2594,
                              "end": 2614,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 12
                                },
                                "end": {
                                  "line": 82,
                                  "column": 32
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 2594,
                                "end": 2598,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 16
                                  },
                                  "identifierName": "lenS"
                                },
                                "name": "lenS"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 2601,
                                "end": 2614,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2601,
                                  "end": 2604,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 22
                                    },
                                    "identifierName": "der"
                                  },
                                  "name": "der"
                                },
                                "property": {
                                  "type": "BinaryExpression",
                                  "start": 2605,
                                  "end": 2613,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 31
                                    }
                                  },
                                  "left": {
                                    "type": "NumericLiteral",
                                    "start": 2605,
                                    "end": 2606,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 24
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 5,
                                      "raw": "5"
                                    },
                                    "value": 5
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 2609,
                                    "end": 2613,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 31
                                      },
                                      "identifierName": "lenR"
                                    },
                                    "name": "lenR"
                                  }
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 2628,
                            "end": 3021,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 12
                              },
                              "end": {
                                "line": 93,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 2632,
                              "end": 2658,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 16
                                },
                                "end": {
                                  "line": 83,
                                  "column": 42
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 2632,
                                "end": 2643,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 27
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 2632,
                                  "end": 2636,
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 20
                                    },
                                    "identifierName": "lenR"
                                  },
                                  "name": "lenR"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "NumericLiteral",
                                  "start": 2641,
                                  "end": 2643,
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 27
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 32,
                                    "raw": "32"
                                  },
                                  "value": 32
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 2647,
                                "end": 2658,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 42
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 2647,
                                  "end": 2651,
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 35
                                    },
                                    "identifierName": "lenS"
                                  },
                                  "name": "lenS"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "NumericLiteral",
                                  "start": 2656,
                                  "end": 2658,
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 42
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 32,
                                    "raw": "32"
                                  },
                                  "value": 32
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 2660,
                              "end": 3021,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 44
                                },
                                "end": {
                                  "line": 93,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2678,
                                  "end": 2860,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 18
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 2678,
                                    "end": 2859,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 17
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2678,
                                      "end": 2679,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 17
                                        },
                                        "identifierName": "i"
                                      },
                                      "name": "i"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 2682,
                                      "end": 2859,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 17
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 2682,
                                        "end": 2705,
                                        "loc": {
                                          "start": {
                                            "line": 84,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 84,
                                            "column": 43
                                          },
                                          "identifierName": "calcPubKeyRecoveryParam"
                                        },
                                        "name": "calcPubKeyRecoveryParam"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 2727,
                                          "end": 2736,
                                          "loc": {
                                            "start": {
                                              "line": 85,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 85,
                                              "column": 29
                                            },
                                            "identifierName": "secp256k1"
                                          },
                                          "name": "secp256k1"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 2758,
                                          "end": 2759,
                                          "loc": {
                                            "start": {
                                              "line": 86,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 86,
                                              "column": 21
                                            },
                                            "identifierName": "e"
                                          },
                                          "name": "e"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 2781,
                                          "end": 2792,
                                          "loc": {
                                            "start": {
                                              "line": 87,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 31
                                            },
                                            "identifierName": "ecsignature"
                                          },
                                          "name": "ecsignature"
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 2814,
                                          "end": 2841,
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 47
                                            }
                                          },
                                          "object": {
                                            "type": "CallExpression",
                                            "start": 2814,
                                            "end": 2839,
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 45
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 2814,
                                              "end": 2837,
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 43
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 2814,
                                                "end": 2825,
                                                "loc": {
                                                  "start": {
                                                    "line": 88,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 88,
                                                    "column": 31
                                                  },
                                                  "identifierName": "private_key"
                                                },
                                                "name": "private_key"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2826,
                                                "end": 2837,
                                                "loc": {
                                                  "start": {
                                                    "line": 88,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 88,
                                                    "column": 43
                                                  },
                                                  "identifierName": "toPublicKey"
                                                },
                                                "name": "toPublicKey"
                                              },
                                              "computed": false
                                            },
                                            "arguments": []
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2840,
                                            "end": 2841,
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 47
                                              },
                                              "identifierName": "Q"
                                            },
                                            "name": "Q"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2877,
                                  "end": 2884,
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 23
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 2877,
                                    "end": 2883,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 22
                                      }
                                    },
                                    "operator": "+=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2877,
                                      "end": 2878,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 17
                                        },
                                        "identifierName": "i"
                                      },
                                      "name": "i"
                                    },
                                    "right": {
                                      "type": "NumericLiteral",
                                      "start": 2882,
                                      "end": 2883,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 22
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 4,
                                        "raw": "4"
                                      },
                                      "value": 4
                                    }
                                  },
                                  "trailingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " compressed",
                                      "start": 2885,
                                      "end": 2898,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 37
                                        }
                                      }
                                    }
                                  ]
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2915,
                                  "end": 2923,
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 24
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 2915,
                                    "end": 2922,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 23
                                      }
                                    },
                                    "operator": "+=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2915,
                                      "end": 2916,
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 17
                                        },
                                        "identifierName": "i"
                                      },
                                      "name": "i",
                                      "leadingComments": null
                                    },
                                    "right": {
                                      "type": "NumericLiteral",
                                      "start": 2920,
                                      "end": 2922,
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 23
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 27,
                                        "raw": "27"
                                      },
                                      "value": 27
                                    },
                                    "leadingComments": null
                                  },
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " compressed",
                                      "start": 2885,
                                      "end": 2898,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 37
                                        }
                                      }
                                    }
                                  ],
                                  "trailingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " compact  //  24 or 27 :( forcing odd-y 2nd key candidate)",
                                      "start": 2924,
                                      "end": 2984,
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 85
                                        }
                                      }
                                    }
                                  ]
                                },
                                {
                                  "type": "BreakStatement",
                                  "start": 3001,
                                  "end": 3007,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 22
                                    }
                                  },
                                  "label": null,
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " compact  //  24 or 27 :( forcing odd-y 2nd key candidate)",
                                      "start": 2924,
                                      "end": 2984,
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 85
                                        }
                                      }
                                    }
                                  ]
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 3034,
                            "end": 3198,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 12
                              },
                              "end": {
                                "line": 98,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 3038,
                              "end": 3054,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 16
                                },
                                "end": {
                                  "line": 94,
                                  "column": 32
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 3038,
                                "end": 3048,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 26
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 3038,
                                  "end": 3043,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 21
                                    },
                                    "identifierName": "nonce"
                                  },
                                  "name": "nonce"
                                },
                                "operator": "%",
                                "right": {
                                  "type": "NumericLiteral",
                                  "start": 3046,
                                  "end": 3048,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 26
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 10,
                                    "raw": "10"
                                  },
                                  "value": 10
                                }
                              },
                              "operator": "===",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 3053,
                                "end": 3054,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 32
                                  }
                                },
                                "extra": {
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "value": 0
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 3056,
                              "end": 3198,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 34
                                },
                                "end": {
                                  "line": 98,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 3074,
                                  "end": 3184,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 18
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 3074,
                                    "end": 3183,
                                    "loc": {
                                      "start": {
                                        "line": 95,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 17
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3074,
                                      "end": 3085,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3074,
                                        "end": 3081,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 23
                                          },
                                          "identifierName": "console"
                                        },
                                        "name": "console"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3082,
                                        "end": 3085,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 27
                                          },
                                          "identifierName": "log"
                                        },
                                        "name": "log"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 3107,
                                        "end": 3165,
                                        "loc": {
                                          "start": {
                                            "line": 96,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 96,
                                            "column": 78
                                          }
                                        },
                                        "left": {
                                          "type": "BinaryExpression",
                                          "start": 3107,
                                          "end": 3123,
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 36
                                            }
                                          },
                                          "left": {
                                            "type": "StringLiteral",
                                            "start": 3107,
                                            "end": 3115,
                                            "loc": {
                                              "start": {
                                                "line": 96,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 96,
                                                "column": 28
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "WARN: ",
                                              "raw": "\"WARN: \""
                                            },
                                            "value": "WARN: "
                                          },
                                          "operator": "+",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 3118,
                                            "end": 3123,
                                            "loc": {
                                              "start": {
                                                "line": 96,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 96,
                                                "column": 36
                                              },
                                              "identifierName": "nonce"
                                            },
                                            "name": "nonce"
                                          }
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 3126,
                                          "end": 3165,
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 78
                                            }
                                          },
                                          "extra": {
                                            "rawValue": " attempts to find canonical signature",
                                            "raw": "\" attempts to find canonical signature\""
                                          },
                                          "value": " attempts to find canonical signature"
                                        }
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 3217,
                      "end": 3271,
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 8
                        },
                        "end": {
                          "line": 100,
                          "column": 62
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 3224,
                        "end": 3270,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 15
                          },
                          "end": {
                            "line": 100,
                            "column": 61
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 3228,
                          "end": 3237,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 19
                            },
                            "end": {
                              "line": 100,
                              "column": 28
                            },
                            "identifierName": "Signature"
                          },
                          "name": "Signature"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 3238,
                            "end": 3251,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 29
                              },
                              "end": {
                                "line": 100,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3238,
                              "end": 3249,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 29
                                },
                                "end": {
                                  "line": 100,
                                  "column": 40
                                },
                                "identifierName": "ecsignature"
                              },
                              "name": "ecsignature"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3250,
                              "end": 3251,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 41
                                },
                                "end": {
                                  "line": 100,
                                  "column": 42
                                },
                                "identifierName": "r"
                              },
                              "name": "r"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 3253,
                            "end": 3266,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 44
                              },
                              "end": {
                                "line": 100,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3253,
                              "end": 3264,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 44
                                },
                                "end": {
                                  "line": 100,
                                  "column": 55
                                },
                                "identifierName": "ecsignature"
                              },
                              "name": "ecsignature"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3265,
                              "end": 3266,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 56
                                },
                                "end": {
                                  "line": 100,
                                  "column": 57
                                },
                                "identifierName": "s"
                              },
                              "name": "s"
                            },
                            "computed": false
                          },
                          {
                            "type": "Identifier",
                            "start": 3268,
                            "end": 3269,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 59
                              },
                              "end": {
                                "line": 100,
                                "column": 60
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "* Sign a buffer of exactally 32 bytes in size (sha256(text))\n        @param {Buffer} buf - 32 bytes binary\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
                    "start": 1899,
                    "end": 2082,
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 4
                      },
                      "end": {
                        "line": 70,
                        "column": 6
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3283,
                "end": 3394,
                "loc": {
                  "start": {
                    "line": 103,
                    "column": 4
                  },
                  "end": {
                    "line": 105,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3290,
                  "end": 3294,
                  "loc": {
                    "start": {
                      "line": 103,
                      "column": 11
                    },
                    "end": {
                      "line": 103,
                      "column": 15
                    },
                    "identifierName": "sign"
                  },
                  "name": "sign"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3295,
                    "end": 3301,
                    "loc": {
                      "start": {
                        "line": 103,
                        "column": 16
                      },
                      "end": {
                        "line": 103,
                        "column": 22
                      },
                      "identifierName": "string"
                    },
                    "name": "string"
                  },
                  {
                    "type": "Identifier",
                    "start": 3303,
                    "end": 3314,
                    "loc": {
                      "start": {
                        "line": 103,
                        "column": 24
                      },
                      "end": {
                        "line": 103,
                        "column": 35
                      },
                      "identifierName": "private_key"
                    },
                    "name": "private_key"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3316,
                  "end": 3394,
                  "loc": {
                    "start": {
                      "line": 103,
                      "column": 37
                    },
                    "end": {
                      "line": 105,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 3326,
                      "end": 3388,
                      "loc": {
                        "start": {
                          "line": 104,
                          "column": 8
                        },
                        "end": {
                          "line": 104,
                          "column": 70
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 3333,
                        "end": 3387,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 15
                          },
                          "end": {
                            "line": 104,
                            "column": 69
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3333,
                          "end": 3353,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 15
                            },
                            "end": {
                              "line": 104,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3333,
                            "end": 3342,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 15
                              },
                              "end": {
                                "line": 104,
                                "column": 24
                              },
                              "identifierName": "Signature"
                            },
                            "name": "Signature"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3343,
                            "end": 3353,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 25
                              },
                              "end": {
                                "line": 104,
                                "column": 35
                              },
                              "identifierName": "signBuffer"
                            },
                            "name": "signBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 3354,
                            "end": 3373,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 36
                              },
                              "end": {
                                "line": 104,
                                "column": 55
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3354,
                              "end": 3365,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 36
                                },
                                "end": {
                                  "line": 104,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3354,
                                "end": 3360,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 42
                                  },
                                  "identifierName": "Buffer"
                                },
                                "name": "Buffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3361,
                                "end": 3365,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 47
                                  },
                                  "identifierName": "from"
                                },
                                "name": "from"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 3366,
                                "end": 3372,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 54
                                  },
                                  "identifierName": "string"
                                },
                                "name": "string"
                              }
                            ]
                          },
                          {
                            "type": "Identifier",
                            "start": 3375,
                            "end": 3386,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 57
                              },
                              "end": {
                                "line": 104,
                                "column": 68
                              },
                              "identifierName": "private_key"
                            },
                            "name": "private_key"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n        @param {Buffer} un-hashed\n        @param {./PublicKey}\n        @return {boolean}\n    ",
                    "start": 3400,
                    "end": 3499,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 4
                      },
                      "end": {
                        "line": 111,
                        "column": 6
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3504,
                "end": 3625,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 4
                  },
                  "end": {
                    "line": 115,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3504,
                  "end": 3516,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 4
                    },
                    "end": {
                      "line": 112,
                      "column": 16
                    },
                    "identifierName": "verifyBuffer"
                  },
                  "name": "verifyBuffer",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3517,
                    "end": 3520,
                    "loc": {
                      "start": {
                        "line": 112,
                        "column": 17
                      },
                      "end": {
                        "line": 112,
                        "column": 20
                      },
                      "identifierName": "buf"
                    },
                    "name": "buf"
                  },
                  {
                    "type": "Identifier",
                    "start": 3522,
                    "end": 3532,
                    "loc": {
                      "start": {
                        "line": 112,
                        "column": 22
                      },
                      "end": {
                        "line": 112,
                        "column": 32
                      },
                      "identifierName": "public_key"
                    },
                    "name": "public_key"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3534,
                  "end": 3625,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 34
                    },
                    "end": {
                      "line": 115,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 3544,
                      "end": 3568,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 8
                        },
                        "end": {
                          "line": 113,
                          "column": 32
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 3548,
                          "end": 3567,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 12
                            },
                            "end": {
                              "line": 113,
                              "column": 31
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 3548,
                            "end": 3553,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 12
                              },
                              "end": {
                                "line": 113,
                                "column": 17
                              },
                              "identifierName": "_hash"
                            },
                            "name": "_hash"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 3556,
                            "end": 3567,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 20
                              },
                              "end": {
                                "line": 113,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 3556,
                              "end": 3562,
                              "loc": {
                                "start": {
                                  "line": 113,
                                  "column": 20
                                },
                                "end": {
                                  "line": 113,
                                  "column": 26
                                },
                                "identifierName": "sha256"
                              },
                              "name": "sha256"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 3563,
                                "end": 3566,
                                "loc": {
                                  "start": {
                                    "line": 113,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 113,
                                    "column": 30
                                  },
                                  "identifierName": "buf"
                                },
                                "name": "buf"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 3577,
                      "end": 3619,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 114,
                          "column": 50
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 3584,
                        "end": 3618,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 15
                          },
                          "end": {
                            "line": 114,
                            "column": 49
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3584,
                          "end": 3599,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 15
                            },
                            "end": {
                              "line": 114,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3584,
                            "end": 3588,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 15
                              },
                              "end": {
                                "line": 114,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3589,
                            "end": 3599,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 20
                              },
                              "end": {
                                "line": 114,
                                "column": 30
                              },
                              "identifierName": "verifyHash"
                            },
                            "name": "verifyHash"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 3600,
                            "end": 3605,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 31
                              },
                              "end": {
                                "line": 114,
                                "column": 36
                              },
                              "identifierName": "_hash"
                            },
                            "name": "_hash"
                          },
                          {
                            "type": "Identifier",
                            "start": 3607,
                            "end": 3617,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 38
                              },
                              "end": {
                                "line": 114,
                                "column": 48
                              },
                              "identifierName": "public_key"
                            },
                            "name": "public_key"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n        @param {Buffer} un-hashed\n        @param {./PublicKey}\n        @return {boolean}\n    ",
                    "start": 3400,
                    "end": 3499,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 4
                      },
                      "end": {
                        "line": 111,
                        "column": 6
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3631,
                "end": 3999,
                "loc": {
                  "start": {
                    "line": 117,
                    "column": 4
                  },
                  "end": {
                    "line": 132,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3631,
                  "end": 3641,
                  "loc": {
                    "start": {
                      "line": 117,
                      "column": 4
                    },
                    "end": {
                      "line": 117,
                      "column": 14
                    },
                    "identifierName": "verifyHash"
                  },
                  "name": "verifyHash"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3642,
                    "end": 3646,
                    "loc": {
                      "start": {
                        "line": 117,
                        "column": 15
                      },
                      "end": {
                        "line": 117,
                        "column": 19
                      },
                      "identifierName": "hash"
                    },
                    "name": "hash"
                  },
                  {
                    "type": "Identifier",
                    "start": 3648,
                    "end": 3658,
                    "loc": {
                      "start": {
                        "line": 117,
                        "column": 21
                      },
                      "end": {
                        "line": 117,
                        "column": 31
                      },
                      "identifierName": "public_key"
                    },
                    "name": "public_key"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3660,
                  "end": 3999,
                  "loc": {
                    "start": {
                      "line": 117,
                      "column": 33
                    },
                    "end": {
                      "line": 132,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3670,
                      "end": 3811,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3670,
                        "end": 3810,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 8
                          },
                          "end": {
                            "line": 122,
                            "column": 9
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3670,
                          "end": 3682,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 8
                            },
                            "end": {
                              "line": 118,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3670,
                            "end": 3676,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 8
                              },
                              "end": {
                                "line": 118,
                                "column": 14
                              },
                              "identifierName": "assert"
                            },
                            "name": "assert"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3677,
                            "end": 3682,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 15
                              },
                              "end": {
                                "line": 118,
                                "column": 20
                              },
                              "identifierName": "equal"
                            },
                            "name": "equal"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 3696,
                            "end": 3707,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 12
                              },
                              "end": {
                                "line": 119,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3696,
                              "end": 3700,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 12
                                },
                                "end": {
                                  "line": 119,
                                  "column": 16
                                },
                                "identifierName": "hash"
                              },
                              "name": "hash"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3701,
                              "end": 3707,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 17
                                },
                                "end": {
                                  "line": 119,
                                  "column": 23
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          {
                            "type": "NumericLiteral",
                            "start": 3721,
                            "end": 3723,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 12
                              },
                              "end": {
                                "line": 120,
                                "column": 14
                              }
                            },
                            "extra": {
                              "rawValue": 32,
                              "raw": "32"
                            },
                            "value": 32
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 3737,
                            "end": 3800,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 12
                              },
                              "end": {
                                "line": 121,
                                "column": 75
                              }
                            },
                            "left": {
                              "type": "StringLiteral",
                              "start": 3737,
                              "end": 3786,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 12
                                },
                                "end": {
                                  "line": 121,
                                  "column": 61
                                }
                              },
                              "extra": {
                                "rawValue": "A SHA 256 should be 32 bytes long, instead got ",
                                "raw": "\"A SHA 256 should be 32 bytes long, instead got \""
                              },
                              "value": "A SHA 256 should be 32 bytes long, instead got "
                            },
                            "operator": "+",
                            "right": {
                              "type": "MemberExpression",
                              "start": 3789,
                              "end": 3800,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 64
                                },
                                "end": {
                                  "line": 121,
                                  "column": 75
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3789,
                                "end": 3793,
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 68
                                  },
                                  "identifierName": "hash"
                                },
                                "name": "hash"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3794,
                                "end": 3800,
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 75
                                  },
                                  "identifierName": "length"
                                },
                                "name": "length"
                              },
                              "computed": false
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 3820,
                      "end": 3993,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 8
                        },
                        "end": {
                          "line": 131,
                          "column": 10
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 3827,
                        "end": 3992,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 15
                          },
                          "end": {
                            "line": 131,
                            "column": 9
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 3827,
                          "end": 3833,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 15
                            },
                            "end": {
                              "line": 123,
                              "column": 21
                            },
                            "identifierName": "verify"
                          },
                          "name": "verify"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 3847,
                            "end": 3856,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 12
                              },
                              "end": {
                                "line": 124,
                                "column": 21
                              },
                              "identifierName": "secp256k1"
                            },
                            "name": "secp256k1"
                          },
                          {
                            "type": "Identifier",
                            "start": 3870,
                            "end": 3874,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 12
                              },
                              "end": {
                                "line": 125,
                                "column": 16
                              },
                              "identifierName": "hash"
                            },
                            "name": "hash"
                          },
                          {
                            "type": "ObjectExpression",
                            "start": 3888,
                            "end": 3956,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 12
                              },
                              "end": {
                                "line": 129,
                                "column": 13
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 3906,
                                "end": 3915,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 25
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 3906,
                                  "end": 3907,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 17
                                    },
                                    "identifierName": "r"
                                  },
                                  "name": "r"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 3909,
                                  "end": 3915,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3909,
                                    "end": 3913,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3914,
                                    "end": 3915,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 25
                                      },
                                      "identifierName": "r"
                                    },
                                    "name": "r"
                                  },
                                  "computed": false
                                }
                              },
                              {
                                "type": "ObjectProperty",
                                "start": 3933,
                                "end": 3942,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 25
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 3933,
                                  "end": 3934,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 17
                                    },
                                    "identifierName": "s"
                                  },
                                  "name": "s"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 3936,
                                  "end": 3942,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3936,
                                    "end": 3940,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3941,
                                    "end": 3942,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 25
                                      },
                                      "identifierName": "s"
                                    },
                                    "name": "s"
                                  },
                                  "computed": false
                                }
                              }
                            ]
                          },
                          {
                            "type": "MemberExpression",
                            "start": 3970,
                            "end": 3982,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 12
                              },
                              "end": {
                                "line": 130,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3970,
                              "end": 3980,
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 12
                                },
                                "end": {
                                  "line": 130,
                                  "column": 22
                                },
                                "identifierName": "public_key"
                              },
                              "name": "public_key"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3981,
                              "end": 3982,
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 23
                                },
                                "end": {
                                  "line": 130,
                                  "column": 24
                                },
                                "identifierName": "Q"
                              },
                              "name": "Q"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " <HEX> ",
                    "start": 4005,
                    "end": 4016,
                    "loc": {
                      "start": {
                        "line": 134,
                        "column": 4
                      },
                      "end": {
                        "line": 134,
                        "column": 15
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 4022,
                "end": 4246,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 4
                  },
                  "end": {
                    "line": 144,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4022,
                  "end": 4034,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 4
                    },
                    "end": {
                      "line": 136,
                      "column": 16
                    },
                    "identifierName": "toByteBuffer"
                  },
                  "name": "toByteBuffer",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4037,
                  "end": 4246,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 19
                    },
                    "end": {
                      "line": 144,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 4047,
                      "end": 4053,
                      "loc": {
                        "start": {
                          "line": 137,
                          "column": 8
                        },
                        "end": {
                          "line": 137,
                          "column": 14
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4051,
                          "end": 4052,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 12
                            },
                            "end": {
                              "line": 137,
                              "column": 13
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4051,
                            "end": 4052,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 12
                              },
                              "end": {
                                "line": 137,
                                "column": 13
                              },
                              "identifierName": "b"
                            },
                            "name": "b"
                          },
                          "init": null
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4062,
                      "end": 4170,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 8
                        },
                        "end": {
                          "line": 141,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4062,
                        "end": 4169,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 8
                          },
                          "end": {
                            "line": 141,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 4062,
                          "end": 4063,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 8
                            },
                            "end": {
                              "line": 138,
                              "column": 9
                            },
                            "identifierName": "b"
                          },
                          "name": "b"
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 4066,
                          "end": 4169,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 12
                            },
                            "end": {
                              "line": 141,
                              "column": 9
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4070,
                            "end": 4080,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 16
                              },
                              "end": {
                                "line": 138,
                                "column": 26
                              },
                              "identifierName": "ByteBuffer"
                            },
                            "name": "ByteBuffer"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 4094,
                              "end": 4121,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 12
                                },
                                "end": {
                                  "line": 139,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4094,
                                "end": 4104,
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 22
                                  },
                                  "identifierName": "ByteBuffer"
                                },
                                "name": "ByteBuffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4105,
                                "end": 4121,
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 39
                                  },
                                  "identifierName": "DEFAULT_CAPACITY"
                                },
                                "name": "DEFAULT_CAPACITY"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 4135,
                              "end": 4159,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 12
                                },
                                "end": {
                                  "line": 140,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4135,
                                "end": 4145,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 22
                                  },
                                  "identifierName": "ByteBuffer"
                                },
                                "name": "ByteBuffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4146,
                                "end": 4159,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 36
                                  },
                                  "identifierName": "LITTLE_ENDIAN"
                                },
                                "name": "LITTLE_ENDIAN"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4179,
                      "end": 4204,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 8
                        },
                        "end": {
                          "line": 142,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4179,
                        "end": 4203,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 8
                          },
                          "end": {
                            "line": 142,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4179,
                          "end": 4200,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 8
                            },
                            "end": {
                              "line": 142,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4179,
                            "end": 4183,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 8
                              },
                              "end": {
                                "line": 142,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4184,
                            "end": 4200,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 13
                              },
                              "end": {
                                "line": 142,
                                "column": 29
                              },
                              "identifierName": "appendByteBuffer"
                            },
                            "name": "appendByteBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4201,
                            "end": 4202,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 30
                              },
                              "end": {
                                "line": 142,
                                "column": 31
                              },
                              "identifierName": "b"
                            },
                            "name": "b"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 4213,
                      "end": 4240,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 8
                        },
                        "end": {
                          "line": 143,
                          "column": 35
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 4220,
                        "end": 4239,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 15
                          },
                          "end": {
                            "line": 143,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4220,
                          "end": 4226,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 15
                            },
                            "end": {
                              "line": 143,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4220,
                            "end": 4221,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 15
                              },
                              "end": {
                                "line": 143,
                                "column": 16
                              },
                              "identifierName": "b"
                            },
                            "name": "b"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4222,
                            "end": 4226,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 17
                              },
                              "end": {
                                "line": 143,
                                "column": 21
                              },
                              "identifierName": "copy"
                            },
                            "name": "copy"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 4227,
                            "end": 4228,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 22
                              },
                              "end": {
                                "line": 143,
                                "column": 23
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          },
                          {
                            "type": "MemberExpression",
                            "start": 4230,
                            "end": 4238,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 25
                              },
                              "end": {
                                "line": 143,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4230,
                              "end": 4231,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 25
                                },
                                "end": {
                                  "line": 143,
                                  "column": 26
                                },
                                "identifierName": "b"
                              },
                              "name": "b"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4232,
                              "end": 4238,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 27
                                },
                                "end": {
                                  "line": 143,
                                  "column": 33
                                },
                                "identifierName": "offset"
                              },
                              "name": "offset"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " <HEX> ",
                    "start": 4005,
                    "end": 4016,
                    "loc": {
                      "start": {
                        "line": 134,
                        "column": 4
                      },
                      "end": {
                        "line": 134,
                        "column": 15
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 4252,
                "end": 4341,
                "loc": {
                  "start": {
                    "line": 146,
                    "column": 4
                  },
                  "end": {
                    "line": 148,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4259,
                  "end": 4266,
                  "loc": {
                    "start": {
                      "line": 146,
                      "column": 11
                    },
                    "end": {
                      "line": 146,
                      "column": 18
                    },
                    "identifierName": "fromHex"
                  },
                  "name": "fromHex"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4267,
                    "end": 4270,
                    "loc": {
                      "start": {
                        "line": 146,
                        "column": 19
                      },
                      "end": {
                        "line": 146,
                        "column": 22
                      },
                      "identifierName": "hex"
                    },
                    "name": "hex"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4272,
                  "end": 4341,
                  "loc": {
                    "start": {
                      "line": 146,
                      "column": 24
                    },
                    "end": {
                      "line": 148,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 4282,
                      "end": 4335,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 8
                        },
                        "end": {
                          "line": 147,
                          "column": 61
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 4289,
                        "end": 4334,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 15
                          },
                          "end": {
                            "line": 147,
                            "column": 60
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4289,
                          "end": 4309,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 15
                            },
                            "end": {
                              "line": 147,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4289,
                            "end": 4298,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 15
                              },
                              "end": {
                                "line": 147,
                                "column": 24
                              },
                              "identifierName": "Signature"
                            },
                            "name": "Signature"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4299,
                            "end": 4309,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 25
                              },
                              "end": {
                                "line": 147,
                                "column": 35
                              },
                              "identifierName": "fromBuffer"
                            },
                            "name": "fromBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 4310,
                            "end": 4333,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 36
                              },
                              "end": {
                                "line": 147,
                                "column": 59
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4310,
                              "end": 4321,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 36
                                },
                                "end": {
                                  "line": 147,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4310,
                                "end": 4316,
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 147,
                                    "column": 42
                                  },
                                  "identifierName": "Buffer"
                                },
                                "name": "Buffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4317,
                                "end": 4321,
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 147,
                                    "column": 47
                                  },
                                  "identifierName": "from"
                                },
                                "name": "from"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4322,
                                "end": 4325,
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 147,
                                    "column": 51
                                  },
                                  "identifierName": "hex"
                                },
                                "name": "hex"
                              },
                              {
                                "type": "StringLiteral",
                                "start": 4327,
                                "end": 4332,
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 147,
                                    "column": 58
                                  }
                                },
                                "extra": {
                                  "rawValue": "hex",
                                  "raw": "\"hex\""
                                },
                                "value": "hex"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 4347,
                "end": 4410,
                "loc": {
                  "start": {
                    "line": 150,
                    "column": 4
                  },
                  "end": {
                    "line": 152,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4347,
                  "end": 4352,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 150,
                      "column": 9
                    },
                    "identifierName": "toHex"
                  },
                  "name": "toHex"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4355,
                  "end": 4410,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 12
                    },
                    "end": {
                      "line": 152,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 4365,
                      "end": 4404,
                      "loc": {
                        "start": {
                          "line": 151,
                          "column": 8
                        },
                        "end": {
                          "line": 151,
                          "column": 47
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 4372,
                        "end": 4403,
                        "loc": {
                          "start": {
                            "line": 151,
                            "column": 15
                          },
                          "end": {
                            "line": 151,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4372,
                          "end": 4396,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 15
                            },
                            "end": {
                              "line": 151,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 4372,
                            "end": 4387,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 15
                              },
                              "end": {
                                "line": 151,
                                "column": 30
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4372,
                              "end": 4385,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 15
                                },
                                "end": {
                                  "line": 151,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4372,
                                "end": 4376,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 19
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4377,
                                "end": 4385,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 28
                                  },
                                  "identifierName": "toBuffer"
                                },
                                "name": "toBuffer"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4388,
                            "end": 4396,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 31
                              },
                              "end": {
                                "line": 151,
                                "column": 39
                              },
                              "identifierName": "toString"
                            },
                            "name": "toString"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 4397,
                            "end": 4402,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 40
                              },
                              "end": {
                                "line": 151,
                                "column": 45
                              }
                            },
                            "extra": {
                              "rawValue": "hex",
                              "raw": "\"hex\""
                            },
                            "value": "hex"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 4416,
                "end": 4567,
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 4
                  },
                  "end": {
                    "line": 158,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4423,
                  "end": 4430,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 11
                    },
                    "end": {
                      "line": 154,
                      "column": 18
                    },
                    "identifierName": "signHex"
                  },
                  "name": "signHex"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4431,
                    "end": 4434,
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 19
                      },
                      "end": {
                        "line": 154,
                        "column": 22
                      },
                      "identifierName": "hex"
                    },
                    "name": "hex"
                  },
                  {
                    "type": "Identifier",
                    "start": 4436,
                    "end": 4447,
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 24
                      },
                      "end": {
                        "line": 154,
                        "column": 35
                      },
                      "identifierName": "private_key"
                    },
                    "name": "private_key"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4449,
                  "end": 4567,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 37
                    },
                    "end": {
                      "line": 158,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 4459,
                      "end": 4467,
                      "loc": {
                        "start": {
                          "line": 155,
                          "column": 8
                        },
                        "end": {
                          "line": 155,
                          "column": 16
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4463,
                          "end": 4466,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 12
                            },
                            "end": {
                              "line": 155,
                              "column": 15
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4463,
                            "end": 4466,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 12
                              },
                              "end": {
                                "line": 155,
                                "column": 15
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          "init": null
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4476,
                      "end": 4506,
                      "loc": {
                        "start": {
                          "line": 156,
                          "column": 8
                        },
                        "end": {
                          "line": 156,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4476,
                        "end": 4505,
                        "loc": {
                          "start": {
                            "line": 156,
                            "column": 8
                          },
                          "end": {
                            "line": 156,
                            "column": 37
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 4476,
                          "end": 4479,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 8
                            },
                            "end": {
                              "line": 156,
                              "column": 11
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 4482,
                          "end": 4505,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 14
                            },
                            "end": {
                              "line": 156,
                              "column": 37
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4482,
                            "end": 4493,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 14
                              },
                              "end": {
                                "line": 156,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4482,
                              "end": 4488,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 14
                                },
                                "end": {
                                  "line": 156,
                                  "column": 20
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4489,
                              "end": 4493,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 21
                                },
                                "end": {
                                  "line": 156,
                                  "column": 25
                                },
                                "identifierName": "from"
                              },
                              "name": "from"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 4494,
                              "end": 4497,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 26
                                },
                                "end": {
                                  "line": 156,
                                  "column": 29
                                },
                                "identifierName": "hex"
                              },
                              "name": "hex"
                            },
                            {
                              "type": "StringLiteral",
                              "start": 4499,
                              "end": 4504,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 31
                                },
                                "end": {
                                  "line": 156,
                                  "column": 36
                                }
                              },
                              "extra": {
                                "rawValue": "hex",
                                "raw": "\"hex\""
                              },
                              "value": "hex"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 4515,
                      "end": 4561,
                      "loc": {
                        "start": {
                          "line": 157,
                          "column": 8
                        },
                        "end": {
                          "line": 157,
                          "column": 54
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 4522,
                        "end": 4560,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 15
                          },
                          "end": {
                            "line": 157,
                            "column": 53
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4522,
                          "end": 4542,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 15
                            },
                            "end": {
                              "line": 157,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4522,
                            "end": 4531,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 15
                              },
                              "end": {
                                "line": 157,
                                "column": 24
                              },
                              "identifierName": "Signature"
                            },
                            "name": "Signature"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4532,
                            "end": 4542,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 25
                              },
                              "end": {
                                "line": 157,
                                "column": 35
                              },
                              "identifierName": "signBuffer"
                            },
                            "name": "signBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4543,
                            "end": 4546,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 36
                              },
                              "end": {
                                "line": 157,
                                "column": 39
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          {
                            "type": "Identifier",
                            "start": 4548,
                            "end": 4559,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 41
                              },
                              "end": {
                                "line": 157,
                                "column": 52
                              },
                              "identifierName": "private_key"
                            },
                            "name": "private_key"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 4573,
                "end": 4714,
                "loc": {
                  "start": {
                    "line": 160,
                    "column": 4
                  },
                  "end": {
                    "line": 164,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4573,
                  "end": 4582,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 4
                    },
                    "end": {
                      "line": 160,
                      "column": 13
                    },
                    "identifierName": "verifyHex"
                  },
                  "name": "verifyHex"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4583,
                    "end": 4586,
                    "loc": {
                      "start": {
                        "line": 160,
                        "column": 14
                      },
                      "end": {
                        "line": 160,
                        "column": 17
                      },
                      "identifierName": "hex"
                    },
                    "name": "hex"
                  },
                  {
                    "type": "Identifier",
                    "start": 4588,
                    "end": 4598,
                    "loc": {
                      "start": {
                        "line": 160,
                        "column": 19
                      },
                      "end": {
                        "line": 160,
                        "column": 29
                      },
                      "identifierName": "public_key"
                    },
                    "name": "public_key"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4600,
                  "end": 4714,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 31
                    },
                    "end": {
                      "line": 164,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 4610,
                      "end": 4618,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 8
                        },
                        "end": {
                          "line": 161,
                          "column": 16
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4614,
                          "end": 4617,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 12
                            },
                            "end": {
                              "line": 161,
                              "column": 15
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4614,
                            "end": 4617,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 12
                              },
                              "end": {
                                "line": 161,
                                "column": 15
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          "init": null
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4627,
                      "end": 4657,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 162,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4627,
                        "end": 4656,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 8
                          },
                          "end": {
                            "line": 162,
                            "column": 37
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 4627,
                          "end": 4630,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 8
                            },
                            "end": {
                              "line": 162,
                              "column": 11
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 4633,
                          "end": 4656,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 14
                            },
                            "end": {
                              "line": 162,
                              "column": 37
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4633,
                            "end": 4644,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 14
                              },
                              "end": {
                                "line": 162,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4633,
                              "end": 4639,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 14
                                },
                                "end": {
                                  "line": 162,
                                  "column": 20
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4640,
                              "end": 4644,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 21
                                },
                                "end": {
                                  "line": 162,
                                  "column": 25
                                },
                                "identifierName": "from"
                              },
                              "name": "from"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 4645,
                              "end": 4648,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 26
                                },
                                "end": {
                                  "line": 162,
                                  "column": 29
                                },
                                "identifierName": "hex"
                              },
                              "name": "hex"
                            },
                            {
                              "type": "StringLiteral",
                              "start": 4650,
                              "end": 4655,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 31
                                },
                                "end": {
                                  "line": 162,
                                  "column": 36
                                }
                              },
                              "extra": {
                                "rawValue": "hex",
                                "raw": "\"hex\""
                              },
                              "value": "hex"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 4666,
                      "end": 4708,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 163,
                          "column": 50
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 4673,
                        "end": 4707,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 15
                          },
                          "end": {
                            "line": 163,
                            "column": 49
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4673,
                          "end": 4690,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 15
                            },
                            "end": {
                              "line": 163,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4673,
                            "end": 4677,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 15
                              },
                              "end": {
                                "line": 163,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4678,
                            "end": 4690,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 20
                              },
                              "end": {
                                "line": 163,
                                "column": 32
                              },
                              "identifierName": "verifyBuffer"
                            },
                            "name": "verifyBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4691,
                            "end": 4694,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 33
                              },
                              "end": {
                                "line": 163,
                                "column": 36
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          {
                            "type": "Identifier",
                            "start": 4696,
                            "end": 4706,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 38
                              },
                              "end": {
                                "line": 163,
                                "column": 48
                              },
                              "identifierName": "public_key"
                            },
                            "name": "public_key"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              }
            ]
          },
          "__PseudoExport__": false,
          "leadingComments": [],
          "trailingComments": []
        },
        "leadingComments": null
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n        @return {PublicKey}\n    ",
      "start": 1339,
      "end": 1377,
      "loc": {
        "start": {
          "line": 43,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n        @param {Buffer} buf\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
      "start": 1643,
      "end": 1749,
      "loc": {
        "start": {
          "line": 56,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Sign a buffer of exactally 32 bytes in size (sha256(text))\n        @param {Buffer} buf - 32 bytes binary\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
      "start": 1899,
      "end": 2082,
      "loc": {
        "start": {
          "line": 66,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 6
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " compressed",
      "start": 2885,
      "end": 2898,
      "loc": {
        "start": {
          "line": 90,
          "column": 24
        },
        "end": {
          "line": 90,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " compact  //  24 or 27 :( forcing odd-y 2nd key candidate)",
      "start": 2924,
      "end": 2984,
      "loc": {
        "start": {
          "line": 91,
          "column": 25
        },
        "end": {
          "line": 91,
          "column": 85
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n        @param {Buffer} un-hashed\n        @param {./PublicKey}\n        @return {boolean}\n    ",
      "start": 3400,
      "end": 3499,
      "loc": {
        "start": {
          "line": 107,
          "column": 4
        },
        "end": {
          "line": 111,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " <HEX> ",
      "start": 4005,
      "end": 4016,
      "loc": {
        "start": {
          "line": 134,
          "column": 4
        },
        "end": {
          "line": 134,
          "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": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7,
      "end": 8,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sign",
      "start": 8,
      "end": 12,
      "loc": {
        "start": {
          "line": 1,
          "column": 8
        },
        "end": {
          "line": 1,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12,
      "end": 13,
      "loc": {
        "start": {
          "line": 1,
          "column": 12
        },
        "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": "recoverPubKey",
      "start": 14,
      "end": 27,
      "loc": {
        "start": {
          "line": 1,
          "column": 14
        },
        "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": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "verify",
      "start": 29,
      "end": 35,
      "loc": {
        "start": {
          "line": 1,
          "column": 29
        },
        "end": {
          "line": 1,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 35,
      "end": 36,
      "loc": {
        "start": {
          "line": 1,
          "column": 35
        },
        "end": {
          "line": 1,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "calcPubKeyRecoveryParam",
      "start": 37,
      "end": 60,
      "loc": {
        "start": {
          "line": 1,
          "column": 37
        },
        "end": {
          "line": 1,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 60,
      "end": 61,
      "loc": {
        "start": {
          "line": 1,
          "column": 60
        },
        "end": {
          "line": 1,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 62,
      "end": 66,
      "loc": {
        "start": {
          "line": 1,
          "column": 62
        },
        "end": {
          "line": 1,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./ecdsa",
      "start": 67,
      "end": 76,
      "loc": {
        "start": {
          "line": 1,
          "column": 67
        },
        "end": {
          "line": 1,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 76,
      "end": 77,
      "loc": {
        "start": {
          "line": 1,
          "column": 76
        },
        "end": {
          "line": 1,
          "column": 77
        }
      }
    },
    {
      "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": 78,
      "end": 84,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 85,
      "end": 86,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256",
      "start": 86,
      "end": 92,
      "loc": {
        "start": {
          "line": 2,
          "column": 8
        },
        "end": {
          "line": 2,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 92,
      "end": 93,
      "loc": {
        "start": {
          "line": 2,
          "column": 14
        },
        "end": {
          "line": 2,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 94,
      "end": 98,
      "loc": {
        "start": {
          "line": 2,
          "column": 16
        },
        "end": {
          "line": 2,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./hash",
      "start": 99,
      "end": 107,
      "loc": {
        "start": {
          "line": 2,
          "column": 21
        },
        "end": {
          "line": 2,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 107,
      "end": 108,
      "loc": {
        "start": {
          "line": 2,
          "column": 29
        },
        "end": {
          "line": 2,
          "column": 30
        }
      }
    },
    {
      "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": 109,
      "end": 115,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 116,
      "end": 117,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getCurveByName",
      "start": 117,
      "end": 131,
      "loc": {
        "start": {
          "line": 3,
          "column": 8
        },
        "end": {
          "line": 3,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 131,
      "end": 132,
      "loc": {
        "start": {
          "line": 3,
          "column": 22
        },
        "end": {
          "line": 3,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 133,
      "end": 137,
      "loc": {
        "start": {
          "line": 3,
          "column": 24
        },
        "end": {
          "line": 3,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "ecurve",
      "start": 138,
      "end": 146,
      "loc": {
        "start": {
          "line": 3,
          "column": 29
        },
        "end": {
          "line": 3,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 146,
      "end": 147,
      "loc": {
        "start": {
          "line": 3,
          "column": 37
        },
        "end": {
          "line": 3,
          "column": 38
        }
      }
    },
    {
      "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": 148,
      "end": 151,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "secp256k1",
      "start": 152,
      "end": 161,
      "loc": {
        "start": {
          "line": 4,
          "column": 4
        },
        "end": {
          "line": 4,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 162,
      "end": 163,
      "loc": {
        "start": {
          "line": 4,
          "column": 14
        },
        "end": {
          "line": 4,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getCurveByName",
      "start": 164,
      "end": 178,
      "loc": {
        "start": {
          "line": 4,
          "column": 16
        },
        "end": {
          "line": 4,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 178,
      "end": 179,
      "loc": {
        "start": {
          "line": 4,
          "column": 30
        },
        "end": {
          "line": 4,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "secp256k1",
      "start": 179,
      "end": 190,
      "loc": {
        "start": {
          "line": 4,
          "column": 31
        },
        "end": {
          "line": 4,
          "column": 42
        }
      }
    },
    {
      "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": 42
        },
        "end": {
          "line": 4,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "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": 43
        },
        "end": {
          "line": 4,
          "column": 44
        }
      }
    },
    {
      "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": 193,
      "end": 199,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 200,
      "end": 206,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 207,
      "end": 211,
      "loc": {
        "start": {
          "line": 5,
          "column": 14
        },
        "end": {
          "line": 5,
          "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": 212,
      "end": 220,
      "loc": {
        "start": {
          "line": 5,
          "column": 19
        },
        "end": {
          "line": 5,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 220,
      "end": 221,
      "loc": {
        "start": {
          "line": 5,
          "column": 27
        },
        "end": {
          "line": 5,
          "column": 28
        }
      }
    },
    {
      "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": 222,
      "end": 228,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 229,
      "end": 239,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 240,
      "end": 244,
      "loc": {
        "start": {
          "line": 6,
          "column": 18
        },
        "end": {
          "line": 6,
          "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": 245,
      "end": 251,
      "loc": {
        "start": {
          "line": 6,
          "column": 23
        },
        "end": {
          "line": 6,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 251,
      "end": 252,
      "loc": {
        "start": {
          "line": 6,
          "column": 29
        },
        "end": {
          "line": 6,
          "column": 30
        }
      }
    },
    {
      "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": 253,
      "end": 259,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PublicKey",
      "start": 260,
      "end": 269,
      "loc": {
        "start": {
          "line": 7,
          "column": 7
        },
        "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": "from",
      "start": 270,
      "end": 274,
      "loc": {
        "start": {
          "line": 7,
          "column": 17
        },
        "end": {
          "line": 7,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./PublicKey",
      "start": 275,
      "end": 288,
      "loc": {
        "start": {
          "line": 7,
          "column": 22
        },
        "end": {
          "line": 7,
          "column": 35
        }
      }
    },
    {
      "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": 7,
          "column": 35
        },
        "end": {
          "line": 7,
          "column": 36
        }
      }
    },
    {
      "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": 290,
      "end": 295,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 296,
      "end": 302,
      "loc": {
        "start": {
          "line": 8,
          "column": 6
        },
        "end": {
          "line": 8,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 303,
      "end": 304,
      "loc": {
        "start": {
          "line": 8,
          "column": 13
        },
        "end": {
          "line": 8,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 305,
      "end": 312,
      "loc": {
        "start": {
          "line": 8,
          "column": 15
        },
        "end": {
          "line": 8,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 312,
      "end": 313,
      "loc": {
        "start": {
          "line": 8,
          "column": 22
        },
        "end": {
          "line": 8,
          "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": 313,
      "end": 326,
      "loc": {
        "start": {
          "line": 8,
          "column": 23
        },
        "end": {
          "line": 8,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 326,
      "end": 327,
      "loc": {
        "start": {
          "line": 8,
          "column": 36
        },
        "end": {
          "line": 8,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 327,
      "end": 328,
      "loc": {
        "start": {
          "line": 8,
          "column": 37
        },
        "end": {
          "line": 8,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 328,
      "end": 334,
      "loc": {
        "start": {
          "line": 8,
          "column": 38
        },
        "end": {
          "line": 8,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 334,
      "end": 335,
      "loc": {
        "start": {
          "line": 8,
          "column": 44
        },
        "end": {
          "line": 8,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 337,
      "end": 342,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Signature",
      "start": 343,
      "end": 352,
      "loc": {
        "start": {
          "line": 10,
          "column": 6
        },
        "end": {
          "line": 10,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 353,
      "end": 354,
      "loc": {
        "start": {
          "line": 10,
          "column": 16
        },
        "end": {
          "line": 10,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 359,
      "end": 370,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 370,
      "end": 371,
      "loc": {
        "start": {
          "line": 11,
          "column": 15
        },
        "end": {
          "line": 11,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r1",
      "start": 371,
      "end": 373,
      "loc": {
        "start": {
          "line": 11,
          "column": 16
        },
        "end": {
          "line": 11,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 373,
      "end": 374,
      "loc": {
        "start": {
          "line": 11,
          "column": 18
        },
        "end": {
          "line": 11,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s1",
      "start": 375,
      "end": 377,
      "loc": {
        "start": {
          "line": 11,
          "column": 20
        },
        "end": {
          "line": 11,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 377,
      "end": 378,
      "loc": {
        "start": {
          "line": 11,
          "column": 22
        },
        "end": {
          "line": 11,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i1",
      "start": 379,
      "end": 381,
      "loc": {
        "start": {
          "line": 11,
          "column": 24
        },
        "end": {
          "line": 11,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 381,
      "end": 382,
      "loc": {
        "start": {
          "line": 11,
          "column": 26
        },
        "end": {
          "line": 11,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 383,
      "end": 384,
      "loc": {
        "start": {
          "line": 11,
          "column": 28
        },
        "end": {
          "line": 11,
          "column": 29
        }
      }
    },
    {
      "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": 393,
      "end": 397,
      "loc": {
        "start": {
          "line": 12,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 397,
      "end": 398,
      "loc": {
        "start": {
          "line": 12,
          "column": 12
        },
        "end": {
          "line": 12,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 398,
      "end": 399,
      "loc": {
        "start": {
          "line": 12,
          "column": 13
        },
        "end": {
          "line": 12,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 400,
      "end": 401,
      "loc": {
        "start": {
          "line": 12,
          "column": 15
        },
        "end": {
          "line": 12,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r1",
      "start": 402,
      "end": 404,
      "loc": {
        "start": {
          "line": 12,
          "column": 17
        },
        "end": {
          "line": 12,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 404,
      "end": 405,
      "loc": {
        "start": {
          "line": 12,
          "column": 19
        },
        "end": {
          "line": 12,
          "column": 20
        }
      }
    },
    {
      "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": 414,
      "end": 418,
      "loc": {
        "start": {
          "line": 13,
          "column": 8
        },
        "end": {
          "line": 13,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 418,
      "end": 419,
      "loc": {
        "start": {
          "line": 13,
          "column": 12
        },
        "end": {
          "line": 13,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 419,
      "end": 420,
      "loc": {
        "start": {
          "line": 13,
          "column": 13
        },
        "end": {
          "line": 13,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 421,
      "end": 422,
      "loc": {
        "start": {
          "line": 13,
          "column": 15
        },
        "end": {
          "line": 13,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s1",
      "start": 423,
      "end": 425,
      "loc": {
        "start": {
          "line": 13,
          "column": 17
        },
        "end": {
          "line": 13,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 425,
      "end": 426,
      "loc": {
        "start": {
          "line": 13,
          "column": 19
        },
        "end": {
          "line": 13,
          "column": 20
        }
      }
    },
    {
      "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": 435,
      "end": 439,
      "loc": {
        "start": {
          "line": 14,
          "column": 8
        },
        "end": {
          "line": 14,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 439,
      "end": 440,
      "loc": {
        "start": {
          "line": 14,
          "column": 12
        },
        "end": {
          "line": 14,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 440,
      "end": 441,
      "loc": {
        "start": {
          "line": 14,
          "column": 13
        },
        "end": {
          "line": 14,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 442,
      "end": 443,
      "loc": {
        "start": {
          "line": 14,
          "column": 15
        },
        "end": {
          "line": 14,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i1",
      "start": 444,
      "end": 446,
      "loc": {
        "start": {
          "line": 14,
          "column": 17
        },
        "end": {
          "line": 14,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 446,
      "end": 447,
      "loc": {
        "start": {
          "line": 14,
          "column": 19
        },
        "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": "assert",
      "start": 456,
      "end": 462,
      "loc": {
        "start": {
          "line": 15,
          "column": 8
        },
        "end": {
          "line": 15,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 462,
      "end": 463,
      "loc": {
        "start": {
          "line": 15,
          "column": 14
        },
        "end": {
          "line": 15,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 463,
      "end": 468,
      "loc": {
        "start": {
          "line": 15,
          "column": 15
        },
        "end": {
          "line": 15,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 468,
      "end": 469,
      "loc": {
        "start": {
          "line": 15,
          "column": 20
        },
        "end": {
          "line": 15,
          "column": 21
        }
      }
    },
    {
      "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": 469,
      "end": 473,
      "loc": {
        "start": {
          "line": 15,
          "column": 21
        },
        "end": {
          "line": 15,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 473,
      "end": 474,
      "loc": {
        "start": {
          "line": 15,
          "column": 25
        },
        "end": {
          "line": 15,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 474,
      "end": 475,
      "loc": {
        "start": {
          "line": 15,
          "column": 26
        },
        "end": {
          "line": 15,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 476,
      "end": 478,
      "loc": {
        "start": {
          "line": 15,
          "column": 28
        },
        "end": {
          "line": 15,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 479,
      "end": 483,
      "loc": {
        "start": {
          "line": 15,
          "column": 31
        },
        "end": {
          "line": 15,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 483,
      "end": 484,
      "loc": {
        "start": {
          "line": 15,
          "column": 35
        },
        "end": {
          "line": 15,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 485,
      "end": 489,
      "loc": {
        "start": {
          "line": 15,
          "column": 37
        },
        "end": {
          "line": 15,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 489,
      "end": 490,
      "loc": {
        "start": {
          "line": 15,
          "column": 41
        },
        "end": {
          "line": 15,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Missing parameter",
      "start": 491,
      "end": 510,
      "loc": {
        "start": {
          "line": 15,
          "column": 43
        },
        "end": {
          "line": 15,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 510,
      "end": 511,
      "loc": {
        "start": {
          "line": 15,
          "column": 62
        },
        "end": {
          "line": 15,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 511,
      "end": 512,
      "loc": {
        "start": {
          "line": 15,
          "column": 63
        },
        "end": {
          "line": 15,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 521,
      "end": 527,
      "loc": {
        "start": {
          "line": 16,
          "column": 8
        },
        "end": {
          "line": 16,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 527,
      "end": 528,
      "loc": {
        "start": {
          "line": 16,
          "column": 14
        },
        "end": {
          "line": 16,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 528,
      "end": 533,
      "loc": {
        "start": {
          "line": 16,
          "column": 15
        },
        "end": {
          "line": 16,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 533,
      "end": 534,
      "loc": {
        "start": {
          "line": 16,
          "column": 20
        },
        "end": {
          "line": 16,
          "column": 21
        }
      }
    },
    {
      "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": 534,
      "end": 538,
      "loc": {
        "start": {
          "line": 16,
          "column": 21
        },
        "end": {
          "line": 16,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 538,
      "end": 539,
      "loc": {
        "start": {
          "line": 16,
          "column": 25
        },
        "end": {
          "line": 16,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 539,
      "end": 540,
      "loc": {
        "start": {
          "line": 16,
          "column": 26
        },
        "end": {
          "line": 16,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 541,
      "end": 543,
      "loc": {
        "start": {
          "line": 16,
          "column": 28
        },
        "end": {
          "line": 16,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 544,
      "end": 548,
      "loc": {
        "start": {
          "line": 16,
          "column": 31
        },
        "end": {
          "line": 16,
          "column": 35
        }
      }
    },
    {
      "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": 16,
          "column": 35
        },
        "end": {
          "line": 16,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 550,
      "end": 554,
      "loc": {
        "start": {
          "line": 16,
          "column": 37
        },
        "end": {
          "line": 16,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 554,
      "end": 555,
      "loc": {
        "start": {
          "line": 16,
          "column": 41
        },
        "end": {
          "line": 16,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Missing parameter",
      "start": 556,
      "end": 575,
      "loc": {
        "start": {
          "line": 16,
          "column": 43
        },
        "end": {
          "line": 16,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 575,
      "end": 576,
      "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": 576,
      "end": 577,
      "loc": {
        "start": {
          "line": 16,
          "column": 63
        },
        "end": {
          "line": 16,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 586,
      "end": 592,
      "loc": {
        "start": {
          "line": 17,
          "column": 8
        },
        "end": {
          "line": 17,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 592,
      "end": 593,
      "loc": {
        "start": {
          "line": 17,
          "column": 14
        },
        "end": {
          "line": 17,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 593,
      "end": 598,
      "loc": {
        "start": {
          "line": 17,
          "column": 15
        },
        "end": {
          "line": 17,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 598,
      "end": 599,
      "loc": {
        "start": {
          "line": 17,
          "column": 20
        },
        "end": {
          "line": 17,
          "column": 21
        }
      }
    },
    {
      "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": 599,
      "end": 603,
      "loc": {
        "start": {
          "line": 17,
          "column": 21
        },
        "end": {
          "line": 17,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 603,
      "end": 604,
      "loc": {
        "start": {
          "line": 17,
          "column": 25
        },
        "end": {
          "line": 17,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 604,
      "end": 605,
      "loc": {
        "start": {
          "line": 17,
          "column": 26
        },
        "end": {
          "line": 17,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 606,
      "end": 608,
      "loc": {
        "start": {
          "line": 17,
          "column": 28
        },
        "end": {
          "line": 17,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 609,
      "end": 613,
      "loc": {
        "start": {
          "line": 17,
          "column": 31
        },
        "end": {
          "line": 17,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 613,
      "end": 614,
      "loc": {
        "start": {
          "line": 17,
          "column": 35
        },
        "end": {
          "line": 17,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 615,
      "end": 619,
      "loc": {
        "start": {
          "line": 17,
          "column": 37
        },
        "end": {
          "line": 17,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 619,
      "end": 620,
      "loc": {
        "start": {
          "line": 17,
          "column": 41
        },
        "end": {
          "line": 17,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Missing parameter",
      "start": 621,
      "end": 640,
      "loc": {
        "start": {
          "line": 17,
          "column": 43
        },
        "end": {
          "line": 17,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 640,
      "end": 641,
      "loc": {
        "start": {
          "line": 17,
          "column": 62
        },
        "end": {
          "line": 17,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 641,
      "end": 642,
      "loc": {
        "start": {
          "line": 17,
          "column": 63
        },
        "end": {
          "line": 17,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 647,
      "end": 648,
      "loc": {
        "start": {
          "line": 18,
          "column": 4
        },
        "end": {
          "line": 18,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 654,
      "end": 660,
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 20,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 661,
      "end": 671,
      "loc": {
        "start": {
          "line": 20,
          "column": 11
        },
        "end": {
          "line": 20,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 671,
      "end": 672,
      "loc": {
        "start": {
          "line": 20,
          "column": 21
        },
        "end": {
          "line": 20,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 672,
      "end": 675,
      "loc": {
        "start": {
          "line": 20,
          "column": 22
        },
        "end": {
          "line": 20,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 675,
      "end": 676,
      "loc": {
        "start": {
          "line": 20,
          "column": 25
        },
        "end": {
          "line": 20,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 677,
      "end": 678,
      "loc": {
        "start": {
          "line": 20,
          "column": 27
        },
        "end": {
          "line": 20,
          "column": 28
        }
      }
    },
    {
      "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": 687,
      "end": 690,
      "loc": {
        "start": {
          "line": 21,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 691,
      "end": 692,
      "loc": {
        "start": {
          "line": 21,
          "column": 12
        },
        "end": {
          "line": 21,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 692,
      "end": 693,
      "loc": {
        "start": {
          "line": 21,
          "column": 13
        },
        "end": {
          "line": 21,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 694,
      "end": 695,
      "loc": {
        "start": {
          "line": 21,
          "column": 15
        },
        "end": {
          "line": 21,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 695,
      "end": 696,
      "loc": {
        "start": {
          "line": 21,
          "column": 16
        },
        "end": {
          "line": 21,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 697,
      "end": 698,
      "loc": {
        "start": {
          "line": 21,
          "column": 18
        },
        "end": {
          "line": 21,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 698,
      "end": 699,
      "loc": {
        "start": {
          "line": 21,
          "column": 19
        },
        "end": {
          "line": 21,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 708,
      "end": 714,
      "loc": {
        "start": {
          "line": 22,
          "column": 8
        },
        "end": {
          "line": 22,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 714,
      "end": 715,
      "loc": {
        "start": {
          "line": 22,
          "column": 14
        },
        "end": {
          "line": 22,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 715,
      "end": 720,
      "loc": {
        "start": {
          "line": 22,
          "column": 15
        },
        "end": {
          "line": 22,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 720,
      "end": 721,
      "loc": {
        "start": {
          "line": 22,
          "column": 20
        },
        "end": {
          "line": 22,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 721,
      "end": 724,
      "loc": {
        "start": {
          "line": 22,
          "column": 21
        },
        "end": {
          "line": 22,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 724,
      "end": 725,
      "loc": {
        "start": {
          "line": 22,
          "column": 24
        },
        "end": {
          "line": 22,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 725,
      "end": 731,
      "loc": {
        "start": {
          "line": 22,
          "column": 25
        },
        "end": {
          "line": 22,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 731,
      "end": 732,
      "loc": {
        "start": {
          "line": 22,
          "column": 31
        },
        "end": {
          "line": 22,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 65,
      "start": 733,
      "end": 735,
      "loc": {
        "start": {
          "line": 22,
          "column": 33
        },
        "end": {
          "line": 22,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 735,
      "end": 736,
      "loc": {
        "start": {
          "line": 22,
          "column": 35
        },
        "end": {
          "line": 22,
          "column": 36
        }
      }
    },
    {
      "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": 737,
      "end": 763,
      "loc": {
        "start": {
          "line": 22,
          "column": 37
        },
        "end": {
          "line": 22,
          "column": 63
        }
      }
    },
    {
      "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": 22,
          "column": 63
        },
        "end": {
          "line": 22,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 764,
      "end": 765,
      "loc": {
        "start": {
          "line": 22,
          "column": 64
        },
        "end": {
          "line": 22,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 774,
      "end": 775,
      "loc": {
        "start": {
          "line": 23,
          "column": 8
        },
        "end": {
          "line": 23,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 776,
      "end": 777,
      "loc": {
        "start": {
          "line": 23,
          "column": 10
        },
        "end": {
          "line": 23,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 778,
      "end": 781,
      "loc": {
        "start": {
          "line": 23,
          "column": 12
        },
        "end": {
          "line": 23,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 781,
      "end": 782,
      "loc": {
        "start": {
          "line": 23,
          "column": 15
        },
        "end": {
          "line": 23,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 782,
      "end": 791,
      "loc": {
        "start": {
          "line": 23,
          "column": 16
        },
        "end": {
          "line": 23,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 791,
      "end": 792,
      "loc": {
        "start": {
          "line": 23,
          "column": 25
        },
        "end": {
          "line": 23,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 792,
      "end": 793,
      "loc": {
        "start": {
          "line": 23,
          "column": 26
        },
        "end": {
          "line": 23,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 793,
      "end": 794,
      "loc": {
        "start": {
          "line": 23,
          "column": 27
        },
        "end": {
          "line": 23,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 794,
      "end": 795,
      "loc": {
        "start": {
          "line": 23,
          "column": 28
        },
        "end": {
          "line": 23,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 804,
      "end": 810,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 810,
      "end": 811,
      "loc": {
        "start": {
          "line": 24,
          "column": 14
        },
        "end": {
          "line": 24,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 811,
      "end": 816,
      "loc": {
        "start": {
          "line": 24,
          "column": 15
        },
        "end": {
          "line": 24,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 816,
      "end": 817,
      "loc": {
        "start": {
          "line": 24,
          "column": 20
        },
        "end": {
          "line": 24,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 817,
      "end": 818,
      "loc": {
        "start": {
          "line": 24,
          "column": 21
        },
        "end": {
          "line": 24,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 819,
      "end": 820,
      "loc": {
        "start": {
          "line": 24,
          "column": 23
        },
        "end": {
          "line": 24,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 27,
      "start": 821,
      "end": 823,
      "loc": {
        "start": {
          "line": 24,
          "column": 25
        },
        "end": {
          "line": 24,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 823,
      "end": 824,
      "loc": {
        "start": {
          "line": 24,
          "column": 27
        },
        "end": {
          "line": 24,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 825,
      "end": 826,
      "loc": {
        "start": {
          "line": 24,
          "column": 29
        },
        "end": {
          "line": 24,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 826,
      "end": 827,
      "loc": {
        "start": {
          "line": 24,
          "column": 30
        },
        "end": {
          "line": 24,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 828,
      "end": 829,
      "loc": {
        "start": {
          "line": 24,
          "column": 32
        },
        "end": {
          "line": 24,
          "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": 830,
      "end": 832,
      "loc": {
        "start": {
          "line": 24,
          "column": 34
        },
        "end": {
          "line": 24,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 832,
      "end": 833,
      "loc": {
        "start": {
          "line": 24,
          "column": 36
        },
        "end": {
          "line": 24,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 5,
        "updateContext": null
      },
      "value": "&",
      "start": 834,
      "end": 835,
      "loc": {
        "start": {
          "line": 24,
          "column": 38
        },
        "end": {
          "line": 24,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 7,
      "start": 836,
      "end": 837,
      "loc": {
        "start": {
          "line": 24,
          "column": 40
        },
        "end": {
          "line": 24,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 837,
      "end": 838,
      "loc": {
        "start": {
          "line": 24,
          "column": 41
        },
        "end": {
          "line": 24,
          "column": 42
        }
      }
    },
    {
      "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": 839,
      "end": 868,
      "loc": {
        "start": {
          "line": 24,
          "column": 43
        },
        "end": {
          "line": 24,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 868,
      "end": 869,
      "loc": {
        "start": {
          "line": 24,
          "column": 72
        },
        "end": {
          "line": 24,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 869,
      "end": 870,
      "loc": {
        "start": {
          "line": 24,
          "column": 73
        },
        "end": {
          "line": 24,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 879,
      "end": 880,
      "loc": {
        "start": {
          "line": 25,
          "column": 8
        },
        "end": {
          "line": 25,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 881,
      "end": 882,
      "loc": {
        "start": {
          "line": 25,
          "column": 10
        },
        "end": {
          "line": 25,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 883,
      "end": 893,
      "loc": {
        "start": {
          "line": 25,
          "column": 12
        },
        "end": {
          "line": 25,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 893,
      "end": 894,
      "loc": {
        "start": {
          "line": 25,
          "column": 22
        },
        "end": {
          "line": 25,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 894,
      "end": 904,
      "loc": {
        "start": {
          "line": 25,
          "column": 23
        },
        "end": {
          "line": 25,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 904,
      "end": 905,
      "loc": {
        "start": {
          "line": 25,
          "column": 33
        },
        "end": {
          "line": 25,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 905,
      "end": 908,
      "loc": {
        "start": {
          "line": 25,
          "column": 34
        },
        "end": {
          "line": 25,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 908,
      "end": 909,
      "loc": {
        "start": {
          "line": 25,
          "column": 37
        },
        "end": {
          "line": 25,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 909,
      "end": 914,
      "loc": {
        "start": {
          "line": 25,
          "column": 38
        },
        "end": {
          "line": 25,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 914,
      "end": 915,
      "loc": {
        "start": {
          "line": 25,
          "column": 43
        },
        "end": {
          "line": 25,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 915,
      "end": 916,
      "loc": {
        "start": {
          "line": 25,
          "column": 44
        },
        "end": {
          "line": 25,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 916,
      "end": 917,
      "loc": {
        "start": {
          "line": 25,
          "column": 45
        },
        "end": {
          "line": 25,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 33,
      "start": 918,
      "end": 920,
      "loc": {
        "start": {
          "line": 25,
          "column": 47
        },
        "end": {
          "line": 25,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 920,
      "end": 921,
      "loc": {
        "start": {
          "line": 25,
          "column": 49
        },
        "end": {
          "line": 25,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 921,
      "end": 922,
      "loc": {
        "start": {
          "line": 25,
          "column": 50
        },
        "end": {
          "line": 25,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 922,
      "end": 923,
      "loc": {
        "start": {
          "line": 25,
          "column": 51
        },
        "end": {
          "line": 25,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 932,
      "end": 933,
      "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": 934,
      "end": 935,
      "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": 936,
      "end": 946,
      "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": 946,
      "end": 947,
      "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": 947,
      "end": 957,
      "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": 957,
      "end": 958,
      "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": "buf",
      "start": 958,
      "end": 961,
      "loc": {
        "start": {
          "line": 26,
          "column": 34
        },
        "end": {
          "line": 26,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 961,
      "end": 962,
      "loc": {
        "start": {
          "line": 26,
          "column": 37
        },
        "end": {
          "line": 26,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 962,
      "end": 967,
      "loc": {
        "start": {
          "line": 26,
          "column": 38
        },
        "end": {
          "line": 26,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 967,
      "end": 968,
      "loc": {
        "start": {
          "line": 26,
          "column": 43
        },
        "end": {
          "line": 26,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 33,
      "start": 968,
      "end": 970,
      "loc": {
        "start": {
          "line": 26,
          "column": 44
        },
        "end": {
          "line": 26,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 970,
      "end": 971,
      "loc": {
        "start": {
          "line": 26,
          "column": 46
        },
        "end": {
          "line": 26,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 971,
      "end": 972,
      "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": 972,
      "end": 973,
      "loc": {
        "start": {
          "line": 26,
          "column": 48
        },
        "end": {
          "line": 26,
          "column": 49
        }
      }
    },
    {
      "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": 982,
      "end": 988,
      "loc": {
        "start": {
          "line": 27,
          "column": 8
        },
        "end": {
          "line": 27,
          "column": 14
        }
      }
    },
    {
      "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": 989,
      "end": 992,
      "loc": {
        "start": {
          "line": 27,
          "column": 15
        },
        "end": {
          "line": 27,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Signature",
      "start": 993,
      "end": 1002,
      "loc": {
        "start": {
          "line": 27,
          "column": 19
        },
        "end": {
          "line": 27,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1002,
      "end": 1003,
      "loc": {
        "start": {
          "line": 27,
          "column": 28
        },
        "end": {
          "line": 27,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 1003,
      "end": 1004,
      "loc": {
        "start": {
          "line": 27,
          "column": 29
        },
        "end": {
          "line": 27,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1004,
      "end": 1005,
      "loc": {
        "start": {
          "line": 27,
          "column": 30
        },
        "end": {
          "line": 27,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 1006,
      "end": 1007,
      "loc": {
        "start": {
          "line": 27,
          "column": 32
        },
        "end": {
          "line": 27,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1007,
      "end": 1008,
      "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": "i",
      "start": 1009,
      "end": 1010,
      "loc": {
        "start": {
          "line": 27,
          "column": 35
        },
        "end": {
          "line": 27,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1010,
      "end": 1011,
      "loc": {
        "start": {
          "line": 27,
          "column": 36
        },
        "end": {
          "line": 27,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1011,
      "end": 1012,
      "loc": {
        "start": {
          "line": 27,
          "column": 37
        },
        "end": {
          "line": 27,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1017,
      "end": 1018,
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 1024,
      "end": 1032,
      "loc": {
        "start": {
          "line": 30,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1032,
      "end": 1033,
      "loc": {
        "start": {
          "line": 30,
          "column": 12
        },
        "end": {
          "line": 30,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1033,
      "end": 1034,
      "loc": {
        "start": {
          "line": 30,
          "column": 13
        },
        "end": {
          "line": 30,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1035,
      "end": 1036,
      "loc": {
        "start": {
          "line": 30,
          "column": 15
        },
        "end": {
          "line": 30,
          "column": 16
        }
      }
    },
    {
      "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": 1045,
      "end": 1048,
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 31,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 1049,
      "end": 1052,
      "loc": {
        "start": {
          "line": 31,
          "column": 12
        },
        "end": {
          "line": 31,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1052,
      "end": 1053,
      "loc": {
        "start": {
          "line": 31,
          "column": 15
        },
        "end": {
          "line": 31,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 1062,
      "end": 1065,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1066,
      "end": 1067,
      "loc": {
        "start": {
          "line": 32,
          "column": 12
        },
        "end": {
          "line": 32,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 1068,
      "end": 1074,
      "loc": {
        "start": {
          "line": 32,
          "column": 14
        },
        "end": {
          "line": 32,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1074,
      "end": 1075,
      "loc": {
        "start": {
          "line": 32,
          "column": 20
        },
        "end": {
          "line": 32,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "alloc",
      "start": 1075,
      "end": 1080,
      "loc": {
        "start": {
          "line": 32,
          "column": 21
        },
        "end": {
          "line": 32,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1080,
      "end": 1081,
      "loc": {
        "start": {
          "line": 32,
          "column": 26
        },
        "end": {
          "line": 32,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 65,
      "start": 1081,
      "end": 1083,
      "loc": {
        "start": {
          "line": 32,
          "column": 27
        },
        "end": {
          "line": 32,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1083,
      "end": 1084,
      "loc": {
        "start": {
          "line": 32,
          "column": 29
        },
        "end": {
          "line": 32,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1084,
      "end": 1085,
      "loc": {
        "start": {
          "line": 32,
          "column": 30
        },
        "end": {
          "line": 32,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 1094,
      "end": 1097,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1097,
      "end": 1098,
      "loc": {
        "start": {
          "line": 33,
          "column": 11
        },
        "end": {
          "line": 33,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "writeUInt8",
      "start": 1098,
      "end": 1108,
      "loc": {
        "start": {
          "line": 33,
          "column": 12
        },
        "end": {
          "line": 33,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1108,
      "end": 1109,
      "loc": {
        "start": {
          "line": 33,
          "column": 22
        },
        "end": {
          "line": 33,
          "column": 23
        }
      }
    },
    {
      "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": 1109,
      "end": 1113,
      "loc": {
        "start": {
          "line": 33,
          "column": 23
        },
        "end": {
          "line": 33,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1113,
      "end": 1114,
      "loc": {
        "start": {
          "line": 33,
          "column": 27
        },
        "end": {
          "line": 33,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1114,
      "end": 1115,
      "loc": {
        "start": {
          "line": 33,
          "column": 28
        },
        "end": {
          "line": 33,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1115,
      "end": 1116,
      "loc": {
        "start": {
          "line": 33,
          "column": 29
        },
        "end": {
          "line": 33,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1117,
      "end": 1118,
      "loc": {
        "start": {
          "line": 33,
          "column": 31
        },
        "end": {
          "line": 33,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1118,
      "end": 1119,
      "loc": {
        "start": {
          "line": 33,
          "column": 32
        },
        "end": {
          "line": 33,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1119,
      "end": 1120,
      "loc": {
        "start": {
          "line": 33,
          "column": 33
        },
        "end": {
          "line": 33,
          "column": 34
        }
      }
    },
    {
      "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": 1129,
      "end": 1133,
      "loc": {
        "start": {
          "line": 34,
          "column": 8
        },
        "end": {
          "line": 34,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1133,
      "end": 1134,
      "loc": {
        "start": {
          "line": 34,
          "column": 12
        },
        "end": {
          "line": 34,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 1134,
      "end": 1135,
      "loc": {
        "start": {
          "line": 34,
          "column": 13
        },
        "end": {
          "line": 34,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1135,
      "end": 1136,
      "loc": {
        "start": {
          "line": 34,
          "column": 14
        },
        "end": {
          "line": 34,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 1136,
      "end": 1144,
      "loc": {
        "start": {
          "line": 34,
          "column": 15
        },
        "end": {
          "line": 34,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1144,
      "end": 1145,
      "loc": {
        "start": {
          "line": 34,
          "column": 23
        },
        "end": {
          "line": 34,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 1145,
      "end": 1147,
      "loc": {
        "start": {
          "line": 34,
          "column": 24
        },
        "end": {
          "line": 34,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1147,
      "end": 1148,
      "loc": {
        "start": {
          "line": 34,
          "column": 26
        },
        "end": {
          "line": 34,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1148,
      "end": 1149,
      "loc": {
        "start": {
          "line": 34,
          "column": 27
        },
        "end": {
          "line": 34,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "copy",
      "start": 1149,
      "end": 1153,
      "loc": {
        "start": {
          "line": 34,
          "column": 28
        },
        "end": {
          "line": 34,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1153,
      "end": 1154,
      "loc": {
        "start": {
          "line": 34,
          "column": 32
        },
        "end": {
          "line": 34,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 1154,
      "end": 1157,
      "loc": {
        "start": {
          "line": 34,
          "column": 33
        },
        "end": {
          "line": 34,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1157,
      "end": 1158,
      "loc": {
        "start": {
          "line": 34,
          "column": 36
        },
        "end": {
          "line": 34,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1159,
      "end": 1160,
      "loc": {
        "start": {
          "line": 34,
          "column": 38
        },
        "end": {
          "line": 34,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1160,
      "end": 1161,
      "loc": {
        "start": {
          "line": 34,
          "column": 39
        },
        "end": {
          "line": 34,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1161,
      "end": 1162,
      "loc": {
        "start": {
          "line": 34,
          "column": 40
        },
        "end": {
          "line": 34,
          "column": 41
        }
      }
    },
    {
      "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": 1171,
      "end": 1175,
      "loc": {
        "start": {
          "line": 35,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1175,
      "end": 1176,
      "loc": {
        "start": {
          "line": 35,
          "column": 12
        },
        "end": {
          "line": 35,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 1176,
      "end": 1177,
      "loc": {
        "start": {
          "line": 35,
          "column": 13
        },
        "end": {
          "line": 35,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1177,
      "end": 1178,
      "loc": {
        "start": {
          "line": 35,
          "column": 14
        },
        "end": {
          "line": 35,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 1178,
      "end": 1186,
      "loc": {
        "start": {
          "line": 35,
          "column": 15
        },
        "end": {
          "line": 35,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1186,
      "end": 1187,
      "loc": {
        "start": {
          "line": 35,
          "column": 23
        },
        "end": {
          "line": 35,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 1187,
      "end": 1189,
      "loc": {
        "start": {
          "line": 35,
          "column": 24
        },
        "end": {
          "line": 35,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1189,
      "end": 1190,
      "loc": {
        "start": {
          "line": 35,
          "column": 26
        },
        "end": {
          "line": 35,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1190,
      "end": 1191,
      "loc": {
        "start": {
          "line": 35,
          "column": 27
        },
        "end": {
          "line": 35,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "copy",
      "start": 1191,
      "end": 1195,
      "loc": {
        "start": {
          "line": 35,
          "column": 28
        },
        "end": {
          "line": 35,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1195,
      "end": 1196,
      "loc": {
        "start": {
          "line": 35,
          "column": 32
        },
        "end": {
          "line": 35,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 1196,
      "end": 1199,
      "loc": {
        "start": {
          "line": 35,
          "column": 33
        },
        "end": {
          "line": 35,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1199,
      "end": 1200,
      "loc": {
        "start": {
          "line": 35,
          "column": 36
        },
        "end": {
          "line": 35,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 33,
      "start": 1201,
      "end": 1203,
      "loc": {
        "start": {
          "line": 35,
          "column": 38
        },
        "end": {
          "line": 35,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1203,
      "end": 1204,
      "loc": {
        "start": {
          "line": 35,
          "column": 40
        },
        "end": {
          "line": 35,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1204,
      "end": 1205,
      "loc": {
        "start": {
          "line": 35,
          "column": 41
        },
        "end": {
          "line": 35,
          "column": 42
        }
      }
    },
    {
      "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": 1214,
      "end": 1220,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 1221,
      "end": 1224,
      "loc": {
        "start": {
          "line": 36,
          "column": 15
        },
        "end": {
          "line": 36,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1224,
      "end": 1225,
      "loc": {
        "start": {
          "line": 36,
          "column": 18
        },
        "end": {
          "line": 36,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1230,
      "end": 1231,
      "loc": {
        "start": {
          "line": 37,
          "column": 4
        },
        "end": {
          "line": 37,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "recoverPublicKeyFromBuffer",
      "start": 1237,
      "end": 1263,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1263,
      "end": 1264,
      "loc": {
        "start": {
          "line": 39,
          "column": 30
        },
        "end": {
          "line": 39,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1264,
      "end": 1270,
      "loc": {
        "start": {
          "line": 39,
          "column": 31
        },
        "end": {
          "line": 39,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1270,
      "end": 1271,
      "loc": {
        "start": {
          "line": 39,
          "column": 37
        },
        "end": {
          "line": 39,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1272,
      "end": 1273,
      "loc": {
        "start": {
          "line": 39,
          "column": 39
        },
        "end": {
          "line": 39,
          "column": 40
        }
      }
    },
    {
      "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": 1282,
      "end": 1288,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 14
        }
      }
    },
    {
      "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": 1289,
      "end": 1293,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1293,
      "end": 1294,
      "loc": {
        "start": {
          "line": 40,
          "column": 19
        },
        "end": {
          "line": 40,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "recoverPublicKey",
      "start": 1294,
      "end": 1310,
      "loc": {
        "start": {
          "line": 40,
          "column": 20
        },
        "end": {
          "line": 40,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1310,
      "end": 1311,
      "loc": {
        "start": {
          "line": 40,
          "column": 36
        },
        "end": {
          "line": 40,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256",
      "start": 1311,
      "end": 1317,
      "loc": {
        "start": {
          "line": 40,
          "column": 37
        },
        "end": {
          "line": 40,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1317,
      "end": 1318,
      "loc": {
        "start": {
          "line": 40,
          "column": 43
        },
        "end": {
          "line": 40,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1318,
      "end": 1324,
      "loc": {
        "start": {
          "line": 40,
          "column": 44
        },
        "end": {
          "line": 40,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1324,
      "end": 1325,
      "loc": {
        "start": {
          "line": 40,
          "column": 50
        },
        "end": {
          "line": 40,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1325,
      "end": 1326,
      "loc": {
        "start": {
          "line": 40,
          "column": 51
        },
        "end": {
          "line": 40,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1326,
      "end": 1327,
      "loc": {
        "start": {
          "line": 40,
          "column": 52
        },
        "end": {
          "line": 40,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1332,
      "end": 1333,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 41,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n        @return {PublicKey}\n    ",
      "start": 1339,
      "end": 1377,
      "loc": {
        "start": {
          "line": 43,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "recoverPublicKey",
      "start": 1382,
      "end": 1398,
      "loc": {
        "start": {
          "line": 46,
          "column": 4
        },
        "end": {
          "line": 46,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1398,
      "end": 1399,
      "loc": {
        "start": {
          "line": 46,
          "column": 20
        },
        "end": {
          "line": 46,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256_buffer",
      "start": 1399,
      "end": 1412,
      "loc": {
        "start": {
          "line": 46,
          "column": 21
        },
        "end": {
          "line": 46,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1412,
      "end": 1413,
      "loc": {
        "start": {
          "line": 46,
          "column": 34
        },
        "end": {
          "line": 46,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1414,
      "end": 1415,
      "loc": {
        "start": {
          "line": 46,
          "column": 36
        },
        "end": {
          "line": 46,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1424,
      "end": 1427,
      "loc": {
        "start": {
          "line": 47,
          "column": 8
        },
        "end": {
          "line": 47,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Q",
      "start": 1428,
      "end": 1429,
      "loc": {
        "start": {
          "line": 47,
          "column": 12
        },
        "end": {
          "line": 47,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1429,
      "end": 1430,
      "loc": {
        "start": {
          "line": 47,
          "column": 13
        },
        "end": {
          "line": 47,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "e",
      "start": 1431,
      "end": 1432,
      "loc": {
        "start": {
          "line": 47,
          "column": 15
        },
        "end": {
          "line": 47,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1432,
      "end": 1433,
      "loc": {
        "start": {
          "line": 47,
          "column": 16
        },
        "end": {
          "line": 47,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1434,
      "end": 1435,
      "loc": {
        "start": {
          "line": 47,
          "column": 18
        },
        "end": {
          "line": 47,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1435,
      "end": 1436,
      "loc": {
        "start": {
          "line": 47,
          "column": 19
        },
        "end": {
          "line": 47,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "e",
      "start": 1445,
      "end": 1446,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1447,
      "end": 1448,
      "loc": {
        "start": {
          "line": 48,
          "column": 10
        },
        "end": {
          "line": 48,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 1449,
      "end": 1459,
      "loc": {
        "start": {
          "line": 48,
          "column": 12
        },
        "end": {
          "line": 48,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1459,
      "end": 1460,
      "loc": {
        "start": {
          "line": 48,
          "column": 22
        },
        "end": {
          "line": 48,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 1460,
      "end": 1470,
      "loc": {
        "start": {
          "line": 48,
          "column": 23
        },
        "end": {
          "line": 48,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1470,
      "end": 1471,
      "loc": {
        "start": {
          "line": 48,
          "column": 33
        },
        "end": {
          "line": 48,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256_buffer",
      "start": 1471,
      "end": 1484,
      "loc": {
        "start": {
          "line": 48,
          "column": 34
        },
        "end": {
          "line": 48,
          "column": 47
        }
      }
    },
    {
      "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": 48,
          "column": 47
        },
        "end": {
          "line": 48,
          "column": 48
        }
      }
    },
    {
      "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": 48,
          "column": 48
        },
        "end": {
          "line": 48,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1495,
      "end": 1496,
      "loc": {
        "start": {
          "line": 49,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1497,
      "end": 1498,
      "loc": {
        "start": {
          "line": 49,
          "column": 10
        },
        "end": {
          "line": 49,
          "column": 11
        }
      }
    },
    {
      "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": 1499,
      "end": 1503,
      "loc": {
        "start": {
          "line": 49,
          "column": 12
        },
        "end": {
          "line": 49,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1503,
      "end": 1504,
      "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": "i",
      "start": 1504,
      "end": 1505,
      "loc": {
        "start": {
          "line": 49,
          "column": 17
        },
        "end": {
          "line": 49,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1505,
      "end": 1506,
      "loc": {
        "start": {
          "line": 49,
          "column": 18
        },
        "end": {
          "line": 49,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1515,
      "end": 1516,
      "loc": {
        "start": {
          "line": 50,
          "column": 8
        },
        "end": {
          "line": 50,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "_=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "-=",
      "start": 1517,
      "end": 1519,
      "loc": {
        "start": {
          "line": 50,
          "column": 10
        },
        "end": {
          "line": 50,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 27,
      "start": 1520,
      "end": 1522,
      "loc": {
        "start": {
          "line": 50,
          "column": 13
        },
        "end": {
          "line": 50,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1522,
      "end": 1523,
      "loc": {
        "start": {
          "line": 50,
          "column": 15
        },
        "end": {
          "line": 50,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1532,
      "end": 1533,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 51,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1534,
      "end": 1535,
      "loc": {
        "start": {
          "line": 51,
          "column": 10
        },
        "end": {
          "line": 51,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1536,
      "end": 1537,
      "loc": {
        "start": {
          "line": 51,
          "column": 12
        },
        "end": {
          "line": 51,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 5,
        "updateContext": null
      },
      "value": "&",
      "start": 1538,
      "end": 1539,
      "loc": {
        "start": {
          "line": 51,
          "column": 14
        },
        "end": {
          "line": 51,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 3,
      "start": 1540,
      "end": 1541,
      "loc": {
        "start": {
          "line": 51,
          "column": 16
        },
        "end": {
          "line": 51,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1541,
      "end": 1542,
      "loc": {
        "start": {
          "line": 51,
          "column": 17
        },
        "end": {
          "line": 51,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Q",
      "start": 1551,
      "end": 1552,
      "loc": {
        "start": {
          "line": 52,
          "column": 8
        },
        "end": {
          "line": 52,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1553,
      "end": 1554,
      "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": "recoverPubKey",
      "start": 1555,
      "end": 1568,
      "loc": {
        "start": {
          "line": 52,
          "column": 12
        },
        "end": {
          "line": 52,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1568,
      "end": 1569,
      "loc": {
        "start": {
          "line": 52,
          "column": 25
        },
        "end": {
          "line": 52,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "secp256k1",
      "start": 1569,
      "end": 1578,
      "loc": {
        "start": {
          "line": 52,
          "column": 26
        },
        "end": {
          "line": 52,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1578,
      "end": 1579,
      "loc": {
        "start": {
          "line": 52,
          "column": 35
        },
        "end": {
          "line": 52,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "e",
      "start": 1580,
      "end": 1581,
      "loc": {
        "start": {
          "line": 52,
          "column": 37
        },
        "end": {
          "line": 52,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1581,
      "end": 1582,
      "loc": {
        "start": {
          "line": 52,
          "column": 38
        },
        "end": {
          "line": 52,
          "column": 39
        }
      }
    },
    {
      "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": 1583,
      "end": 1587,
      "loc": {
        "start": {
          "line": 52,
          "column": 40
        },
        "end": {
          "line": 52,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1587,
      "end": 1588,
      "loc": {
        "start": {
          "line": 52,
          "column": 44
        },
        "end": {
          "line": 52,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1589,
      "end": 1590,
      "loc": {
        "start": {
          "line": 52,
          "column": 46
        },
        "end": {
          "line": 52,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1590,
      "end": 1591,
      "loc": {
        "start": {
          "line": 52,
          "column": 47
        },
        "end": {
          "line": 52,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1591,
      "end": 1592,
      "loc": {
        "start": {
          "line": 52,
          "column": 48
        },
        "end": {
          "line": 52,
          "column": 49
        }
      }
    },
    {
      "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": 1601,
      "end": 1607,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PublicKey",
      "start": 1608,
      "end": 1617,
      "loc": {
        "start": {
          "line": 53,
          "column": 15
        },
        "end": {
          "line": 53,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1617,
      "end": 1618,
      "loc": {
        "start": {
          "line": 53,
          "column": 24
        },
        "end": {
          "line": 53,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromPoint",
      "start": 1618,
      "end": 1627,
      "loc": {
        "start": {
          "line": 53,
          "column": 25
        },
        "end": {
          "line": 53,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1627,
      "end": 1628,
      "loc": {
        "start": {
          "line": 53,
          "column": 34
        },
        "end": {
          "line": 53,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Q",
      "start": 1628,
      "end": 1629,
      "loc": {
        "start": {
          "line": 53,
          "column": 35
        },
        "end": {
          "line": 53,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1629,
      "end": 1630,
      "loc": {
        "start": {
          "line": 53,
          "column": 36
        },
        "end": {
          "line": 53,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1630,
      "end": 1631,
      "loc": {
        "start": {
          "line": 53,
          "column": 37
        },
        "end": {
          "line": 53,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1636,
      "end": 1637,
      "loc": {
        "start": {
          "line": 54,
          "column": 4
        },
        "end": {
          "line": 54,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n        @param {Buffer} buf\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
      "start": 1643,
      "end": 1749,
      "loc": {
        "start": {
          "line": 56,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 1754,
      "end": 1760,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 61,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signBuffer",
      "start": 1761,
      "end": 1771,
      "loc": {
        "start": {
          "line": 61,
          "column": 11
        },
        "end": {
          "line": 61,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1771,
      "end": 1772,
      "loc": {
        "start": {
          "line": 61,
          "column": 21
        },
        "end": {
          "line": 61,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 1772,
      "end": 1775,
      "loc": {
        "start": {
          "line": 61,
          "column": 22
        },
        "end": {
          "line": 61,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1775,
      "end": 1776,
      "loc": {
        "start": {
          "line": 61,
          "column": 25
        },
        "end": {
          "line": 61,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 1777,
      "end": 1788,
      "loc": {
        "start": {
          "line": 61,
          "column": 27
        },
        "end": {
          "line": 61,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1788,
      "end": 1789,
      "loc": {
        "start": {
          "line": 61,
          "column": 38
        },
        "end": {
          "line": 61,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1790,
      "end": 1791,
      "loc": {
        "start": {
          "line": 61,
          "column": 40
        },
        "end": {
          "line": 61,
          "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": 1800,
      "end": 1803,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 62,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_hash",
      "start": 1804,
      "end": 1809,
      "loc": {
        "start": {
          "line": 62,
          "column": 12
        },
        "end": {
          "line": 62,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1810,
      "end": 1811,
      "loc": {
        "start": {
          "line": 62,
          "column": 18
        },
        "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": "sha256",
      "start": 1812,
      "end": 1818,
      "loc": {
        "start": {
          "line": 62,
          "column": 20
        },
        "end": {
          "line": 62,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1818,
      "end": 1819,
      "loc": {
        "start": {
          "line": 62,
          "column": 26
        },
        "end": {
          "line": 62,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 1819,
      "end": 1822,
      "loc": {
        "start": {
          "line": 62,
          "column": 27
        },
        "end": {
          "line": 62,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1822,
      "end": 1823,
      "loc": {
        "start": {
          "line": 62,
          "column": 30
        },
        "end": {
          "line": 62,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1823,
      "end": 1824,
      "loc": {
        "start": {
          "line": 62,
          "column": 31
        },
        "end": {
          "line": 62,
          "column": 32
        }
      }
    },
    {
      "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": 1833,
      "end": 1839,
      "loc": {
        "start": {
          "line": 63,
          "column": 8
        },
        "end": {
          "line": 63,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Signature",
      "start": 1840,
      "end": 1849,
      "loc": {
        "start": {
          "line": 63,
          "column": 15
        },
        "end": {
          "line": 63,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1849,
      "end": 1850,
      "loc": {
        "start": {
          "line": 63,
          "column": 24
        },
        "end": {
          "line": 63,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signBufferSha256",
      "start": 1850,
      "end": 1866,
      "loc": {
        "start": {
          "line": 63,
          "column": 25
        },
        "end": {
          "line": 63,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1866,
      "end": 1867,
      "loc": {
        "start": {
          "line": 63,
          "column": 41
        },
        "end": {
          "line": 63,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_hash",
      "start": 1867,
      "end": 1872,
      "loc": {
        "start": {
          "line": 63,
          "column": 42
        },
        "end": {
          "line": 63,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1872,
      "end": 1873,
      "loc": {
        "start": {
          "line": 63,
          "column": 47
        },
        "end": {
          "line": 63,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 1874,
      "end": 1885,
      "loc": {
        "start": {
          "line": 63,
          "column": 49
        },
        "end": {
          "line": 63,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1885,
      "end": 1886,
      "loc": {
        "start": {
          "line": 63,
          "column": 60
        },
        "end": {
          "line": 63,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1886,
      "end": 1887,
      "loc": {
        "start": {
          "line": 63,
          "column": 61
        },
        "end": {
          "line": 63,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1892,
      "end": 1893,
      "loc": {
        "start": {
          "line": 64,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Sign a buffer of exactally 32 bytes in size (sha256(text))\n        @param {Buffer} buf - 32 bytes binary\n        @param {PrivateKey} private_key\n        @return {Signature}\n    ",
      "start": 1899,
      "end": 2082,
      "loc": {
        "start": {
          "line": 66,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 2087,
      "end": 2093,
      "loc": {
        "start": {
          "line": 71,
          "column": 4
        },
        "end": {
          "line": 71,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signBufferSha256",
      "start": 2094,
      "end": 2110,
      "loc": {
        "start": {
          "line": 71,
          "column": 11
        },
        "end": {
          "line": 71,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2110,
      "end": 2111,
      "loc": {
        "start": {
          "line": 71,
          "column": 27
        },
        "end": {
          "line": 71,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf_sha256",
      "start": 2111,
      "end": 2121,
      "loc": {
        "start": {
          "line": 71,
          "column": 28
        },
        "end": {
          "line": 71,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2121,
      "end": 2122,
      "loc": {
        "start": {
          "line": 71,
          "column": 38
        },
        "end": {
          "line": 71,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2123,
      "end": 2134,
      "loc": {
        "start": {
          "line": 71,
          "column": 40
        },
        "end": {
          "line": 71,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2134,
      "end": 2135,
      "loc": {
        "start": {
          "line": 71,
          "column": 51
        },
        "end": {
          "line": 71,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2136,
      "end": 2137,
      "loc": {
        "start": {
          "line": 71,
          "column": 53
        },
        "end": {
          "line": 71,
          "column": 54
        }
      }
    },
    {
      "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": 2146,
      "end": 2148,
      "loc": {
        "start": {
          "line": 72,
          "column": 8
        },
        "end": {
          "line": 72,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2149,
      "end": 2150,
      "loc": {
        "start": {
          "line": 72,
          "column": 11
        },
        "end": {
          "line": 72,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf_sha256",
      "start": 2150,
      "end": 2160,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2160,
      "end": 2161,
      "loc": {
        "start": {
          "line": 72,
          "column": 22
        },
        "end": {
          "line": 72,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 2161,
      "end": 2167,
      "loc": {
        "start": {
          "line": 72,
          "column": 23
        },
        "end": {
          "line": 72,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 2168,
      "end": 2171,
      "loc": {
        "start": {
          "line": 72,
          "column": 30
        },
        "end": {
          "line": 72,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 2172,
      "end": 2174,
      "loc": {
        "start": {
          "line": 72,
          "column": 34
        },
        "end": {
          "line": 72,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2175,
      "end": 2177,
      "loc": {
        "start": {
          "line": 72,
          "column": 37
        },
        "end": {
          "line": 72,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2178,
      "end": 2179,
      "loc": {
        "start": {
          "line": 72,
          "column": 40
        },
        "end": {
          "line": 72,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 2179,
      "end": 2185,
      "loc": {
        "start": {
          "line": 72,
          "column": 41
        },
        "end": {
          "line": 72,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2185,
      "end": 2186,
      "loc": {
        "start": {
          "line": 72,
          "column": 47
        },
        "end": {
          "line": 72,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isBuffer",
      "start": 2186,
      "end": 2194,
      "loc": {
        "start": {
          "line": 72,
          "column": 48
        },
        "end": {
          "line": 72,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2194,
      "end": 2195,
      "loc": {
        "start": {
          "line": 72,
          "column": 56
        },
        "end": {
          "line": 72,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf_sha256",
      "start": 2195,
      "end": 2205,
      "loc": {
        "start": {
          "line": 72,
          "column": 57
        },
        "end": {
          "line": 72,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2205,
      "end": 2206,
      "loc": {
        "start": {
          "line": 72,
          "column": 67
        },
        "end": {
          "line": 72,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2206,
      "end": 2207,
      "loc": {
        "start": {
          "line": 72,
          "column": 68
        },
        "end": {
          "line": 72,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 2220,
      "end": 2225,
      "loc": {
        "start": {
          "line": 73,
          "column": 12
        },
        "end": {
          "line": 73,
          "column": 17
        }
      }
    },
    {
      "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": 2226,
      "end": 2229,
      "loc": {
        "start": {
          "line": 73,
          "column": 18
        },
        "end": {
          "line": 73,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 2230,
      "end": 2235,
      "loc": {
        "start": {
          "line": 73,
          "column": 22
        },
        "end": {
          "line": 73,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2235,
      "end": 2236,
      "loc": {
        "start": {
          "line": 73,
          "column": 27
        },
        "end": {
          "line": 73,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "buf_sha256: 32 byte buffer requred",
      "start": 2236,
      "end": 2272,
      "loc": {
        "start": {
          "line": 73,
          "column": 28
        },
        "end": {
          "line": 73,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2272,
      "end": 2273,
      "loc": {
        "start": {
          "line": 73,
          "column": 64
        },
        "end": {
          "line": 73,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2273,
      "end": 2274,
      "loc": {
        "start": {
          "line": 73,
          "column": 65
        },
        "end": {
          "line": 73,
          "column": 66
        }
      }
    },
    {
      "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": 2283,
      "end": 2286,
      "loc": {
        "start": {
          "line": 74,
          "column": 8
        },
        "end": {
          "line": 74,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "der",
      "start": 2287,
      "end": 2290,
      "loc": {
        "start": {
          "line": 74,
          "column": 12
        },
        "end": {
          "line": 74,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2290,
      "end": 2291,
      "loc": {
        "start": {
          "line": 74,
          "column": 15
        },
        "end": {
          "line": 74,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "e",
      "start": 2292,
      "end": 2293,
      "loc": {
        "start": {
          "line": 74,
          "column": 17
        },
        "end": {
          "line": 74,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2293,
      "end": 2294,
      "loc": {
        "start": {
          "line": 74,
          "column": 18
        },
        "end": {
          "line": 74,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ecsignature",
      "start": 2295,
      "end": 2306,
      "loc": {
        "start": {
          "line": 74,
          "column": 20
        },
        "end": {
          "line": 74,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2306,
      "end": 2307,
      "loc": {
        "start": {
          "line": 74,
          "column": 31
        },
        "end": {
          "line": 74,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2308,
      "end": 2309,
      "loc": {
        "start": {
          "line": 74,
          "column": 33
        },
        "end": {
          "line": 74,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2309,
      "end": 2310,
      "loc": {
        "start": {
          "line": 74,
          "column": 34
        },
        "end": {
          "line": 74,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lenR",
      "start": 2311,
      "end": 2315,
      "loc": {
        "start": {
          "line": 74,
          "column": 36
        },
        "end": {
          "line": 74,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2315,
      "end": 2316,
      "loc": {
        "start": {
          "line": 74,
          "column": 40
        },
        "end": {
          "line": 74,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lenS",
      "start": 2317,
      "end": 2321,
      "loc": {
        "start": {
          "line": 74,
          "column": 42
        },
        "end": {
          "line": 74,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2321,
      "end": 2322,
      "loc": {
        "start": {
          "line": 74,
          "column": 46
        },
        "end": {
          "line": 74,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nonce",
      "start": 2323,
      "end": 2328,
      "loc": {
        "start": {
          "line": 74,
          "column": 48
        },
        "end": {
          "line": 74,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2328,
      "end": 2329,
      "loc": {
        "start": {
          "line": 74,
          "column": 53
        },
        "end": {
          "line": 74,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2338,
      "end": 2339,
      "loc": {
        "start": {
          "line": 75,
          "column": 8
        },
        "end": {
          "line": 75,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2340,
      "end": 2341,
      "loc": {
        "start": {
          "line": 75,
          "column": 10
        },
        "end": {
          "line": 75,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 2342,
      "end": 2346,
      "loc": {
        "start": {
          "line": 75,
          "column": 12
        },
        "end": {
          "line": 75,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2346,
      "end": 2347,
      "loc": {
        "start": {
          "line": 75,
          "column": 16
        },
        "end": {
          "line": 75,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nonce",
      "start": 2356,
      "end": 2361,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 76,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2362,
      "end": 2363,
      "loc": {
        "start": {
          "line": 76,
          "column": 14
        },
        "end": {
          "line": 76,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2364,
      "end": 2365,
      "loc": {
        "start": {
          "line": 76,
          "column": 16
        },
        "end": {
          "line": 76,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2365,
      "end": 2366,
      "loc": {
        "start": {
          "line": 76,
          "column": 17
        },
        "end": {
          "line": 76,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "e",
      "start": 2375,
      "end": 2376,
      "loc": {
        "start": {
          "line": 77,
          "column": 8
        },
        "end": {
          "line": 77,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2377,
      "end": 2378,
      "loc": {
        "start": {
          "line": 77,
          "column": 10
        },
        "end": {
          "line": 77,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 2379,
      "end": 2389,
      "loc": {
        "start": {
          "line": 77,
          "column": 12
        },
        "end": {
          "line": 77,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2389,
      "end": 2390,
      "loc": {
        "start": {
          "line": 77,
          "column": 22
        },
        "end": {
          "line": 77,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 2390,
      "end": 2400,
      "loc": {
        "start": {
          "line": 77,
          "column": 23
        },
        "end": {
          "line": 77,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2400,
      "end": 2401,
      "loc": {
        "start": {
          "line": 77,
          "column": 33
        },
        "end": {
          "line": 77,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf_sha256",
      "start": 2401,
      "end": 2411,
      "loc": {
        "start": {
          "line": 77,
          "column": 34
        },
        "end": {
          "line": 77,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2411,
      "end": 2412,
      "loc": {
        "start": {
          "line": 77,
          "column": 44
        },
        "end": {
          "line": 77,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2412,
      "end": 2413,
      "loc": {
        "start": {
          "line": 77,
          "column": 45
        },
        "end": {
          "line": 77,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "while",
        "keyword": "while",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "while",
      "start": 2422,
      "end": 2427,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2428,
      "end": 2429,
      "loc": {
        "start": {
          "line": 78,
          "column": 14
        },
        "end": {
          "line": 78,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 2429,
      "end": 2433,
      "loc": {
        "start": {
          "line": 78,
          "column": 15
        },
        "end": {
          "line": 78,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2433,
      "end": 2434,
      "loc": {
        "start": {
          "line": 78,
          "column": 19
        },
        "end": {
          "line": 78,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2435,
      "end": 2436,
      "loc": {
        "start": {
          "line": 78,
          "column": 21
        },
        "end": {
          "line": 78,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ecsignature",
      "start": 2449,
      "end": 2460,
      "loc": {
        "start": {
          "line": 79,
          "column": 12
        },
        "end": {
          "line": 79,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2461,
      "end": 2462,
      "loc": {
        "start": {
          "line": 79,
          "column": 24
        },
        "end": {
          "line": 79,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sign",
      "start": 2463,
      "end": 2467,
      "loc": {
        "start": {
          "line": 79,
          "column": 26
        },
        "end": {
          "line": 79,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2467,
      "end": 2468,
      "loc": {
        "start": {
          "line": 79,
          "column": 30
        },
        "end": {
          "line": 79,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "secp256k1",
      "start": 2468,
      "end": 2477,
      "loc": {
        "start": {
          "line": 79,
          "column": 31
        },
        "end": {
          "line": 79,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2477,
      "end": 2478,
      "loc": {
        "start": {
          "line": 79,
          "column": 40
        },
        "end": {
          "line": 79,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf_sha256",
      "start": 2479,
      "end": 2489,
      "loc": {
        "start": {
          "line": 79,
          "column": 42
        },
        "end": {
          "line": 79,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2489,
      "end": 2490,
      "loc": {
        "start": {
          "line": 79,
          "column": 52
        },
        "end": {
          "line": 79,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2491,
      "end": 2502,
      "loc": {
        "start": {
          "line": 79,
          "column": 54
        },
        "end": {
          "line": 79,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2502,
      "end": 2503,
      "loc": {
        "start": {
          "line": 79,
          "column": 65
        },
        "end": {
          "line": 79,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "d",
      "start": 2503,
      "end": 2504,
      "loc": {
        "start": {
          "line": 79,
          "column": 66
        },
        "end": {
          "line": 79,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2504,
      "end": 2505,
      "loc": {
        "start": {
          "line": 79,
          "column": 67
        },
        "end": {
          "line": 79,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nonce",
      "start": 2506,
      "end": 2511,
      "loc": {
        "start": {
          "line": 79,
          "column": 69
        },
        "end": {
          "line": 79,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 2511,
      "end": 2513,
      "loc": {
        "start": {
          "line": 79,
          "column": 74
        },
        "end": {
          "line": 79,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2513,
      "end": 2514,
      "loc": {
        "start": {
          "line": 79,
          "column": 76
        },
        "end": {
          "line": 79,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2514,
      "end": 2515,
      "loc": {
        "start": {
          "line": 79,
          "column": 77
        },
        "end": {
          "line": 79,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "der",
      "start": 2528,
      "end": 2531,
      "loc": {
        "start": {
          "line": 80,
          "column": 12
        },
        "end": {
          "line": 80,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2532,
      "end": 2533,
      "loc": {
        "start": {
          "line": 80,
          "column": 16
        },
        "end": {
          "line": 80,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ecsignature",
      "start": 2534,
      "end": 2545,
      "loc": {
        "start": {
          "line": 80,
          "column": 18
        },
        "end": {
          "line": 80,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2545,
      "end": 2546,
      "loc": {
        "start": {
          "line": 80,
          "column": 29
        },
        "end": {
          "line": 80,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toDER",
      "start": 2546,
      "end": 2551,
      "loc": {
        "start": {
          "line": 80,
          "column": 30
        },
        "end": {
          "line": 80,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2551,
      "end": 2552,
      "loc": {
        "start": {
          "line": 80,
          "column": 35
        },
        "end": {
          "line": 80,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2552,
      "end": 2553,
      "loc": {
        "start": {
          "line": 80,
          "column": 36
        },
        "end": {
          "line": 80,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2553,
      "end": 2554,
      "loc": {
        "start": {
          "line": 80,
          "column": 37
        },
        "end": {
          "line": 80,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lenR",
      "start": 2567,
      "end": 2571,
      "loc": {
        "start": {
          "line": 81,
          "column": 12
        },
        "end": {
          "line": 81,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2572,
      "end": 2573,
      "loc": {
        "start": {
          "line": 81,
          "column": 17
        },
        "end": {
          "line": 81,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "der",
      "start": 2574,
      "end": 2577,
      "loc": {
        "start": {
          "line": 81,
          "column": 19
        },
        "end": {
          "line": 81,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2577,
      "end": 2578,
      "loc": {
        "start": {
          "line": 81,
          "column": 22
        },
        "end": {
          "line": 81,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 3,
      "start": 2578,
      "end": 2579,
      "loc": {
        "start": {
          "line": 81,
          "column": 23
        },
        "end": {
          "line": 81,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2579,
      "end": 2580,
      "loc": {
        "start": {
          "line": 81,
          "column": 24
        },
        "end": {
          "line": 81,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2580,
      "end": 2581,
      "loc": {
        "start": {
          "line": 81,
          "column": 25
        },
        "end": {
          "line": 81,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lenS",
      "start": 2594,
      "end": 2598,
      "loc": {
        "start": {
          "line": 82,
          "column": 12
        },
        "end": {
          "line": 82,
          "column": 16
        }
      }
    },
    {
      "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": 82,
          "column": 17
        },
        "end": {
          "line": 82,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "der",
      "start": 2601,
      "end": 2604,
      "loc": {
        "start": {
          "line": 82,
          "column": 19
        },
        "end": {
          "line": 82,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2604,
      "end": 2605,
      "loc": {
        "start": {
          "line": 82,
          "column": 22
        },
        "end": {
          "line": 82,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 5,
      "start": 2605,
      "end": 2606,
      "loc": {
        "start": {
          "line": 82,
          "column": 23
        },
        "end": {
          "line": 82,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 2607,
      "end": 2608,
      "loc": {
        "start": {
          "line": 82,
          "column": 25
        },
        "end": {
          "line": 82,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lenR",
      "start": 2609,
      "end": 2613,
      "loc": {
        "start": {
          "line": 82,
          "column": 27
        },
        "end": {
          "line": 82,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2613,
      "end": 2614,
      "loc": {
        "start": {
          "line": 82,
          "column": 31
        },
        "end": {
          "line": 82,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2614,
      "end": 2615,
      "loc": {
        "start": {
          "line": 82,
          "column": 32
        },
        "end": {
          "line": 82,
          "column": 33
        }
      }
    },
    {
      "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": 2628,
      "end": 2630,
      "loc": {
        "start": {
          "line": 83,
          "column": 12
        },
        "end": {
          "line": 83,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2631,
      "end": 2632,
      "loc": {
        "start": {
          "line": 83,
          "column": 15
        },
        "end": {
          "line": 83,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lenR",
      "start": 2632,
      "end": 2636,
      "loc": {
        "start": {
          "line": 83,
          "column": 16
        },
        "end": {
          "line": 83,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2637,
      "end": 2640,
      "loc": {
        "start": {
          "line": 83,
          "column": 21
        },
        "end": {
          "line": 83,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 2641,
      "end": 2643,
      "loc": {
        "start": {
          "line": 83,
          "column": 25
        },
        "end": {
          "line": 83,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2644,
      "end": 2646,
      "loc": {
        "start": {
          "line": 83,
          "column": 28
        },
        "end": {
          "line": 83,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lenS",
      "start": 2647,
      "end": 2651,
      "loc": {
        "start": {
          "line": 83,
          "column": 31
        },
        "end": {
          "line": 83,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2652,
      "end": 2655,
      "loc": {
        "start": {
          "line": 83,
          "column": 36
        },
        "end": {
          "line": 83,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 2656,
      "end": 2658,
      "loc": {
        "start": {
          "line": 83,
          "column": 40
        },
        "end": {
          "line": 83,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2658,
      "end": 2659,
      "loc": {
        "start": {
          "line": 83,
          "column": 42
        },
        "end": {
          "line": 83,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2660,
      "end": 2661,
      "loc": {
        "start": {
          "line": 83,
          "column": 44
        },
        "end": {
          "line": 83,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2678,
      "end": 2679,
      "loc": {
        "start": {
          "line": 84,
          "column": 16
        },
        "end": {
          "line": 84,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2680,
      "end": 2681,
      "loc": {
        "start": {
          "line": 84,
          "column": 18
        },
        "end": {
          "line": 84,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "calcPubKeyRecoveryParam",
      "start": 2682,
      "end": 2705,
      "loc": {
        "start": {
          "line": 84,
          "column": 20
        },
        "end": {
          "line": 84,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2705,
      "end": 2706,
      "loc": {
        "start": {
          "line": 84,
          "column": 43
        },
        "end": {
          "line": 84,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "secp256k1",
      "start": 2727,
      "end": 2736,
      "loc": {
        "start": {
          "line": 85,
          "column": 20
        },
        "end": {
          "line": 85,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2736,
      "end": 2737,
      "loc": {
        "start": {
          "line": 85,
          "column": 29
        },
        "end": {
          "line": 85,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "e",
      "start": 2758,
      "end": 2759,
      "loc": {
        "start": {
          "line": 86,
          "column": 20
        },
        "end": {
          "line": 86,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2759,
      "end": 2760,
      "loc": {
        "start": {
          "line": 86,
          "column": 21
        },
        "end": {
          "line": 86,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ecsignature",
      "start": 2781,
      "end": 2792,
      "loc": {
        "start": {
          "line": 87,
          "column": 20
        },
        "end": {
          "line": 87,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2792,
      "end": 2793,
      "loc": {
        "start": {
          "line": 87,
          "column": 31
        },
        "end": {
          "line": 87,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2814,
      "end": 2825,
      "loc": {
        "start": {
          "line": 88,
          "column": 20
        },
        "end": {
          "line": 88,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2825,
      "end": 2826,
      "loc": {
        "start": {
          "line": 88,
          "column": 31
        },
        "end": {
          "line": 88,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toPublicKey",
      "start": 2826,
      "end": 2837,
      "loc": {
        "start": {
          "line": 88,
          "column": 32
        },
        "end": {
          "line": 88,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2837,
      "end": 2838,
      "loc": {
        "start": {
          "line": 88,
          "column": 43
        },
        "end": {
          "line": 88,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2838,
      "end": 2839,
      "loc": {
        "start": {
          "line": 88,
          "column": 44
        },
        "end": {
          "line": 88,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2839,
      "end": 2840,
      "loc": {
        "start": {
          "line": 88,
          "column": 45
        },
        "end": {
          "line": 88,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Q",
      "start": 2840,
      "end": 2841,
      "loc": {
        "start": {
          "line": 88,
          "column": 46
        },
        "end": {
          "line": 88,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2858,
      "end": 2859,
      "loc": {
        "start": {
          "line": 89,
          "column": 16
        },
        "end": {
          "line": 89,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2859,
      "end": 2860,
      "loc": {
        "start": {
          "line": 89,
          "column": 17
        },
        "end": {
          "line": 89,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2877,
      "end": 2878,
      "loc": {
        "start": {
          "line": 90,
          "column": 16
        },
        "end": {
          "line": 90,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "_=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+=",
      "start": 2879,
      "end": 2881,
      "loc": {
        "start": {
          "line": 90,
          "column": 18
        },
        "end": {
          "line": 90,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 2882,
      "end": 2883,
      "loc": {
        "start": {
          "line": 90,
          "column": 21
        },
        "end": {
          "line": 90,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2883,
      "end": 2884,
      "loc": {
        "start": {
          "line": 90,
          "column": 22
        },
        "end": {
          "line": 90,
          "column": 23
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " compressed",
      "start": 2885,
      "end": 2898,
      "loc": {
        "start": {
          "line": 90,
          "column": 24
        },
        "end": {
          "line": 90,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2915,
      "end": 2916,
      "loc": {
        "start": {
          "line": 91,
          "column": 16
        },
        "end": {
          "line": 91,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "_=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+=",
      "start": 2917,
      "end": 2919,
      "loc": {
        "start": {
          "line": 91,
          "column": 18
        },
        "end": {
          "line": 91,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 27,
      "start": 2920,
      "end": 2922,
      "loc": {
        "start": {
          "line": 91,
          "column": 21
        },
        "end": {
          "line": 91,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2922,
      "end": 2923,
      "loc": {
        "start": {
          "line": 91,
          "column": 23
        },
        "end": {
          "line": 91,
          "column": 24
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " compact  //  24 or 27 :( forcing odd-y 2nd key candidate)",
      "start": 2924,
      "end": 2984,
      "loc": {
        "start": {
          "line": 91,
          "column": 25
        },
        "end": {
          "line": 91,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "break",
        "keyword": "break",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "break",
      "start": 3001,
      "end": 3006,
      "loc": {
        "start": {
          "line": 92,
          "column": 16
        },
        "end": {
          "line": 92,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3006,
      "end": 3007,
      "loc": {
        "start": {
          "line": 92,
          "column": 21
        },
        "end": {
          "line": 92,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3020,
      "end": 3021,
      "loc": {
        "start": {
          "line": 93,
          "column": 12
        },
        "end": {
          "line": 93,
          "column": 13
        }
      }
    },
    {
      "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": 3034,
      "end": 3036,
      "loc": {
        "start": {
          "line": 94,
          "column": 12
        },
        "end": {
          "line": 94,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3037,
      "end": 3038,
      "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": "nonce",
      "start": 3038,
      "end": 3043,
      "loc": {
        "start": {
          "line": 94,
          "column": 16
        },
        "end": {
          "line": 94,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "%",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "%",
      "start": 3044,
      "end": 3045,
      "loc": {
        "start": {
          "line": 94,
          "column": 22
        },
        "end": {
          "line": 94,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 10,
      "start": 3046,
      "end": 3048,
      "loc": {
        "start": {
          "line": 94,
          "column": 24
        },
        "end": {
          "line": 94,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3049,
      "end": 3052,
      "loc": {
        "start": {
          "line": 94,
          "column": 27
        },
        "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": 0,
      "start": 3053,
      "end": 3054,
      "loc": {
        "start": {
          "line": 94,
          "column": 31
        },
        "end": {
          "line": 94,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3054,
      "end": 3055,
      "loc": {
        "start": {
          "line": 94,
          "column": 32
        },
        "end": {
          "line": 94,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3056,
      "end": 3057,
      "loc": {
        "start": {
          "line": 94,
          "column": 34
        },
        "end": {
          "line": 94,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 3074,
      "end": 3081,
      "loc": {
        "start": {
          "line": 95,
          "column": 16
        },
        "end": {
          "line": 95,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3081,
      "end": 3082,
      "loc": {
        "start": {
          "line": 95,
          "column": 23
        },
        "end": {
          "line": 95,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 3082,
      "end": 3085,
      "loc": {
        "start": {
          "line": 95,
          "column": 24
        },
        "end": {
          "line": 95,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3085,
      "end": 3086,
      "loc": {
        "start": {
          "line": 95,
          "column": 27
        },
        "end": {
          "line": 95,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "WARN: ",
      "start": 3107,
      "end": 3115,
      "loc": {
        "start": {
          "line": 96,
          "column": 20
        },
        "end": {
          "line": 96,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 3116,
      "end": 3117,
      "loc": {
        "start": {
          "line": 96,
          "column": 29
        },
        "end": {
          "line": 96,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nonce",
      "start": 3118,
      "end": 3123,
      "loc": {
        "start": {
          "line": 96,
          "column": 31
        },
        "end": {
          "line": 96,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 3124,
      "end": 3125,
      "loc": {
        "start": {
          "line": 96,
          "column": 37
        },
        "end": {
          "line": 96,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " attempts to find canonical signature",
      "start": 3126,
      "end": 3165,
      "loc": {
        "start": {
          "line": 96,
          "column": 39
        },
        "end": {
          "line": 96,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3182,
      "end": 3183,
      "loc": {
        "start": {
          "line": 97,
          "column": 16
        },
        "end": {
          "line": 97,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3183,
      "end": 3184,
      "loc": {
        "start": {
          "line": 97,
          "column": 17
        },
        "end": {
          "line": 97,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3197,
      "end": 3198,
      "loc": {
        "start": {
          "line": 98,
          "column": 12
        },
        "end": {
          "line": 98,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3207,
      "end": 3208,
      "loc": {
        "start": {
          "line": 99,
          "column": 8
        },
        "end": {
          "line": 99,
          "column": 9
        }
      }
    },
    {
      "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": 3217,
      "end": 3223,
      "loc": {
        "start": {
          "line": 100,
          "column": 8
        },
        "end": {
          "line": 100,
          "column": 14
        }
      }
    },
    {
      "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": 3224,
      "end": 3227,
      "loc": {
        "start": {
          "line": 100,
          "column": 15
        },
        "end": {
          "line": 100,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Signature",
      "start": 3228,
      "end": 3237,
      "loc": {
        "start": {
          "line": 100,
          "column": 19
        },
        "end": {
          "line": 100,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3237,
      "end": 3238,
      "loc": {
        "start": {
          "line": 100,
          "column": 28
        },
        "end": {
          "line": 100,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ecsignature",
      "start": 3238,
      "end": 3249,
      "loc": {
        "start": {
          "line": 100,
          "column": 29
        },
        "end": {
          "line": 100,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3249,
      "end": 3250,
      "loc": {
        "start": {
          "line": 100,
          "column": 40
        },
        "end": {
          "line": 100,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 3250,
      "end": 3251,
      "loc": {
        "start": {
          "line": 100,
          "column": 41
        },
        "end": {
          "line": 100,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3251,
      "end": 3252,
      "loc": {
        "start": {
          "line": 100,
          "column": 42
        },
        "end": {
          "line": 100,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ecsignature",
      "start": 3253,
      "end": 3264,
      "loc": {
        "start": {
          "line": 100,
          "column": 44
        },
        "end": {
          "line": 100,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3264,
      "end": 3265,
      "loc": {
        "start": {
          "line": 100,
          "column": 55
        },
        "end": {
          "line": 100,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 3265,
      "end": 3266,
      "loc": {
        "start": {
          "line": 100,
          "column": 56
        },
        "end": {
          "line": 100,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3266,
      "end": 3267,
      "loc": {
        "start": {
          "line": 100,
          "column": 57
        },
        "end": {
          "line": 100,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 3268,
      "end": 3269,
      "loc": {
        "start": {
          "line": 100,
          "column": 59
        },
        "end": {
          "line": 100,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3269,
      "end": 3270,
      "loc": {
        "start": {
          "line": 100,
          "column": 60
        },
        "end": {
          "line": 100,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3270,
      "end": 3271,
      "loc": {
        "start": {
          "line": 100,
          "column": 61
        },
        "end": {
          "line": 100,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3276,
      "end": 3277,
      "loc": {
        "start": {
          "line": 101,
          "column": 4
        },
        "end": {
          "line": 101,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 3283,
      "end": 3289,
      "loc": {
        "start": {
          "line": 103,
          "column": 4
        },
        "end": {
          "line": 103,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sign",
      "start": 3290,
      "end": 3294,
      "loc": {
        "start": {
          "line": 103,
          "column": 11
        },
        "end": {
          "line": 103,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3294,
      "end": 3295,
      "loc": {
        "start": {
          "line": 103,
          "column": 15
        },
        "end": {
          "line": 103,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 3295,
      "end": 3301,
      "loc": {
        "start": {
          "line": 103,
          "column": 16
        },
        "end": {
          "line": 103,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3301,
      "end": 3302,
      "loc": {
        "start": {
          "line": 103,
          "column": 22
        },
        "end": {
          "line": 103,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 3303,
      "end": 3314,
      "loc": {
        "start": {
          "line": 103,
          "column": 24
        },
        "end": {
          "line": 103,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3314,
      "end": 3315,
      "loc": {
        "start": {
          "line": 103,
          "column": 35
        },
        "end": {
          "line": 103,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3316,
      "end": 3317,
      "loc": {
        "start": {
          "line": 103,
          "column": 37
        },
        "end": {
          "line": 103,
          "column": 38
        }
      }
    },
    {
      "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": 3326,
      "end": 3332,
      "loc": {
        "start": {
          "line": 104,
          "column": 8
        },
        "end": {
          "line": 104,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Signature",
      "start": 3333,
      "end": 3342,
      "loc": {
        "start": {
          "line": 104,
          "column": 15
        },
        "end": {
          "line": 104,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3342,
      "end": 3343,
      "loc": {
        "start": {
          "line": 104,
          "column": 24
        },
        "end": {
          "line": 104,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signBuffer",
      "start": 3343,
      "end": 3353,
      "loc": {
        "start": {
          "line": 104,
          "column": 25
        },
        "end": {
          "line": 104,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3353,
      "end": 3354,
      "loc": {
        "start": {
          "line": 104,
          "column": 35
        },
        "end": {
          "line": 104,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 3354,
      "end": 3360,
      "loc": {
        "start": {
          "line": 104,
          "column": 36
        },
        "end": {
          "line": 104,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3360,
      "end": 3361,
      "loc": {
        "start": {
          "line": 104,
          "column": 42
        },
        "end": {
          "line": 104,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 3361,
      "end": 3365,
      "loc": {
        "start": {
          "line": 104,
          "column": 43
        },
        "end": {
          "line": 104,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3365,
      "end": 3366,
      "loc": {
        "start": {
          "line": 104,
          "column": 47
        },
        "end": {
          "line": 104,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 3366,
      "end": 3372,
      "loc": {
        "start": {
          "line": 104,
          "column": 48
        },
        "end": {
          "line": 104,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3372,
      "end": 3373,
      "loc": {
        "start": {
          "line": 104,
          "column": 54
        },
        "end": {
          "line": 104,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3373,
      "end": 3374,
      "loc": {
        "start": {
          "line": 104,
          "column": 55
        },
        "end": {
          "line": 104,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 3375,
      "end": 3386,
      "loc": {
        "start": {
          "line": 104,
          "column": 57
        },
        "end": {
          "line": 104,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3386,
      "end": 3387,
      "loc": {
        "start": {
          "line": 104,
          "column": 68
        },
        "end": {
          "line": 104,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3387,
      "end": 3388,
      "loc": {
        "start": {
          "line": 104,
          "column": 69
        },
        "end": {
          "line": 104,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3393,
      "end": 3394,
      "loc": {
        "start": {
          "line": 105,
          "column": 4
        },
        "end": {
          "line": 105,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n        @param {Buffer} un-hashed\n        @param {./PublicKey}\n        @return {boolean}\n    ",
      "start": 3400,
      "end": 3499,
      "loc": {
        "start": {
          "line": 107,
          "column": 4
        },
        "end": {
          "line": 111,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "verifyBuffer",
      "start": 3504,
      "end": 3516,
      "loc": {
        "start": {
          "line": 112,
          "column": 4
        },
        "end": {
          "line": 112,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3516,
      "end": 3517,
      "loc": {
        "start": {
          "line": 112,
          "column": 16
        },
        "end": {
          "line": 112,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 3517,
      "end": 3520,
      "loc": {
        "start": {
          "line": 112,
          "column": 17
        },
        "end": {
          "line": 112,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3520,
      "end": 3521,
      "loc": {
        "start": {
          "line": 112,
          "column": 20
        },
        "end": {
          "line": 112,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 3522,
      "end": 3532,
      "loc": {
        "start": {
          "line": 112,
          "column": 22
        },
        "end": {
          "line": 112,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3532,
      "end": 3533,
      "loc": {
        "start": {
          "line": 112,
          "column": 32
        },
        "end": {
          "line": 112,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3534,
      "end": 3535,
      "loc": {
        "start": {
          "line": 112,
          "column": 34
        },
        "end": {
          "line": 112,
          "column": 35
        }
      }
    },
    {
      "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": 3544,
      "end": 3547,
      "loc": {
        "start": {
          "line": 113,
          "column": 8
        },
        "end": {
          "line": 113,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_hash",
      "start": 3548,
      "end": 3553,
      "loc": {
        "start": {
          "line": 113,
          "column": 12
        },
        "end": {
          "line": 113,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3554,
      "end": 3555,
      "loc": {
        "start": {
          "line": 113,
          "column": 18
        },
        "end": {
          "line": 113,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256",
      "start": 3556,
      "end": 3562,
      "loc": {
        "start": {
          "line": 113,
          "column": 20
        },
        "end": {
          "line": 113,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3562,
      "end": 3563,
      "loc": {
        "start": {
          "line": 113,
          "column": 26
        },
        "end": {
          "line": 113,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 3563,
      "end": 3566,
      "loc": {
        "start": {
          "line": 113,
          "column": 27
        },
        "end": {
          "line": 113,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3566,
      "end": 3567,
      "loc": {
        "start": {
          "line": 113,
          "column": 30
        },
        "end": {
          "line": 113,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3567,
      "end": 3568,
      "loc": {
        "start": {
          "line": 113,
          "column": 31
        },
        "end": {
          "line": 113,
          "column": 32
        }
      }
    },
    {
      "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": 3577,
      "end": 3583,
      "loc": {
        "start": {
          "line": 114,
          "column": 8
        },
        "end": {
          "line": 114,
          "column": 14
        }
      }
    },
    {
      "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": 3584,
      "end": 3588,
      "loc": {
        "start": {
          "line": 114,
          "column": 15
        },
        "end": {
          "line": 114,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3588,
      "end": 3589,
      "loc": {
        "start": {
          "line": 114,
          "column": 19
        },
        "end": {
          "line": 114,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "verifyHash",
      "start": 3589,
      "end": 3599,
      "loc": {
        "start": {
          "line": 114,
          "column": 20
        },
        "end": {
          "line": 114,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3599,
      "end": 3600,
      "loc": {
        "start": {
          "line": 114,
          "column": 30
        },
        "end": {
          "line": 114,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_hash",
      "start": 3600,
      "end": 3605,
      "loc": {
        "start": {
          "line": 114,
          "column": 31
        },
        "end": {
          "line": 114,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3605,
      "end": 3606,
      "loc": {
        "start": {
          "line": 114,
          "column": 36
        },
        "end": {
          "line": 114,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 3607,
      "end": 3617,
      "loc": {
        "start": {
          "line": 114,
          "column": 38
        },
        "end": {
          "line": 114,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3617,
      "end": 3618,
      "loc": {
        "start": {
          "line": 114,
          "column": 48
        },
        "end": {
          "line": 114,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3618,
      "end": 3619,
      "loc": {
        "start": {
          "line": 114,
          "column": 49
        },
        "end": {
          "line": 114,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3624,
      "end": 3625,
      "loc": {
        "start": {
          "line": 115,
          "column": 4
        },
        "end": {
          "line": 115,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "verifyHash",
      "start": 3631,
      "end": 3641,
      "loc": {
        "start": {
          "line": 117,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3641,
      "end": 3642,
      "loc": {
        "start": {
          "line": 117,
          "column": 14
        },
        "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": "hash",
      "start": 3642,
      "end": 3646,
      "loc": {
        "start": {
          "line": 117,
          "column": 15
        },
        "end": {
          "line": 117,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3646,
      "end": 3647,
      "loc": {
        "start": {
          "line": 117,
          "column": 19
        },
        "end": {
          "line": 117,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 3648,
      "end": 3658,
      "loc": {
        "start": {
          "line": 117,
          "column": 21
        },
        "end": {
          "line": 117,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3658,
      "end": 3659,
      "loc": {
        "start": {
          "line": 117,
          "column": 31
        },
        "end": {
          "line": 117,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3660,
      "end": 3661,
      "loc": {
        "start": {
          "line": 117,
          "column": 33
        },
        "end": {
          "line": 117,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 3670,
      "end": 3676,
      "loc": {
        "start": {
          "line": 118,
          "column": 8
        },
        "end": {
          "line": 118,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3676,
      "end": 3677,
      "loc": {
        "start": {
          "line": 118,
          "column": 14
        },
        "end": {
          "line": 118,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 3677,
      "end": 3682,
      "loc": {
        "start": {
          "line": 118,
          "column": 15
        },
        "end": {
          "line": 118,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3682,
      "end": 3683,
      "loc": {
        "start": {
          "line": 118,
          "column": 20
        },
        "end": {
          "line": 118,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hash",
      "start": 3696,
      "end": 3700,
      "loc": {
        "start": {
          "line": 119,
          "column": 12
        },
        "end": {
          "line": 119,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3700,
      "end": 3701,
      "loc": {
        "start": {
          "line": 119,
          "column": 16
        },
        "end": {
          "line": 119,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 3701,
      "end": 3707,
      "loc": {
        "start": {
          "line": 119,
          "column": 17
        },
        "end": {
          "line": 119,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3707,
      "end": 3708,
      "loc": {
        "start": {
          "line": 119,
          "column": 23
        },
        "end": {
          "line": 119,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 3721,
      "end": 3723,
      "loc": {
        "start": {
          "line": 120,
          "column": 12
        },
        "end": {
          "line": 120,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3723,
      "end": 3724,
      "loc": {
        "start": {
          "line": 120,
          "column": 14
        },
        "end": {
          "line": 120,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "A SHA 256 should be 32 bytes long, instead got ",
      "start": 3737,
      "end": 3786,
      "loc": {
        "start": {
          "line": 121,
          "column": 12
        },
        "end": {
          "line": 121,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 3787,
      "end": 3788,
      "loc": {
        "start": {
          "line": 121,
          "column": 62
        },
        "end": {
          "line": 121,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hash",
      "start": 3789,
      "end": 3793,
      "loc": {
        "start": {
          "line": 121,
          "column": 64
        },
        "end": {
          "line": 121,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3793,
      "end": 3794,
      "loc": {
        "start": {
          "line": 121,
          "column": 68
        },
        "end": {
          "line": 121,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 3794,
      "end": 3800,
      "loc": {
        "start": {
          "line": 121,
          "column": 69
        },
        "end": {
          "line": 121,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3809,
      "end": 3810,
      "loc": {
        "start": {
          "line": 122,
          "column": 8
        },
        "end": {
          "line": 122,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3810,
      "end": 3811,
      "loc": {
        "start": {
          "line": 122,
          "column": 9
        },
        "end": {
          "line": 122,
          "column": 10
        }
      }
    },
    {
      "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": 3820,
      "end": 3826,
      "loc": {
        "start": {
          "line": 123,
          "column": 8
        },
        "end": {
          "line": 123,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "verify",
      "start": 3827,
      "end": 3833,
      "loc": {
        "start": {
          "line": 123,
          "column": 15
        },
        "end": {
          "line": 123,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3833,
      "end": 3834,
      "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": "secp256k1",
      "start": 3847,
      "end": 3856,
      "loc": {
        "start": {
          "line": 124,
          "column": 12
        },
        "end": {
          "line": 124,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3856,
      "end": 3857,
      "loc": {
        "start": {
          "line": 124,
          "column": 21
        },
        "end": {
          "line": 124,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hash",
      "start": 3870,
      "end": 3874,
      "loc": {
        "start": {
          "line": 125,
          "column": 12
        },
        "end": {
          "line": 125,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3874,
      "end": 3875,
      "loc": {
        "start": {
          "line": 125,
          "column": 16
        },
        "end": {
          "line": 125,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3888,
      "end": 3889,
      "loc": {
        "start": {
          "line": 126,
          "column": 12
        },
        "end": {
          "line": 126,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 3906,
      "end": 3907,
      "loc": {
        "start": {
          "line": 127,
          "column": 16
        },
        "end": {
          "line": 127,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3907,
      "end": 3908,
      "loc": {
        "start": {
          "line": 127,
          "column": 17
        },
        "end": {
          "line": 127,
          "column": 18
        }
      }
    },
    {
      "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": 3909,
      "end": 3913,
      "loc": {
        "start": {
          "line": 127,
          "column": 19
        },
        "end": {
          "line": 127,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3913,
      "end": 3914,
      "loc": {
        "start": {
          "line": 127,
          "column": 23
        },
        "end": {
          "line": 127,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 3914,
      "end": 3915,
      "loc": {
        "start": {
          "line": 127,
          "column": 24
        },
        "end": {
          "line": 127,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3915,
      "end": 3916,
      "loc": {
        "start": {
          "line": 127,
          "column": 25
        },
        "end": {
          "line": 127,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 3933,
      "end": 3934,
      "loc": {
        "start": {
          "line": 128,
          "column": 16
        },
        "end": {
          "line": 128,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3934,
      "end": 3935,
      "loc": {
        "start": {
          "line": 128,
          "column": 17
        },
        "end": {
          "line": 128,
          "column": 18
        }
      }
    },
    {
      "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": 3936,
      "end": 3940,
      "loc": {
        "start": {
          "line": 128,
          "column": 19
        },
        "end": {
          "line": 128,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3940,
      "end": 3941,
      "loc": {
        "start": {
          "line": 128,
          "column": 23
        },
        "end": {
          "line": 128,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "s",
      "start": 3941,
      "end": 3942,
      "loc": {
        "start": {
          "line": 128,
          "column": 24
        },
        "end": {
          "line": 128,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3955,
      "end": 3956,
      "loc": {
        "start": {
          "line": 129,
          "column": 12
        },
        "end": {
          "line": 129,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3956,
      "end": 3957,
      "loc": {
        "start": {
          "line": 129,
          "column": 13
        },
        "end": {
          "line": 129,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 3970,
      "end": 3980,
      "loc": {
        "start": {
          "line": 130,
          "column": 12
        },
        "end": {
          "line": 130,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3980,
      "end": 3981,
      "loc": {
        "start": {
          "line": 130,
          "column": 22
        },
        "end": {
          "line": 130,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Q",
      "start": 3981,
      "end": 3982,
      "loc": {
        "start": {
          "line": 130,
          "column": 23
        },
        "end": {
          "line": 130,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3991,
      "end": 3992,
      "loc": {
        "start": {
          "line": 131,
          "column": 8
        },
        "end": {
          "line": 131,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3992,
      "end": 3993,
      "loc": {
        "start": {
          "line": 131,
          "column": 9
        },
        "end": {
          "line": 131,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3998,
      "end": 3999,
      "loc": {
        "start": {
          "line": 132,
          "column": 4
        },
        "end": {
          "line": 132,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " <HEX> ",
      "start": 4005,
      "end": 4016,
      "loc": {
        "start": {
          "line": 134,
          "column": 4
        },
        "end": {
          "line": 134,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toByteBuffer",
      "start": 4022,
      "end": 4034,
      "loc": {
        "start": {
          "line": 136,
          "column": 4
        },
        "end": {
          "line": 136,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4034,
      "end": 4035,
      "loc": {
        "start": {
          "line": 136,
          "column": 16
        },
        "end": {
          "line": 136,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4035,
      "end": 4036,
      "loc": {
        "start": {
          "line": 136,
          "column": 17
        },
        "end": {
          "line": 136,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4037,
      "end": 4038,
      "loc": {
        "start": {
          "line": 136,
          "column": 19
        },
        "end": {
          "line": 136,
          "column": 20
        }
      }
    },
    {
      "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": 4047,
      "end": 4050,
      "loc": {
        "start": {
          "line": 137,
          "column": 8
        },
        "end": {
          "line": 137,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 4051,
      "end": 4052,
      "loc": {
        "start": {
          "line": 137,
          "column": 12
        },
        "end": {
          "line": 137,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4052,
      "end": 4053,
      "loc": {
        "start": {
          "line": 137,
          "column": 13
        },
        "end": {
          "line": 137,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 4062,
      "end": 4063,
      "loc": {
        "start": {
          "line": 138,
          "column": 8
        },
        "end": {
          "line": 138,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4064,
      "end": 4065,
      "loc": {
        "start": {
          "line": 138,
          "column": 10
        },
        "end": {
          "line": 138,
          "column": 11
        }
      }
    },
    {
      "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": 4066,
      "end": 4069,
      "loc": {
        "start": {
          "line": 138,
          "column": 12
        },
        "end": {
          "line": 138,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ByteBuffer",
      "start": 4070,
      "end": 4080,
      "loc": {
        "start": {
          "line": 138,
          "column": 16
        },
        "end": {
          "line": 138,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4080,
      "end": 4081,
      "loc": {
        "start": {
          "line": 138,
          "column": 26
        },
        "end": {
          "line": 138,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ByteBuffer",
      "start": 4094,
      "end": 4104,
      "loc": {
        "start": {
          "line": 139,
          "column": 12
        },
        "end": {
          "line": 139,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4104,
      "end": 4105,
      "loc": {
        "start": {
          "line": 139,
          "column": 22
        },
        "end": {
          "line": 139,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DEFAULT_CAPACITY",
      "start": 4105,
      "end": 4121,
      "loc": {
        "start": {
          "line": 139,
          "column": 23
        },
        "end": {
          "line": 139,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4121,
      "end": 4122,
      "loc": {
        "start": {
          "line": 139,
          "column": 39
        },
        "end": {
          "line": 139,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ByteBuffer",
      "start": 4135,
      "end": 4145,
      "loc": {
        "start": {
          "line": 140,
          "column": 12
        },
        "end": {
          "line": 140,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4145,
      "end": 4146,
      "loc": {
        "start": {
          "line": 140,
          "column": 22
        },
        "end": {
          "line": 140,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "LITTLE_ENDIAN",
      "start": 4146,
      "end": 4159,
      "loc": {
        "start": {
          "line": 140,
          "column": 23
        },
        "end": {
          "line": 140,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4168,
      "end": 4169,
      "loc": {
        "start": {
          "line": 141,
          "column": 8
        },
        "end": {
          "line": 141,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4169,
      "end": 4170,
      "loc": {
        "start": {
          "line": 141,
          "column": 9
        },
        "end": {
          "line": 141,
          "column": 10
        }
      }
    },
    {
      "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": 4179,
      "end": 4183,
      "loc": {
        "start": {
          "line": 142,
          "column": 8
        },
        "end": {
          "line": 142,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4183,
      "end": 4184,
      "loc": {
        "start": {
          "line": 142,
          "column": 12
        },
        "end": {
          "line": 142,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "appendByteBuffer",
      "start": 4184,
      "end": 4200,
      "loc": {
        "start": {
          "line": 142,
          "column": 13
        },
        "end": {
          "line": 142,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4200,
      "end": 4201,
      "loc": {
        "start": {
          "line": 142,
          "column": 29
        },
        "end": {
          "line": 142,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 4201,
      "end": 4202,
      "loc": {
        "start": {
          "line": 142,
          "column": 30
        },
        "end": {
          "line": 142,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4202,
      "end": 4203,
      "loc": {
        "start": {
          "line": 142,
          "column": 31
        },
        "end": {
          "line": 142,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4203,
      "end": 4204,
      "loc": {
        "start": {
          "line": 142,
          "column": 32
        },
        "end": {
          "line": 142,
          "column": 33
        }
      }
    },
    {
      "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": 4213,
      "end": 4219,
      "loc": {
        "start": {
          "line": 143,
          "column": 8
        },
        "end": {
          "line": 143,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 4220,
      "end": 4221,
      "loc": {
        "start": {
          "line": 143,
          "column": 15
        },
        "end": {
          "line": 143,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4221,
      "end": 4222,
      "loc": {
        "start": {
          "line": 143,
          "column": 16
        },
        "end": {
          "line": 143,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "copy",
      "start": 4222,
      "end": 4226,
      "loc": {
        "start": {
          "line": 143,
          "column": 17
        },
        "end": {
          "line": 143,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4226,
      "end": 4227,
      "loc": {
        "start": {
          "line": 143,
          "column": 21
        },
        "end": {
          "line": 143,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4227,
      "end": 4228,
      "loc": {
        "start": {
          "line": 143,
          "column": 22
        },
        "end": {
          "line": 143,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4228,
      "end": 4229,
      "loc": {
        "start": {
          "line": 143,
          "column": 23
        },
        "end": {
          "line": 143,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 4230,
      "end": 4231,
      "loc": {
        "start": {
          "line": 143,
          "column": 25
        },
        "end": {
          "line": 143,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4231,
      "end": 4232,
      "loc": {
        "start": {
          "line": 143,
          "column": 26
        },
        "end": {
          "line": 143,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 4232,
      "end": 4238,
      "loc": {
        "start": {
          "line": 143,
          "column": 27
        },
        "end": {
          "line": 143,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4238,
      "end": 4239,
      "loc": {
        "start": {
          "line": 143,
          "column": 33
        },
        "end": {
          "line": 143,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4239,
      "end": 4240,
      "loc": {
        "start": {
          "line": 143,
          "column": 34
        },
        "end": {
          "line": 143,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4245,
      "end": 4246,
      "loc": {
        "start": {
          "line": 144,
          "column": 4
        },
        "end": {
          "line": 144,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 4252,
      "end": 4258,
      "loc": {
        "start": {
          "line": 146,
          "column": 4
        },
        "end": {
          "line": 146,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromHex",
      "start": 4259,
      "end": 4266,
      "loc": {
        "start": {
          "line": 146,
          "column": 11
        },
        "end": {
          "line": 146,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4266,
      "end": 4267,
      "loc": {
        "start": {
          "line": 146,
          "column": 18
        },
        "end": {
          "line": 146,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hex",
      "start": 4267,
      "end": 4270,
      "loc": {
        "start": {
          "line": 146,
          "column": 19
        },
        "end": {
          "line": 146,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4270,
      "end": 4271,
      "loc": {
        "start": {
          "line": 146,
          "column": 22
        },
        "end": {
          "line": 146,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4272,
      "end": 4273,
      "loc": {
        "start": {
          "line": 146,
          "column": 24
        },
        "end": {
          "line": 146,
          "column": 25
        }
      }
    },
    {
      "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": 4282,
      "end": 4288,
      "loc": {
        "start": {
          "line": 147,
          "column": 8
        },
        "end": {
          "line": 147,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Signature",
      "start": 4289,
      "end": 4298,
      "loc": {
        "start": {
          "line": 147,
          "column": 15
        },
        "end": {
          "line": 147,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4298,
      "end": 4299,
      "loc": {
        "start": {
          "line": 147,
          "column": 24
        },
        "end": {
          "line": 147,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 4299,
      "end": 4309,
      "loc": {
        "start": {
          "line": 147,
          "column": 25
        },
        "end": {
          "line": 147,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4309,
      "end": 4310,
      "loc": {
        "start": {
          "line": 147,
          "column": 35
        },
        "end": {
          "line": 147,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 4310,
      "end": 4316,
      "loc": {
        "start": {
          "line": 147,
          "column": 36
        },
        "end": {
          "line": 147,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4316,
      "end": 4317,
      "loc": {
        "start": {
          "line": 147,
          "column": 42
        },
        "end": {
          "line": 147,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 4317,
      "end": 4321,
      "loc": {
        "start": {
          "line": 147,
          "column": 43
        },
        "end": {
          "line": 147,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4321,
      "end": 4322,
      "loc": {
        "start": {
          "line": 147,
          "column": 47
        },
        "end": {
          "line": 147,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hex",
      "start": 4322,
      "end": 4325,
      "loc": {
        "start": {
          "line": 147,
          "column": 48
        },
        "end": {
          "line": 147,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4325,
      "end": 4326,
      "loc": {
        "start": {
          "line": 147,
          "column": 51
        },
        "end": {
          "line": 147,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "hex",
      "start": 4327,
      "end": 4332,
      "loc": {
        "start": {
          "line": 147,
          "column": 53
        },
        "end": {
          "line": 147,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4332,
      "end": 4333,
      "loc": {
        "start": {
          "line": 147,
          "column": 58
        },
        "end": {
          "line": 147,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4333,
      "end": 4334,
      "loc": {
        "start": {
          "line": 147,
          "column": 59
        },
        "end": {
          "line": 147,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4334,
      "end": 4335,
      "loc": {
        "start": {
          "line": 147,
          "column": 60
        },
        "end": {
          "line": 147,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4340,
      "end": 4341,
      "loc": {
        "start": {
          "line": 148,
          "column": 4
        },
        "end": {
          "line": 148,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toHex",
      "start": 4347,
      "end": 4352,
      "loc": {
        "start": {
          "line": 150,
          "column": 4
        },
        "end": {
          "line": 150,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4352,
      "end": 4353,
      "loc": {
        "start": {
          "line": 150,
          "column": 9
        },
        "end": {
          "line": 150,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4353,
      "end": 4354,
      "loc": {
        "start": {
          "line": 150,
          "column": 10
        },
        "end": {
          "line": 150,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4355,
      "end": 4356,
      "loc": {
        "start": {
          "line": 150,
          "column": 12
        },
        "end": {
          "line": 150,
          "column": 13
        }
      }
    },
    {
      "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": 4365,
      "end": 4371,
      "loc": {
        "start": {
          "line": 151,
          "column": 8
        },
        "end": {
          "line": 151,
          "column": 14
        }
      }
    },
    {
      "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": 4372,
      "end": 4376,
      "loc": {
        "start": {
          "line": 151,
          "column": 15
        },
        "end": {
          "line": 151,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4376,
      "end": 4377,
      "loc": {
        "start": {
          "line": 151,
          "column": 19
        },
        "end": {
          "line": 151,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 4377,
      "end": 4385,
      "loc": {
        "start": {
          "line": 151,
          "column": 20
        },
        "end": {
          "line": 151,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4385,
      "end": 4386,
      "loc": {
        "start": {
          "line": 151,
          "column": 28
        },
        "end": {
          "line": 151,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4386,
      "end": 4387,
      "loc": {
        "start": {
          "line": 151,
          "column": 29
        },
        "end": {
          "line": 151,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4387,
      "end": 4388,
      "loc": {
        "start": {
          "line": 151,
          "column": 30
        },
        "end": {
          "line": 151,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toString",
      "start": 4388,
      "end": 4396,
      "loc": {
        "start": {
          "line": 151,
          "column": 31
        },
        "end": {
          "line": 151,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4396,
      "end": 4397,
      "loc": {
        "start": {
          "line": 151,
          "column": 39
        },
        "end": {
          "line": 151,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "hex",
      "start": 4397,
      "end": 4402,
      "loc": {
        "start": {
          "line": 151,
          "column": 40
        },
        "end": {
          "line": 151,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4402,
      "end": 4403,
      "loc": {
        "start": {
          "line": 151,
          "column": 45
        },
        "end": {
          "line": 151,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4403,
      "end": 4404,
      "loc": {
        "start": {
          "line": 151,
          "column": 46
        },
        "end": {
          "line": 151,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4409,
      "end": 4410,
      "loc": {
        "start": {
          "line": 152,
          "column": 4
        },
        "end": {
          "line": 152,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 4416,
      "end": 4422,
      "loc": {
        "start": {
          "line": 154,
          "column": 4
        },
        "end": {
          "line": 154,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signHex",
      "start": 4423,
      "end": 4430,
      "loc": {
        "start": {
          "line": 154,
          "column": 11
        },
        "end": {
          "line": 154,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4430,
      "end": 4431,
      "loc": {
        "start": {
          "line": 154,
          "column": 18
        },
        "end": {
          "line": 154,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hex",
      "start": 4431,
      "end": 4434,
      "loc": {
        "start": {
          "line": 154,
          "column": 19
        },
        "end": {
          "line": 154,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4434,
      "end": 4435,
      "loc": {
        "start": {
          "line": 154,
          "column": 22
        },
        "end": {
          "line": 154,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 4436,
      "end": 4447,
      "loc": {
        "start": {
          "line": 154,
          "column": 24
        },
        "end": {
          "line": 154,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4447,
      "end": 4448,
      "loc": {
        "start": {
          "line": 154,
          "column": 35
        },
        "end": {
          "line": 154,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4449,
      "end": 4450,
      "loc": {
        "start": {
          "line": 154,
          "column": 37
        },
        "end": {
          "line": 154,
          "column": 38
        }
      }
    },
    {
      "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": 4459,
      "end": 4462,
      "loc": {
        "start": {
          "line": 155,
          "column": 8
        },
        "end": {
          "line": 155,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 4463,
      "end": 4466,
      "loc": {
        "start": {
          "line": 155,
          "column": 12
        },
        "end": {
          "line": 155,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4466,
      "end": 4467,
      "loc": {
        "start": {
          "line": 155,
          "column": 15
        },
        "end": {
          "line": 155,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 4476,
      "end": 4479,
      "loc": {
        "start": {
          "line": 156,
          "column": 8
        },
        "end": {
          "line": 156,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4480,
      "end": 4481,
      "loc": {
        "start": {
          "line": 156,
          "column": 12
        },
        "end": {
          "line": 156,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 4482,
      "end": 4488,
      "loc": {
        "start": {
          "line": 156,
          "column": 14
        },
        "end": {
          "line": 156,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4488,
      "end": 4489,
      "loc": {
        "start": {
          "line": 156,
          "column": 20
        },
        "end": {
          "line": 156,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 4489,
      "end": 4493,
      "loc": {
        "start": {
          "line": 156,
          "column": 21
        },
        "end": {
          "line": 156,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4493,
      "end": 4494,
      "loc": {
        "start": {
          "line": 156,
          "column": 25
        },
        "end": {
          "line": 156,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hex",
      "start": 4494,
      "end": 4497,
      "loc": {
        "start": {
          "line": 156,
          "column": 26
        },
        "end": {
          "line": 156,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4497,
      "end": 4498,
      "loc": {
        "start": {
          "line": 156,
          "column": 29
        },
        "end": {
          "line": 156,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "hex",
      "start": 4499,
      "end": 4504,
      "loc": {
        "start": {
          "line": 156,
          "column": 31
        },
        "end": {
          "line": 156,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4504,
      "end": 4505,
      "loc": {
        "start": {
          "line": 156,
          "column": 36
        },
        "end": {
          "line": 156,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4505,
      "end": 4506,
      "loc": {
        "start": {
          "line": 156,
          "column": 37
        },
        "end": {
          "line": 156,
          "column": 38
        }
      }
    },
    {
      "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": 4515,
      "end": 4521,
      "loc": {
        "start": {
          "line": 157,
          "column": 8
        },
        "end": {
          "line": 157,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Signature",
      "start": 4522,
      "end": 4531,
      "loc": {
        "start": {
          "line": 157,
          "column": 15
        },
        "end": {
          "line": 157,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4531,
      "end": 4532,
      "loc": {
        "start": {
          "line": 157,
          "column": 24
        },
        "end": {
          "line": 157,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signBuffer",
      "start": 4532,
      "end": 4542,
      "loc": {
        "start": {
          "line": 157,
          "column": 25
        },
        "end": {
          "line": 157,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4542,
      "end": 4543,
      "loc": {
        "start": {
          "line": 157,
          "column": 35
        },
        "end": {
          "line": 157,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 4543,
      "end": 4546,
      "loc": {
        "start": {
          "line": 157,
          "column": 36
        },
        "end": {
          "line": 157,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4546,
      "end": 4547,
      "loc": {
        "start": {
          "line": 157,
          "column": 39
        },
        "end": {
          "line": 157,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 4548,
      "end": 4559,
      "loc": {
        "start": {
          "line": 157,
          "column": 41
        },
        "end": {
          "line": 157,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4559,
      "end": 4560,
      "loc": {
        "start": {
          "line": 157,
          "column": 52
        },
        "end": {
          "line": 157,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4560,
      "end": 4561,
      "loc": {
        "start": {
          "line": 157,
          "column": 53
        },
        "end": {
          "line": 157,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4566,
      "end": 4567,
      "loc": {
        "start": {
          "line": 158,
          "column": 4
        },
        "end": {
          "line": 158,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "verifyHex",
      "start": 4573,
      "end": 4582,
      "loc": {
        "start": {
          "line": 160,
          "column": 4
        },
        "end": {
          "line": 160,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4582,
      "end": 4583,
      "loc": {
        "start": {
          "line": 160,
          "column": 13
        },
        "end": {
          "line": 160,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hex",
      "start": 4583,
      "end": 4586,
      "loc": {
        "start": {
          "line": 160,
          "column": 14
        },
        "end": {
          "line": 160,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4586,
      "end": 4587,
      "loc": {
        "start": {
          "line": 160,
          "column": 17
        },
        "end": {
          "line": 160,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 4588,
      "end": 4598,
      "loc": {
        "start": {
          "line": 160,
          "column": 19
        },
        "end": {
          "line": 160,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4598,
      "end": 4599,
      "loc": {
        "start": {
          "line": 160,
          "column": 29
        },
        "end": {
          "line": 160,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4600,
      "end": 4601,
      "loc": {
        "start": {
          "line": 160,
          "column": 31
        },
        "end": {
          "line": 160,
          "column": 32
        }
      }
    },
    {
      "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": 4610,
      "end": 4613,
      "loc": {
        "start": {
          "line": 161,
          "column": 8
        },
        "end": {
          "line": 161,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 4614,
      "end": 4617,
      "loc": {
        "start": {
          "line": 161,
          "column": 12
        },
        "end": {
          "line": 161,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4617,
      "end": 4618,
      "loc": {
        "start": {
          "line": 161,
          "column": 15
        },
        "end": {
          "line": 161,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 4627,
      "end": 4630,
      "loc": {
        "start": {
          "line": 162,
          "column": 8
        },
        "end": {
          "line": 162,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4631,
      "end": 4632,
      "loc": {
        "start": {
          "line": 162,
          "column": 12
        },
        "end": {
          "line": 162,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 4633,
      "end": 4639,
      "loc": {
        "start": {
          "line": 162,
          "column": 14
        },
        "end": {
          "line": 162,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4639,
      "end": 4640,
      "loc": {
        "start": {
          "line": 162,
          "column": 20
        },
        "end": {
          "line": 162,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 4640,
      "end": 4644,
      "loc": {
        "start": {
          "line": 162,
          "column": 21
        },
        "end": {
          "line": 162,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4644,
      "end": 4645,
      "loc": {
        "start": {
          "line": 162,
          "column": 25
        },
        "end": {
          "line": 162,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hex",
      "start": 4645,
      "end": 4648,
      "loc": {
        "start": {
          "line": 162,
          "column": 26
        },
        "end": {
          "line": 162,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4648,
      "end": 4649,
      "loc": {
        "start": {
          "line": 162,
          "column": 29
        },
        "end": {
          "line": 162,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "hex",
      "start": 4650,
      "end": 4655,
      "loc": {
        "start": {
          "line": 162,
          "column": 31
        },
        "end": {
          "line": 162,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4655,
      "end": 4656,
      "loc": {
        "start": {
          "line": 162,
          "column": 36
        },
        "end": {
          "line": 162,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4656,
      "end": 4657,
      "loc": {
        "start": {
          "line": 162,
          "column": 37
        },
        "end": {
          "line": 162,
          "column": 38
        }
      }
    },
    {
      "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": 4666,
      "end": 4672,
      "loc": {
        "start": {
          "line": 163,
          "column": 8
        },
        "end": {
          "line": 163,
          "column": 14
        }
      }
    },
    {
      "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": 4673,
      "end": 4677,
      "loc": {
        "start": {
          "line": 163,
          "column": 15
        },
        "end": {
          "line": 163,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4677,
      "end": 4678,
      "loc": {
        "start": {
          "line": 163,
          "column": 19
        },
        "end": {
          "line": 163,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "verifyBuffer",
      "start": 4678,
      "end": 4690,
      "loc": {
        "start": {
          "line": 163,
          "column": 20
        },
        "end": {
          "line": 163,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4690,
      "end": 4691,
      "loc": {
        "start": {
          "line": 163,
          "column": 32
        },
        "end": {
          "line": 163,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 4691,
      "end": 4694,
      "loc": {
        "start": {
          "line": 163,
          "column": 33
        },
        "end": {
          "line": 163,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4694,
      "end": 4695,
      "loc": {
        "start": {
          "line": 163,
          "column": 36
        },
        "end": {
          "line": 163,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 4696,
      "end": 4706,
      "loc": {
        "start": {
          "line": 163,
          "column": 38
        },
        "end": {
          "line": 163,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4706,
      "end": 4707,
      "loc": {
        "start": {
          "line": 163,
          "column": 48
        },
        "end": {
          "line": 163,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4707,
      "end": 4708,
      "loc": {
        "start": {
          "line": 163,
          "column": 49
        },
        "end": {
          "line": 163,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4713,
      "end": 4714,
      "loc": {
        "start": {
          "line": 164,
          "column": 4
        },
        "end": {
          "line": 164,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4715,
      "end": 4716,
      "loc": {
        "start": {
          "line": 165,
          "column": 0
        },
        "end": {
          "line": 165,
          "column": 1
        }
      }
    },
    {
      "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": 4718,
      "end": 4724,
      "loc": {
        "start": {
          "line": 167,
          "column": 0
        },
        "end": {
          "line": 167,
          "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": 4725,
      "end": 4732,
      "loc": {
        "start": {
          "line": 167,
          "column": 7
        },
        "end": {
          "line": 167,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Signature",
      "start": 4733,
      "end": 4742,
      "loc": {
        "start": {
          "line": 167,
          "column": 15
        },
        "end": {
          "line": 167,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4742,
      "end": 4743,
      "loc": {
        "start": {
          "line": 167,
          "column": 24
        },
        "end": {
          "line": 167,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4744,
      "end": 4744,
      "loc": {
        "start": {
          "line": 168,
          "column": 0
        },
        "end": {
          "line": 168,
          "column": 0
        }
      }
    }
  ]
}