{
  "type": "File",
  "start":0,"end":359,"loc":{"start":{"line":1,"column":0},"end":{"line":19,"column":1}},
  "program": {
    "type": "Program",
    "start":0,"end":359,"loc":{"start":{"line":1,"column":0},"end":{"line":19,"column":1}},
    "sourceType": "script",
    "interpreter": null,
    "body": [
      {
        "type": "ClassDeclaration",
        "start":0,"end":359,"loc":{"start":{"line":1,"column":0},"end":{"line":19,"column":1}},
        "id": {
          "type": "Identifier",
          "start":6,"end":11,"loc":{"start":{"line":1,"column":6},"end":{"line":1,"column":11},"identifierName":"Point"},
          "name": "Point"
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start":12,"end":359,"loc":{"start":{"line":1,"column":12},"end":{"line":19,"column":1}},
          "body": [
            {
              "type": "ClassPrivateProperty",
              "start":16,"end":23,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":9}},
              "static": false,
              "key": {
                "type": "PrivateName",
                "start":16,"end":18,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":4}},
                "id": {
                  "type": "Identifier",
                  "start":17,"end":18,"loc":{"start":{"line":2,"column":3},"end":{"line":2,"column":4},"identifierName":"x"},
                  "name": "x"
                }
              },
              "value": {
                "type": "NumericLiteral",
                "start":21,"end":22,"loc":{"start":{"line":2,"column":7},"end":{"line":2,"column":8}},
                "extra": {
                  "rawValue": 1,
                  "raw": "1"
                },
                "value": 1
              }
            },
            {
              "type": "ClassPrivateProperty",
              "start":26,"end":33,"loc":{"start":{"line":3,"column":2},"end":{"line":3,"column":9}},
              "static": false,
              "key": {
                "type": "PrivateName",
                "start":26,"end":28,"loc":{"start":{"line":3,"column":2},"end":{"line":3,"column":4}},
                "id": {
                  "type": "Identifier",
                  "start":27,"end":28,"loc":{"start":{"line":3,"column":3},"end":{"line":3,"column":4},"identifierName":"y"},
                  "name": "y"
                }
              },
              "value": {
                "type": "NumericLiteral",
                "start":31,"end":32,"loc":{"start":{"line":3,"column":7},"end":{"line":3,"column":8}},
                "extra": {
                  "rawValue": 2,
                  "raw": "2"
                },
                "value": 2
              }
            },
            {
              "type": "ClassMethod",
              "start":37,"end":104,"loc":{"start":{"line":5,"column":2},"end":{"line":8,"column":3}},
              "static": false,
              "key": {
                "type": "Identifier",
                "start":37,"end":48,"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":13},"identifierName":"constructor"},
                "name": "constructor"
              },
              "computed": false,
              "kind": "constructor",
              "id": null,
              "generator": false,
              "async": false,
              "params": [
                {
                  "type": "AssignmentPattern",
                  "start":49,"end":54,"loc":{"start":{"line":5,"column":14},"end":{"line":5,"column":19}},
                  "left": {
                    "type": "Identifier",
                    "start":49,"end":50,"loc":{"start":{"line":5,"column":14},"end":{"line":5,"column":15},"identifierName":"x"},
                    "name": "x"
                  },
                  "right": {
                    "type": "NumericLiteral",
                    "start":53,"end":54,"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":19}},
                    "extra": {
                      "rawValue": 0,
                      "raw": "0"
                    },
                    "value": 0
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start":56,"end":61,"loc":{"start":{"line":5,"column":21},"end":{"line":5,"column":26}},
                  "left": {
                    "type": "Identifier",
                    "start":56,"end":57,"loc":{"start":{"line":5,"column":21},"end":{"line":5,"column":22},"identifierName":"y"},
                    "name": "y"
                  },
                  "right": {
                    "type": "NumericLiteral",
                    "start":60,"end":61,"loc":{"start":{"line":5,"column":25},"end":{"line":5,"column":26}},
                    "extra": {
                      "rawValue": 0,
                      "raw": "0"
                    },
                    "value": 0
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start":63,"end":104,"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":3}},
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start":69,"end":82,"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":17}},
                    "expression": {
                      "type": "AssignmentExpression",
                      "start":69,"end":81,"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":16}},
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start":69,"end":76,"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":11}},
                        "object": {
                          "type": "ThisExpression",
                          "start":69,"end":73,"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":8}}
                        },
                        "property": {
                          "type": "PrivateName",
                          "start":74,"end":76,"loc":{"start":{"line":6,"column":9},"end":{"line":6,"column":11}},
                          "id": {
                            "type": "Identifier",
                            "start":75,"end":76,"loc":{"start":{"line":6,"column":10},"end":{"line":6,"column":11},"identifierName":"x"},
                            "name": "x"
                          }
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "UnaryExpression",
                        "start":79,"end":81,"loc":{"start":{"line":6,"column":14},"end":{"line":6,"column":16}},
                        "operator": "+",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start":80,"end":81,"loc":{"start":{"line":6,"column":15},"end":{"line":6,"column":16},"identifierName":"x"},
                          "name": "x"
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start":87,"end":100,"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},
                    "expression": {
                      "type": "AssignmentExpression",
                      "start":87,"end":99,"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":16}},
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start":87,"end":94,"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":11}},
                        "object": {
                          "type": "ThisExpression",
                          "start":87,"end":91,"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":8}}
                        },
                        "property": {
                          "type": "PrivateName",
                          "start":92,"end":94,"loc":{"start":{"line":7,"column":9},"end":{"line":7,"column":11}},
                          "id": {
                            "type": "Identifier",
                            "start":93,"end":94,"loc":{"start":{"line":7,"column":10},"end":{"line":7,"column":11},"identifierName":"y"},
                            "name": "y"
                          }
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "UnaryExpression",
                        "start":97,"end":99,"loc":{"start":{"line":7,"column":14},"end":{"line":7,"column":16}},
                        "operator": "+",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start":98,"end":99,"loc":{"start":{"line":7,"column":15},"end":{"line":7,"column":16},"identifierName":"y"},
                          "name": "y"
                        }
                      }
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start":108,"end":134,"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":28}},
              "static": false,
              "key": {
                "type": "Identifier",
                "start":112,"end":113,"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":7},"identifierName":"x"},
                "name": "x"
              },
              "computed": false,
              "kind": "get",
              "id": null,
              "generator": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start":116,"end":134,"loc":{"start":{"line":10,"column":10},"end":{"line":10,"column":28}},
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start":118,"end":132,"loc":{"start":{"line":10,"column":12},"end":{"line":10,"column":26}},
                    "argument": {
                      "type": "MemberExpression",
                      "start":125,"end":132,"loc":{"start":{"line":10,"column":19},"end":{"line":10,"column":26}},
                      "object": {
                        "type": "ThisExpression",
                        "start":125,"end":129,"loc":{"start":{"line":10,"column":19},"end":{"line":10,"column":23}}
                      },
                      "property": {
                        "type": "PrivateName",
                        "start":130,"end":132,"loc":{"start":{"line":10,"column":24},"end":{"line":10,"column":26}},
                        "id": {
                          "type": "Identifier",
                          "start":131,"end":132,"loc":{"start":{"line":10,"column":25},"end":{"line":10,"column":26},"identifierName":"x"},
                          "name": "x"
                        }
                      },
                      "computed": false
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start":137,"end":170,"loc":{"start":{"line":11,"column":2},"end":{"line":11,"column":35}},
              "static": false,
              "key": {
                "type": "Identifier",
                "start":141,"end":142,"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":7},"identifierName":"x"},
                "name": "x"
              },
              "computed": false,
              "kind": "set",
              "id": null,
              "generator": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start":143,"end":148,"loc":{"start":{"line":11,"column":8},"end":{"line":11,"column":13},"identifierName":"value"},
                  "name": "value"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start":150,"end":170,"loc":{"start":{"line":11,"column":15},"end":{"line":11,"column":35}},
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start":152,"end":168,"loc":{"start":{"line":11,"column":17},"end":{"line":11,"column":33}},
                    "expression": {
                      "type": "AssignmentExpression",
                      "start":152,"end":168,"loc":{"start":{"line":11,"column":17},"end":{"line":11,"column":33}},
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start":152,"end":159,"loc":{"start":{"line":11,"column":17},"end":{"line":11,"column":24}},
                        "object": {
                          "type": "ThisExpression",
                          "start":152,"end":156,"loc":{"start":{"line":11,"column":17},"end":{"line":11,"column":21}}
                        },
                        "property": {
                          "type": "PrivateName",
                          "start":157,"end":159,"loc":{"start":{"line":11,"column":22},"end":{"line":11,"column":24}},
                          "id": {
                            "type": "Identifier",
                            "start":158,"end":159,"loc":{"start":{"line":11,"column":23},"end":{"line":11,"column":24},"identifierName":"x"},
                            "name": "x"
                          }
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "UnaryExpression",
                        "start":162,"end":168,"loc":{"start":{"line":11,"column":27},"end":{"line":11,"column":33}},
                        "operator": "+",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start":163,"end":168,"loc":{"start":{"line":11,"column":28},"end":{"line":11,"column":33},"identifierName":"value"},
                          "name": "value"
                        }
                      }
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start":174,"end":200,"loc":{"start":{"line":13,"column":2},"end":{"line":13,"column":28}},
              "static": false,
              "key": {
                "type": "Identifier",
                "start":178,"end":179,"loc":{"start":{"line":13,"column":6},"end":{"line":13,"column":7},"identifierName":"y"},
                "name": "y"
              },
              "computed": false,
              "kind": "get",
              "id": null,
              "generator": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start":182,"end":200,"loc":{"start":{"line":13,"column":10},"end":{"line":13,"column":28}},
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start":184,"end":198,"loc":{"start":{"line":13,"column":12},"end":{"line":13,"column":26}},
                    "argument": {
                      "type": "MemberExpression",
                      "start":191,"end":198,"loc":{"start":{"line":13,"column":19},"end":{"line":13,"column":26}},
                      "object": {
                        "type": "ThisExpression",
                        "start":191,"end":195,"loc":{"start":{"line":13,"column":19},"end":{"line":13,"column":23}}
                      },
                      "property": {
                        "type": "PrivateName",
                        "start":196,"end":198,"loc":{"start":{"line":13,"column":24},"end":{"line":13,"column":26}},
                        "id": {
                          "type": "Identifier",
                          "start":197,"end":198,"loc":{"start":{"line":13,"column":25},"end":{"line":13,"column":26},"identifierName":"y"},
                          "name": "y"
                        }
                      },
                      "computed": false
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start":203,"end":236,"loc":{"start":{"line":14,"column":2},"end":{"line":14,"column":35}},
              "static": false,
              "key": {
                "type": "Identifier",
                "start":207,"end":208,"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":7},"identifierName":"y"},
                "name": "y"
              },
              "computed": false,
              "kind": "set",
              "id": null,
              "generator": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start":209,"end":214,"loc":{"start":{"line":14,"column":8},"end":{"line":14,"column":13},"identifierName":"value"},
                  "name": "value"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start":216,"end":236,"loc":{"start":{"line":14,"column":15},"end":{"line":14,"column":35}},
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start":218,"end":234,"loc":{"start":{"line":14,"column":17},"end":{"line":14,"column":33}},
                    "expression": {
                      "type": "AssignmentExpression",
                      "start":218,"end":234,"loc":{"start":{"line":14,"column":17},"end":{"line":14,"column":33}},
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start":218,"end":225,"loc":{"start":{"line":14,"column":17},"end":{"line":14,"column":24}},
                        "object": {
                          "type": "ThisExpression",
                          "start":218,"end":222,"loc":{"start":{"line":14,"column":17},"end":{"line":14,"column":21}}
                        },
                        "property": {
                          "type": "PrivateName",
                          "start":223,"end":225,"loc":{"start":{"line":14,"column":22},"end":{"line":14,"column":24}},
                          "id": {
                            "type": "Identifier",
                            "start":224,"end":225,"loc":{"start":{"line":14,"column":23},"end":{"line":14,"column":24},"identifierName":"y"},
                            "name": "y"
                          }
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "UnaryExpression",
                        "start":228,"end":234,"loc":{"start":{"line":14,"column":27},"end":{"line":14,"column":33}},
                        "operator": "+",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start":229,"end":234,"loc":{"start":{"line":14,"column":28},"end":{"line":14,"column":33},"identifierName":"value"},
                          "name": "value"
                        }
                      }
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start":240,"end":297,"loc":{"start":{"line":16,"column":2},"end":{"line":16,"column":59}},
              "static": false,
              "key": {
                "type": "Identifier",
                "start":240,"end":246,"loc":{"start":{"line":16,"column":2},"end":{"line":16,"column":8},"identifierName":"equals"},
                "name": "equals"
              },
              "computed": false,
              "kind": "method",
              "id": null,
              "generator": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start":247,"end":248,"loc":{"start":{"line":16,"column":9},"end":{"line":16,"column":10},"identifierName":"p"},
                  "name": "p"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start":250,"end":297,"loc":{"start":{"line":16,"column":12},"end":{"line":16,"column":59}},
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start":252,"end":295,"loc":{"start":{"line":16,"column":14},"end":{"line":16,"column":57}},
                    "argument": {
                      "type": "LogicalExpression",
                      "start":259,"end":295,"loc":{"start":{"line":16,"column":21},"end":{"line":16,"column":57}},
                      "left": {
                        "type": "BinaryExpression",
                        "start":259,"end":275,"loc":{"start":{"line":16,"column":21},"end":{"line":16,"column":37}},
                        "left": {
                          "type": "MemberExpression",
                          "start":259,"end":266,"loc":{"start":{"line":16,"column":21},"end":{"line":16,"column":28}},
                          "object": {
                            "type": "ThisExpression",
                            "start":259,"end":263,"loc":{"start":{"line":16,"column":21},"end":{"line":16,"column":25}}
                          },
                          "property": {
                            "type": "PrivateName",
                            "start":264,"end":266,"loc":{"start":{"line":16,"column":26},"end":{"line":16,"column":28}},
                            "id": {
                              "type": "Identifier",
                              "start":265,"end":266,"loc":{"start":{"line":16,"column":27},"end":{"line":16,"column":28},"identifierName":"x"},
                              "name": "x"
                            }
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start":271,"end":275,"loc":{"start":{"line":16,"column":33},"end":{"line":16,"column":37}},
                          "object": {
                            "type": "Identifier",
                            "start":271,"end":272,"loc":{"start":{"line":16,"column":33},"end":{"line":16,"column":34},"identifierName":"p"},
                            "name": "p"
                          },
                          "property": {
                            "type": "PrivateName",
                            "start":273,"end":275,"loc":{"start":{"line":16,"column":35},"end":{"line":16,"column":37}},
                            "id": {
                              "type": "Identifier",
                              "start":274,"end":275,"loc":{"start":{"line":16,"column":36},"end":{"line":16,"column":37},"identifierName":"x"},
                              "name": "x"
                            }
                          },
                          "computed": false
                        }
                      },
                      "operator": "&&",
                      "right": {
                        "type": "BinaryExpression",
                        "start":279,"end":295,"loc":{"start":{"line":16,"column":41},"end":{"line":16,"column":57}},
                        "left": {
                          "type": "MemberExpression",
                          "start":279,"end":286,"loc":{"start":{"line":16,"column":41},"end":{"line":16,"column":48}},
                          "object": {
                            "type": "ThisExpression",
                            "start":279,"end":283,"loc":{"start":{"line":16,"column":41},"end":{"line":16,"column":45}}
                          },
                          "property": {
                            "type": "PrivateName",
                            "start":284,"end":286,"loc":{"start":{"line":16,"column":46},"end":{"line":16,"column":48}},
                            "id": {
                              "type": "Identifier",
                              "start":285,"end":286,"loc":{"start":{"line":16,"column":47},"end":{"line":16,"column":48},"identifierName":"y"},
                              "name": "y"
                            }
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start":291,"end":295,"loc":{"start":{"line":16,"column":53},"end":{"line":16,"column":57}},
                          "object": {
                            "type": "Identifier",
                            "start":291,"end":292,"loc":{"start":{"line":16,"column":53},"end":{"line":16,"column":54},"identifierName":"p"},
                            "name": "p"
                          },
                          "property": {
                            "type": "PrivateName",
                            "start":293,"end":295,"loc":{"start":{"line":16,"column":55},"end":{"line":16,"column":57}},
                            "id": {
                              "type": "Identifier",
                              "start":294,"end":295,"loc":{"start":{"line":16,"column":56},"end":{"line":16,"column":57},"identifierName":"y"},
                              "name": "y"
                            }
                          },
                          "computed": false
                        }
                      }
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start":301,"end":357,"loc":{"start":{"line":18,"column":2},"end":{"line":18,"column":58}},
              "static": false,
              "key": {
                "type": "Identifier",
                "start":301,"end":309,"loc":{"start":{"line":18,"column":2},"end":{"line":18,"column":10},"identifierName":"toString"},
                "name": "toString"
              },
              "computed": false,
              "kind": "method",
              "id": null,
              "generator": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start":312,"end":357,"loc":{"start":{"line":18,"column":13},"end":{"line":18,"column":58}},
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start":314,"end":355,"loc":{"start":{"line":18,"column":15},"end":{"line":18,"column":56}},
                    "argument": {
                      "type": "TemplateLiteral",
                      "start":321,"end":355,"loc":{"start":{"line":18,"column":22},"end":{"line":18,"column":56}},
                      "expressions": [
                        {
                          "type": "MemberExpression",
                          "start":331,"end":338,"loc":{"start":{"line":18,"column":32},"end":{"line":18,"column":39}},
                          "object": {
                            "type": "ThisExpression",
                            "start":331,"end":335,"loc":{"start":{"line":18,"column":32},"end":{"line":18,"column":36}}
                          },
                          "property": {
                            "type": "PrivateName",
                            "start":336,"end":338,"loc":{"start":{"line":18,"column":37},"end":{"line":18,"column":39}},
                            "id": {
                              "type": "Identifier",
                              "start":337,"end":338,"loc":{"start":{"line":18,"column":38},"end":{"line":18,"column":39},"identifierName":"x"},
                              "name": "x"
                            }
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start":344,"end":351,"loc":{"start":{"line":18,"column":45},"end":{"line":18,"column":52}},
                          "object": {
                            "type": "ThisExpression",
                            "start":344,"end":348,"loc":{"start":{"line":18,"column":45},"end":{"line":18,"column":49}}
                          },
                          "property": {
                            "type": "PrivateName",
                            "start":349,"end":351,"loc":{"start":{"line":18,"column":50},"end":{"line":18,"column":52}},
                            "id": {
                              "type": "Identifier",
                              "start":350,"end":351,"loc":{"start":{"line":18,"column":51},"end":{"line":18,"column":52},"identifierName":"y"},
                              "name": "y"
                            }
                          },
                          "computed": false
                        }
                      ],
                      "quasis": [
                        {
                          "type": "TemplateElement",
                          "start":322,"end":328,"loc":{"start":{"line":18,"column":23},"end":{"line":18,"column":29}},
                          "value": {
                            "raw": "Point<",
                            "cooked": "Point<"
                          },
                          "tail": false
                        },
                        {
                          "type": "TemplateElement",
                          "start":340,"end":341,"loc":{"start":{"line":18,"column":41},"end":{"line":18,"column":42}},
                          "value": {
                            "raw": ",",
                            "cooked": ","
                          },
                          "tail": false
                        },
                        {
                          "type": "TemplateElement",
                          "start":353,"end":354,"loc":{"start":{"line":18,"column":54},"end":{"line":18,"column":55}},
                          "value": {
                            "raw": ">",
                            "cooked": ">"
                          },
                          "tail": true
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            }
          ]
        }
      }
    ],
    "directives": []
  }
}