{
  "type": "Program",
  "start": 0,
  "end": 32180,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 837,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 26,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 7,
          "end": 12,
          "loc": {
            "start": {
              "line": 1,
              "column": 7
            },
            "end": {
              "line": 1,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 7,
            "end": 12,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 12
              }
            },
            "name": "delay"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 18,
        "end": 25,
        "loc": {
          "start": {
            "line": 1,
            "column": 18
          },
          "end": {
            "line": 1,
            "column": 25
          }
        },
        "value": "delay",
        "rawValue": "delay",
        "raw": "'delay'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 27,
      "end": 53,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 34,
          "end": 39,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 34,
            "end": 39,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 45,
        "end": 52,
        "loc": {
          "start": {
            "line": 2,
            "column": 18
          },
          "end": {
            "line": 2,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 54,
      "end": 94,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 40
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 61,
          "end": 69,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 15
            }
          },
          "local": {
            "type": "Identifier",
            "start": 61,
            "end": 69,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 15
              }
            },
            "name": "Object3D"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 75,
        "end": 93,
        "loc": {
          "start": {
            "line": 3,
            "column": 21
          },
          "end": {
            "line": 3,
            "column": 39
          }
        },
        "value": "../three/object3",
        "rawValue": "../three/object3",
        "raw": "'../three/object3'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 95,
      "end": 135,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 40
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 102,
          "end": 108,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 102,
            "end": 108,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 13
              }
            },
            "name": "Sketch"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 114,
        "end": 134,
        "loc": {
          "start": {
            "line": 4,
            "column": 19
          },
          "end": {
            "line": 4,
            "column": 39
          }
        },
        "value": "../sketcher/sketch",
        "rawValue": "../sketcher/sketch",
        "raw": "'../sketcher/sketch'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 136,
      "end": 180,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 44
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 143,
          "end": 151,
          "loc": {
            "start": {
              "line": 5,
              "column": 7
            },
            "end": {
              "line": 5,
              "column": 15
            }
          },
          "local": {
            "type": "Identifier",
            "start": 143,
            "end": 151,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 15
              }
            },
            "name": "Sketcher"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 157,
        "end": 179,
        "loc": {
          "start": {
            "line": 5,
            "column": 21
          },
          "end": {
            "line": 5,
            "column": 43
          }
        },
        "value": "../sketcher/sketcher",
        "rawValue": "../sketcher/sketcher",
        "raw": "'../sketcher/sketcher'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 181,
      "end": 235,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 54
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 188,
          "end": 204,
          "loc": {
            "start": {
              "line": 6,
              "column": 7
            },
            "end": {
              "line": 6,
              "column": 23
            }
          },
          "local": {
            "type": "Identifier",
            "start": 188,
            "end": 204,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 23
              }
            },
            "name": "SketchConstraint"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 210,
        "end": 234,
        "loc": {
          "start": {
            "line": 6,
            "column": 29
          },
          "end": {
            "line": 6,
            "column": 53
          }
        },
        "value": "../sketcher/constraint",
        "rawValue": "../sketcher/constraint",
        "raw": "'../sketcher/constraint'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 236,
      "end": 382,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 33
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 249,
          "end": 269,
          "loc": {
            "start": {
              "line": 8,
              "column": 4
            },
            "end": {
              "line": 8,
              "column": 24
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 249,
            "end": 254,
            "loc": {
              "start": {
                "line": 8,
                "column": 4
              },
              "end": {
                "line": 8,
                "column": 9
              }
            },
            "name": "Point"
          },
          "local": {
            "type": "Identifier",
            "start": 258,
            "end": 269,
            "loc": {
              "start": {
                "line": 8,
                "column": 13
              },
              "end": {
                "line": 8,
                "column": 24
              }
            },
            "name": "SketchPoint"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 271,
          "end": 289,
          "loc": {
            "start": {
              "line": 8,
              "column": 26
            },
            "end": {
              "line": 8,
              "column": 44
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 271,
            "end": 275,
            "loc": {
              "start": {
                "line": 8,
                "column": 26
              },
              "end": {
                "line": 8,
                "column": 30
              }
            },
            "name": "Line"
          },
          "local": {
            "type": "Identifier",
            "start": 279,
            "end": 289,
            "loc": {
              "start": {
                "line": 8,
                "column": 34
              },
              "end": {
                "line": 8,
                "column": 44
              }
            },
            "name": "SketchLine"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 291,
          "end": 307,
          "loc": {
            "start": {
              "line": 8,
              "column": 46
            },
            "end": {
              "line": 8,
              "column": 62
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 291,
            "end": 294,
            "loc": {
              "start": {
                "line": 8,
                "column": 46
              },
              "end": {
                "line": 8,
                "column": 49
              }
            },
            "name": "Arc"
          },
          "local": {
            "type": "Identifier",
            "start": 298,
            "end": 307,
            "loc": {
              "start": {
                "line": 8,
                "column": 53
              },
              "end": {
                "line": 8,
                "column": 62
              }
            },
            "name": "SketchArc"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 313,
          "end": 348,
          "loc": {
            "start": {
              "line": 9,
              "column": 4
            },
            "end": {
              "line": 9,
              "column": 39
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 313,
            "end": 328,
            "loc": {
              "start": {
                "line": 9,
                "column": 4
              },
              "end": {
                "line": 9,
                "column": 19
              }
            },
            "name": "GeometricObject"
          },
          "local": {
            "type": "Identifier",
            "start": 332,
            "end": 348,
            "loc": {
              "start": {
                "line": 9,
                "column": 23
              },
              "end": {
                "line": 9,
                "column": 39
              }
            },
            "name": "SketchGeomObject"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 356,
        "end": 381,
        "loc": {
          "start": {
            "line": 10,
            "column": 7
          },
          "end": {
            "line": 10,
            "column": 32
          }
        },
        "value": "../sketcher/geomobjects",
        "rawValue": "../sketcher/geomobjects",
        "raw": "'../sketcher/geomobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 383,
      "end": 432,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 31
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 396,
          "end": 400,
          "loc": {
            "start": {
              "line": 12,
              "column": 4
            },
            "end": {
              "line": 12,
              "column": 8
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 396,
            "end": 400,
            "loc": {
              "start": {
                "line": 12,
                "column": 4
              },
              "end": {
                "line": 12,
                "column": 8
              }
            },
            "name": "Part"
          },
          "local": {
            "type": "Identifier",
            "start": 396,
            "end": 400,
            "loc": {
              "start": {
                "line": 12,
                "column": 4
              },
              "end": {
                "line": 12,
                "column": 8
              }
            },
            "name": "Part"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 408,
        "end": 431,
        "loc": {
          "start": {
            "line": 13,
            "column": 7
          },
          "end": {
            "line": 13,
            "column": 30
          }
        },
        "value": "../sketcher/ccobjects",
        "rawValue": "../sketcher/ccobjects",
        "raw": "'../sketcher/ccobjects'"
      }
    },
    {
      "type": "FunctionDeclaration",
      "start": 435,
      "end": 699,
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 22,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 444,
        "end": 449,
        "loc": {
          "start": {
            "line": 16,
            "column": 9
          },
          "end": {
            "line": 16,
            "column": 14
          }
        },
        "name": "check"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 450,
          "end": 454,
          "loc": {
            "start": {
              "line": 16,
              "column": 15
            },
            "end": {
              "line": 16,
              "column": 19
            }
          },
          "name": "cond"
        },
        {
          "type": "Identifier",
          "start": 456,
          "end": 463,
          "loc": {
            "start": {
              "line": 16,
              "column": 21
            },
            "end": {
              "line": 16,
              "column": 28
            }
          },
          "name": "message"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 465,
        "end": 699,
        "loc": {
          "start": {
            "line": 16,
            "column": 30
          },
          "end": {
            "line": 22,
            "column": 1
          }
        },
        "body": [
          {
            "type": "IfStatement",
            "start": 653,
            "end": 697,
            "loc": {
              "start": {
                "line": 20,
                "column": 4
              },
              "end": {
                "line": 21,
                "column": 33
              }
            },
            "test": {
              "type": "UnaryExpression",
              "start": 657,
              "end": 662,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 8
                },
                "end": {
                  "line": 20,
                  "column": 13
                }
              },
              "operator": "!",
              "prefix": true,
              "argument": {
                "type": "Identifier",
                "start": 658,
                "end": 662,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 9
                  },
                  "end": {
                    "line": 20,
                    "column": 13
                  }
                },
                "name": "cond",
                "leadingComments": null
              },
              "leadingComments": null
            },
            "consequent": {
              "type": "ThrowStatement",
              "start": 672,
              "end": 697,
              "loc": {
                "start": {
                  "line": 21,
                  "column": 8
                },
                "end": {
                  "line": 21,
                  "column": 33
                }
              },
              "argument": {
                "type": "NewExpression",
                "start": 678,
                "end": 696,
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 14
                  },
                  "end": {
                    "line": 21,
                    "column": 32
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 682,
                  "end": 687,
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 18
                    },
                    "end": {
                      "line": 21,
                      "column": 23
                    }
                  },
                  "name": "Error"
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 688,
                    "end": 695,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 24
                      },
                      "end": {
                        "line": 21,
                        "column": 31
                      }
                    },
                    "name": "message"
                  }
                ]
              }
            },
            "alternate": null,
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "TODO: Throw custom exception and wrap arguments into it",
                "start": 471,
                "end": 528,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 4
                  },
                  "end": {
                    "line": 17,
                    "column": 61
                  }
                },
                "range": [
                  471,
                  528
                ]
              },
              {
                "type": "CommentLine",
                "value": "so that it could be redirected to console.error later.",
                "start": 533,
                "end": 589,
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 4
                  },
                  "end": {
                    "line": 18,
                    "column": 60
                  }
                },
                "range": [
                  533,
                  589
                ]
              },
              {
                "type": "CommentLine",
                "value": "After that improve error messages all over the code.",
                "start": 594,
                "end": 648,
                "loc": {
                  "start": {
                    "line": 19,
                    "column": 4
                  },
                  "end": {
                    "line": 19,
                    "column": 58
                  }
                },
                "range": [
                  594,
                  648
                ]
              }
            ]
          }
        ],
        "trailingComments": null
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "for setting names used in sketch matching",
          "start": 701,
          "end": 744,
          "loc": {
            "start": {
              "line": 24,
              "column": 0
            },
            "end": {
              "line": 24,
              "column": 43
            }
          },
          "range": [
            701,
            744
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 745,
      "end": 932,
      "loc": {
        "start": {
          "line": 25,
          "column": 0
        },
        "end": {
          "line": 28,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 754,
        "end": 765,
        "loc": {
          "start": {
            "line": 25,
            "column": 9
          },
          "end": {
            "line": 25,
            "column": 20
          }
        },
        "name": "setTestName",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 766,
          "end": 769,
          "loc": {
            "start": {
              "line": 25,
              "column": 21
            },
            "end": {
              "line": 25,
              "column": 24
            }
          },
          "name": "obj"
        },
        {
          "type": "Identifier",
          "start": 771,
          "end": 775,
          "loc": {
            "start": {
              "line": 25,
              "column": 26
            },
            "end": {
              "line": 25,
              "column": 30
            }
          },
          "name": "name"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 777,
        "end": 932,
        "loc": {
          "start": {
            "line": 25,
            "column": 32
          },
          "end": {
            "line": 28,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ExpressionStatement",
            "start": 783,
            "end": 905,
            "loc": {
              "start": {
                "line": 26,
                "column": 4
              },
              "end": {
                "line": 26,
                "column": 126
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 783,
              "end": 904,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 4
                },
                "end": {
                  "line": 26,
                  "column": 125
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 783,
                "end": 788,
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 4
                  },
                  "end": {
                    "line": 26,
                    "column": 9
                  }
                },
                "name": "check"
              },
              "arguments": [
                {
                  "type": "LogicalExpression",
                  "start": 789,
                  "end": 840,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 10
                    },
                    "end": {
                      "line": 26,
                      "column": 61
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 789,
                    "end": 815,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 10
                      },
                      "end": {
                        "line": 26,
                        "column": 36
                      }
                    },
                    "left": {
                      "type": "MemberExpression",
                      "start": 789,
                      "end": 801,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 10
                        },
                        "end": {
                          "line": 26,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 789,
                        "end": 792,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 10
                          },
                          "end": {
                            "line": 26,
                            "column": 13
                          }
                        },
                        "name": "obj"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 793,
                        "end": 801,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 14
                          },
                          "end": {
                            "line": 26,
                            "column": 22
                          }
                        },
                        "name": "testName"
                      },
                      "computed": false
                    },
                    "operator": "===",
                    "right": {
                      "type": "Identifier",
                      "start": 806,
                      "end": 815,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 27
                        },
                        "end": {
                          "line": 26,
                          "column": 36
                        }
                      },
                      "name": "undefined"
                    }
                  },
                  "operator": "||",
                  "right": {
                    "type": "BinaryExpression",
                    "start": 819,
                    "end": 840,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 40
                      },
                      "end": {
                        "line": 26,
                        "column": 61
                      }
                    },
                    "left": {
                      "type": "MemberExpression",
                      "start": 819,
                      "end": 831,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 40
                        },
                        "end": {
                          "line": 26,
                          "column": 52
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 819,
                        "end": 822,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 40
                          },
                          "end": {
                            "line": 26,
                            "column": 43
                          }
                        },
                        "name": "obj"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 823,
                        "end": 831,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 44
                          },
                          "end": {
                            "line": 26,
                            "column": 52
                          }
                        },
                        "name": "testName"
                      },
                      "computed": false
                    },
                    "operator": "===",
                    "right": {
                      "type": "Identifier",
                      "start": 836,
                      "end": 840,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 57
                        },
                        "end": {
                          "line": 26,
                          "column": 61
                        }
                      },
                      "name": "name"
                    }
                  }
                },
                {
                  "type": "BinaryExpression",
                  "start": 842,
                  "end": 903,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 63
                    },
                    "end": {
                      "line": 26,
                      "column": 124
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 842,
                    "end": 896,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 63
                      },
                      "end": {
                        "line": 26,
                        "column": 117
                      }
                    },
                    "left": {
                      "type": "BinaryExpression",
                      "start": 842,
                      "end": 885,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 63
                        },
                        "end": {
                          "line": 26,
                          "column": 106
                        }
                      },
                      "left": {
                        "type": "Literal",
                        "start": 842,
                        "end": 870,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 63
                          },
                          "end": {
                            "line": 26,
                            "column": 91
                          }
                        },
                        "value": "Overwriting object's name ",
                        "rawValue": "Overwriting object's name ",
                        "raw": "\"Overwriting object's name \""
                      },
                      "operator": "+",
                      "right": {
                        "type": "MemberExpression",
                        "start": 873,
                        "end": 885,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 94
                          },
                          "end": {
                            "line": 26,
                            "column": 106
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 873,
                          "end": 876,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 94
                            },
                            "end": {
                              "line": 26,
                              "column": 97
                            }
                          },
                          "name": "obj"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 877,
                          "end": 885,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 98
                            },
                            "end": {
                              "line": 26,
                              "column": 106
                            }
                          },
                          "name": "testName"
                        },
                        "computed": false
                      }
                    },
                    "operator": "+",
                    "right": {
                      "type": "Literal",
                      "start": 888,
                      "end": 896,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 109
                        },
                        "end": {
                          "line": 26,
                          "column": 117
                        }
                      },
                      "value": " with ",
                      "rawValue": " with ",
                      "raw": "\" with \""
                    }
                  },
                  "operator": "+",
                  "right": {
                    "type": "Identifier",
                    "start": 899,
                    "end": 903,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 120
                      },
                      "end": {
                        "line": 26,
                        "column": 124
                      }
                    },
                    "name": "name"
                  }
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 910,
            "end": 930,
            "loc": {
              "start": {
                "line": 27,
                "column": 4
              },
              "end": {
                "line": 27,
                "column": 24
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 910,
              "end": 929,
              "loc": {
                "start": {
                  "line": 27,
                  "column": 4
                },
                "end": {
                  "line": 27,
                  "column": 23
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 910,
                "end": 922,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 4
                  },
                  "end": {
                    "line": 27,
                    "column": 16
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 910,
                  "end": 913,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 4
                    },
                    "end": {
                      "line": 27,
                      "column": 7
                    }
                  },
                  "name": "obj"
                },
                "property": {
                  "type": "Identifier",
                  "start": 914,
                  "end": 922,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 8
                    },
                    "end": {
                      "line": 27,
                      "column": 16
                    }
                  },
                  "name": "testName"
                },
                "computed": false
              },
              "right": {
                "type": "Identifier",
                "start": 925,
                "end": 929,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 19
                  },
                  "end": {
                    "line": 27,
                    "column": 23
                  }
                },
                "name": "name"
              }
            }
          }
        ]
      },
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "for setting names used in sketch matching",
          "start": 701,
          "end": 744,
          "loc": {
            "start": {
              "line": 24,
              "column": 0
            },
            "end": {
              "line": 24,
              "column": 43
            }
          },
          "range": [
            701,
            744
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 933,
      "end": 993,
      "loc": {
        "start": {
          "line": 29,
          "column": 0
        },
        "end": {
          "line": 31,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 942,
        "end": 953,
        "loc": {
          "start": {
            "line": 29,
            "column": 9
          },
          "end": {
            "line": 29,
            "column": 20
          }
        },
        "name": "getTestName"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 954,
          "end": 957,
          "loc": {
            "start": {
              "line": 29,
              "column": 21
            },
            "end": {
              "line": 29,
              "column": 24
            }
          },
          "name": "obj"
        },
        {
          "type": "Identifier",
          "start": 959,
          "end": 963,
          "loc": {
            "start": {
              "line": 29,
              "column": 26
            },
            "end": {
              "line": 29,
              "column": 30
            }
          },
          "name": "name"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 965,
        "end": 993,
        "loc": {
          "start": {
            "line": 29,
            "column": 32
          },
          "end": {
            "line": 31,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ReturnStatement",
            "start": 971,
            "end": 991,
            "loc": {
              "start": {
                "line": 30,
                "column": 4
              },
              "end": {
                "line": 30,
                "column": 24
              }
            },
            "argument": {
              "type": "MemberExpression",
              "start": 978,
              "end": 990,
              "loc": {
                "start": {
                  "line": 30,
                  "column": 11
                },
                "end": {
                  "line": 30,
                  "column": 23
                }
              },
              "object": {
                "type": "Identifier",
                "start": 978,
                "end": 981,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 11
                  },
                  "end": {
                    "line": 30,
                    "column": 14
                  }
                },
                "name": "obj"
              },
              "property": {
                "type": "Identifier",
                "start": 982,
                "end": 990,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 15
                  },
                  "end": {
                    "line": 30,
                    "column": 23
                  }
                },
                "name": "testName"
              },
              "computed": false
            }
          }
        ]
      }
    },
    {
      "type": "FunctionDeclaration",
      "start": 995,
      "end": 1314,
      "loc": {
        "start": {
          "line": 33,
          "column": 0
        },
        "end": {
          "line": 39,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 1004,
        "end": 1015,
        "loc": {
          "start": {
            "line": 33,
            "column": 9
          },
          "end": {
            "line": 33,
            "column": 20
          }
        },
        "name": "_convVector"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 1016,
          "end": 1019,
          "loc": {
            "start": {
              "line": 33,
              "column": 21
            },
            "end": {
              "line": 33,
              "column": 24
            }
          },
          "name": "vec"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 1021,
        "end": 1314,
        "loc": {
          "start": {
            "line": 33,
            "column": 26
          },
          "end": {
            "line": 39,
            "column": 1
          }
        },
        "body": [
          {
            "type": "IfStatement",
            "start": 1027,
            "end": 1181,
            "loc": {
              "start": {
                "line": 34,
                "column": 4
              },
              "end": {
                "line": 35,
                "column": 49
              }
            },
            "test": {
              "type": "LogicalExpression",
              "start": 1031,
              "end": 1130,
              "loc": {
                "start": {
                  "line": 34,
                  "column": 8
                },
                "end": {
                  "line": 34,
                  "column": 107
                }
              },
              "left": {
                "type": "LogicalExpression",
                "start": 1031,
                "end": 1099,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 8
                  },
                  "end": {
                    "line": 34,
                    "column": 76
                  }
                },
                "left": {
                  "type": "LogicalExpression",
                  "start": 1031,
                  "end": 1068,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 8
                    },
                    "end": {
                      "line": 34,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "CallExpression",
                    "start": 1031,
                    "end": 1049,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 8
                      },
                      "end": {
                        "line": 34,
                        "column": 26
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1031,
                      "end": 1044,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 21
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1031,
                        "end": 1036,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 8
                          },
                          "end": {
                            "line": 34,
                            "column": 13
                          }
                        },
                        "name": "Array"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1037,
                        "end": 1044,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 14
                          },
                          "end": {
                            "line": 34,
                            "column": 21
                          }
                        },
                        "name": "isArray"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1045,
                        "end": 1048,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 22
                          },
                          "end": {
                            "line": 34,
                            "column": 25
                          }
                        },
                        "name": "vec"
                      }
                    ]
                  },
                  "operator": "&&",
                  "right": {
                    "type": "BinaryExpression",
                    "start": 1053,
                    "end": 1068,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 30
                      },
                      "end": {
                        "line": 34,
                        "column": 45
                      }
                    },
                    "left": {
                      "type": "MemberExpression",
                      "start": 1053,
                      "end": 1063,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 30
                        },
                        "end": {
                          "line": 34,
                          "column": 40
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1053,
                        "end": 1056,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 30
                          },
                          "end": {
                            "line": 34,
                            "column": 33
                          }
                        },
                        "name": "vec"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1057,
                        "end": 1063,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 34
                          },
                          "end": {
                            "line": 34,
                            "column": 40
                          }
                        },
                        "name": "length"
                      },
                      "computed": false
                    },
                    "operator": ">=",
                    "right": {
                      "type": "Literal",
                      "start": 1067,
                      "end": 1068,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 44
                        },
                        "end": {
                          "line": 34,
                          "column": 45
                        }
                      },
                      "value": 2,
                      "rawValue": 2,
                      "raw": "2"
                    }
                  }
                },
                "operator": "&&",
                "right": {
                  "type": "BinaryExpression",
                  "start": 1072,
                  "end": 1099,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 49
                    },
                    "end": {
                      "line": 34,
                      "column": 76
                    }
                  },
                  "left": {
                    "type": "UnaryExpression",
                    "start": 1072,
                    "end": 1086,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 49
                      },
                      "end": {
                        "line": 34,
                        "column": 63
                      }
                    },
                    "operator": "typeof",
                    "prefix": true,
                    "argument": {
                      "type": "MemberExpression",
                      "start": 1079,
                      "end": 1085,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 56
                        },
                        "end": {
                          "line": 34,
                          "column": 62
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1079,
                        "end": 1082,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 56
                          },
                          "end": {
                            "line": 34,
                            "column": 59
                          }
                        },
                        "name": "vec"
                      },
                      "property": {
                        "type": "Literal",
                        "start": 1083,
                        "end": 1084,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 60
                          },
                          "end": {
                            "line": 34,
                            "column": 61
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      "computed": true,
                      "parenthesizedExpression": true
                    }
                  },
                  "operator": "===",
                  "right": {
                    "type": "Literal",
                    "start": 1091,
                    "end": 1099,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 68
                      },
                      "end": {
                        "line": 34,
                        "column": 76
                      }
                    },
                    "value": "number",
                    "rawValue": "number",
                    "raw": "\"number\""
                  }
                }
              },
              "operator": "&&",
              "right": {
                "type": "BinaryExpression",
                "start": 1103,
                "end": 1130,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 80
                  },
                  "end": {
                    "line": 34,
                    "column": 107
                  }
                },
                "left": {
                  "type": "UnaryExpression",
                  "start": 1103,
                  "end": 1117,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 80
                    },
                    "end": {
                      "line": 34,
                      "column": 94
                    }
                  },
                  "operator": "typeof",
                  "prefix": true,
                  "argument": {
                    "type": "MemberExpression",
                    "start": 1110,
                    "end": 1116,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 87
                      },
                      "end": {
                        "line": 34,
                        "column": 93
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1110,
                      "end": 1113,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 87
                        },
                        "end": {
                          "line": 34,
                          "column": 90
                        }
                      },
                      "name": "vec"
                    },
                    "property": {
                      "type": "Literal",
                      "start": 1114,
                      "end": 1115,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 91
                        },
                        "end": {
                          "line": 34,
                          "column": 92
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    },
                    "computed": true,
                    "parenthesizedExpression": true
                  }
                },
                "operator": "===",
                "right": {
                  "type": "Literal",
                  "start": 1122,
                  "end": 1130,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 99
                    },
                    "end": {
                      "line": 34,
                      "column": 107
                    }
                  },
                  "value": "number",
                  "rawValue": "number",
                  "raw": "\"number\""
                }
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 1140,
              "end": 1181,
              "loc": {
                "start": {
                  "line": 35,
                  "column": 8
                },
                "end": {
                  "line": 35,
                  "column": 49
                }
              },
              "argument": {
                "type": "NewExpression",
                "start": 1147,
                "end": 1180,
                "loc": {
                  "start": {
                    "line": 35,
                    "column": 15
                  },
                  "end": {
                    "line": 35,
                    "column": 48
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 1151,
                  "end": 1164,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 19
                    },
                    "end": {
                      "line": 35,
                      "column": 32
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1151,
                    "end": 1156,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 19
                      },
                      "end": {
                        "line": 35,
                        "column": 24
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1157,
                    "end": 1164,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 25
                      },
                      "end": {
                        "line": 35,
                        "column": 32
                      }
                    },
                    "name": "Vector2"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 1165,
                    "end": 1171,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 33
                      },
                      "end": {
                        "line": 35,
                        "column": 39
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1165,
                      "end": 1168,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 33
                        },
                        "end": {
                          "line": 35,
                          "column": 36
                        }
                      },
                      "name": "vec"
                    },
                    "property": {
                      "type": "Literal",
                      "start": 1169,
                      "end": 1170,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 37
                        },
                        "end": {
                          "line": 35,
                          "column": 38
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    },
                    "computed": true
                  },
                  {
                    "type": "MemberExpression",
                    "start": 1173,
                    "end": 1179,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 41
                      },
                      "end": {
                        "line": 35,
                        "column": 47
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1173,
                      "end": 1176,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 41
                        },
                        "end": {
                          "line": 35,
                          "column": 44
                        }
                      },
                      "name": "vec"
                    },
                    "property": {
                      "type": "Literal",
                      "start": 1177,
                      "end": 1178,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 45
                        },
                        "end": {
                          "line": 35,
                          "column": 46
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    },
                    "computed": true
                  }
                ]
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 1186,
            "end": 1295,
            "loc": {
              "start": {
                "line": 36,
                "column": 4
              },
              "end": {
                "line": 37,
                "column": 47
              }
            },
            "test": {
              "type": "LogicalExpression",
              "start": 1190,
              "end": 1246,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 8
                },
                "end": {
                  "line": 36,
                  "column": 64
                }
              },
              "left": {
                "type": "BinaryExpression",
                "start": 1190,
                "end": 1216,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 8
                  },
                  "end": {
                    "line": 36,
                    "column": 34
                  }
                },
                "left": {
                  "type": "UnaryExpression",
                  "start": 1190,
                  "end": 1203,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 8
                    },
                    "end": {
                      "line": 36,
                      "column": 21
                    }
                  },
                  "operator": "typeof",
                  "prefix": true,
                  "argument": {
                    "type": "MemberExpression",
                    "start": 1197,
                    "end": 1202,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 15
                      },
                      "end": {
                        "line": 36,
                        "column": 20
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1197,
                      "end": 1200,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 15
                        },
                        "end": {
                          "line": 36,
                          "column": 18
                        }
                      },
                      "name": "vec"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1201,
                      "end": 1202,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 19
                        },
                        "end": {
                          "line": 36,
                          "column": 20
                        }
                      },
                      "name": "x"
                    },
                    "computed": false,
                    "parenthesizedExpression": true
                  }
                },
                "operator": "===",
                "right": {
                  "type": "Literal",
                  "start": 1208,
                  "end": 1216,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 26
                    },
                    "end": {
                      "line": 36,
                      "column": 34
                    }
                  },
                  "value": "number",
                  "rawValue": "number",
                  "raw": "\"number\""
                }
              },
              "operator": "&&",
              "right": {
                "type": "BinaryExpression",
                "start": 1220,
                "end": 1246,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 38
                  },
                  "end": {
                    "line": 36,
                    "column": 64
                  }
                },
                "left": {
                  "type": "UnaryExpression",
                  "start": 1220,
                  "end": 1233,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 38
                    },
                    "end": {
                      "line": 36,
                      "column": 51
                    }
                  },
                  "operator": "typeof",
                  "prefix": true,
                  "argument": {
                    "type": "MemberExpression",
                    "start": 1227,
                    "end": 1232,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 45
                      },
                      "end": {
                        "line": 36,
                        "column": 50
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1227,
                      "end": 1230,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 45
                        },
                        "end": {
                          "line": 36,
                          "column": 48
                        }
                      },
                      "name": "vec"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1231,
                      "end": 1232,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 49
                        },
                        "end": {
                          "line": 36,
                          "column": 50
                        }
                      },
                      "name": "y"
                    },
                    "computed": false,
                    "parenthesizedExpression": true
                  }
                },
                "operator": "===",
                "right": {
                  "type": "Literal",
                  "start": 1238,
                  "end": 1246,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 56
                    },
                    "end": {
                      "line": 36,
                      "column": 64
                    }
                  },
                  "value": "number",
                  "rawValue": "number",
                  "raw": "\"number\""
                }
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 1256,
              "end": 1295,
              "loc": {
                "start": {
                  "line": 37,
                  "column": 8
                },
                "end": {
                  "line": 37,
                  "column": 47
                }
              },
              "argument": {
                "type": "NewExpression",
                "start": 1263,
                "end": 1294,
                "loc": {
                  "start": {
                    "line": 37,
                    "column": 15
                  },
                  "end": {
                    "line": 37,
                    "column": 46
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 1267,
                  "end": 1280,
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 19
                    },
                    "end": {
                      "line": 37,
                      "column": 32
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1267,
                    "end": 1272,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 19
                      },
                      "end": {
                        "line": 37,
                        "column": 24
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1273,
                    "end": 1280,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 25
                      },
                      "end": {
                        "line": 37,
                        "column": 32
                      }
                    },
                    "name": "Vector2"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 1281,
                    "end": 1286,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 33
                      },
                      "end": {
                        "line": 37,
                        "column": 38
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1281,
                      "end": 1284,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 33
                        },
                        "end": {
                          "line": 37,
                          "column": 36
                        }
                      },
                      "name": "vec"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1285,
                      "end": 1286,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 37
                        },
                        "end": {
                          "line": 37,
                          "column": 38
                        }
                      },
                      "name": "x"
                    },
                    "computed": false
                  },
                  {
                    "type": "MemberExpression",
                    "start": 1288,
                    "end": 1293,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 40
                      },
                      "end": {
                        "line": 37,
                        "column": 45
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1288,
                      "end": 1291,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 40
                        },
                        "end": {
                          "line": 37,
                          "column": 43
                        }
                      },
                      "name": "vec"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1292,
                      "end": 1293,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 44
                        },
                        "end": {
                          "line": 37,
                          "column": 45
                        }
                      },
                      "name": "y"
                    },
                    "computed": false
                  }
                ]
              }
            },
            "alternate": null
          },
          {
            "type": "ReturnStatement",
            "start": 1300,
            "end": 1312,
            "loc": {
              "start": {
                "line": 38,
                "column": 4
              },
              "end": {
                "line": 38,
                "column": 16
              }
            },
            "argument": {
              "type": "Literal",
              "start": 1307,
              "end": 1311,
              "loc": {
                "start": {
                  "line": 38,
                  "column": 11
                },
                "end": {
                  "line": 38,
                  "column": 15
                }
              },
              "value": null,
              "rawValue": null,
              "raw": "null"
            }
          }
        ]
      }
    },
    {
      "type": "FunctionDeclaration",
      "start": 1315,
      "end": 1455,
      "loc": {
        "start": {
          "line": 40,
          "column": 0
        },
        "end": {
          "line": 44,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 1324,
        "end": 1334,
        "loc": {
          "start": {
            "line": 40,
            "column": 9
          },
          "end": {
            "line": 40,
            "column": 19
          }
        },
        "name": "convVector"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 1335,
          "end": 1338,
          "loc": {
            "start": {
              "line": 40,
              "column": 20
            },
            "end": {
              "line": 40,
              "column": 23
            }
          },
          "name": "vec"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 1340,
        "end": 1455,
        "loc": {
          "start": {
            "line": 40,
            "column": 25
          },
          "end": {
            "line": 44,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 1346,
            "end": 1373,
            "loc": {
              "start": {
                "line": 41,
                "column": 4
              },
              "end": {
                "line": 41,
                "column": 31
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 1350,
                "end": 1372,
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 8
                  },
                  "end": {
                    "line": 41,
                    "column": 30
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 1350,
                  "end": 1353,
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 8
                    },
                    "end": {
                      "line": 41,
                      "column": 11
                    }
                  },
                  "name": "res"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 1356,
                  "end": 1372,
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 14
                    },
                    "end": {
                      "line": 41,
                      "column": 30
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 1356,
                    "end": 1367,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 14
                      },
                      "end": {
                        "line": 41,
                        "column": 25
                      }
                    },
                    "name": "_convVector"
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 1368,
                      "end": 1371,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 26
                        },
                        "end": {
                          "line": 41,
                          "column": 29
                        }
                      },
                      "name": "vec"
                    }
                  ]
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 1378,
            "end": 1437,
            "loc": {
              "start": {
                "line": 42,
                "column": 4
              },
              "end": {
                "line": 42,
                "column": 63
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 1378,
              "end": 1436,
              "loc": {
                "start": {
                  "line": 42,
                  "column": 4
                },
                "end": {
                  "line": 42,
                  "column": 62
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 1378,
                "end": 1383,
                "loc": {
                  "start": {
                    "line": 42,
                    "column": 4
                  },
                  "end": {
                    "line": 42,
                    "column": 9
                  }
                },
                "name": "check"
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 1384,
                  "end": 1387,
                  "loc": {
                    "start": {
                      "line": 42,
                      "column": 10
                    },
                    "end": {
                      "line": 42,
                      "column": 13
                    }
                  },
                  "name": "res"
                },
                {
                  "type": "BinaryExpression",
                  "start": 1389,
                  "end": 1435,
                  "loc": {
                    "start": {
                      "line": 42,
                      "column": 15
                    },
                    "end": {
                      "line": 42,
                      "column": 61
                    }
                  },
                  "left": {
                    "type": "Literal",
                    "start": 1389,
                    "end": 1418,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 15
                      },
                      "end": {
                        "line": 42,
                        "column": 44
                      }
                    },
                    "value": "Expected 2D vector, found: ",
                    "rawValue": "Expected 2D vector, found: ",
                    "raw": "\"Expected 2D vector, found: \""
                  },
                  "operator": "+",
                  "right": {
                    "type": "CallExpression",
                    "start": 1421,
                    "end": 1435,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 47
                      },
                      "end": {
                        "line": 42,
                        "column": 61
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1421,
                      "end": 1433,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 47
                        },
                        "end": {
                          "line": 42,
                          "column": 59
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1421,
                        "end": 1424,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 47
                          },
                          "end": {
                            "line": 42,
                            "column": 50
                          }
                        },
                        "name": "vec"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1425,
                        "end": 1433,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 51
                          },
                          "end": {
                            "line": 42,
                            "column": 59
                          }
                        },
                        "name": "toString"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                }
              ]
            }
          },
          {
            "type": "ReturnStatement",
            "start": 1442,
            "end": 1453,
            "loc": {
              "start": {
                "line": 43,
                "column": 4
              },
              "end": {
                "line": 43,
                "column": 15
              }
            },
            "argument": {
              "type": "Identifier",
              "start": 1449,
              "end": 1452,
              "loc": {
                "start": {
                  "line": 43,
                  "column": 11
                },
                "end": {
                  "line": 43,
                  "column": 14
                }
              },
              "name": "res"
            }
          }
        ]
      }
    },
    {
      "type": "FunctionDeclaration",
      "start": 1456,
      "end": 1799,
      "loc": {
        "start": {
          "line": 45,
          "column": 0
        },
        "end": {
          "line": 54,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 1465,
        "end": 1480,
        "loc": {
          "start": {
            "line": 45,
            "column": 9
          },
          "end": {
            "line": 45,
            "column": 24
          }
        },
        "name": "convVectorArray"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 1481,
          "end": 1489,
          "loc": {
            "start": {
              "line": 45,
              "column": 25
            },
            "end": {
              "line": 45,
              "column": 33
            }
          },
          "name": "vecArray"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 1491,
        "end": 1799,
        "loc": {
          "start": {
            "line": 45,
            "column": 35
          },
          "end": {
            "line": 54,
            "column": 1
          }
        },
        "body": [
          {
            "type": "IfStatement",
            "start": 1497,
            "end": 1564,
            "loc": {
              "start": {
                "line": 46,
                "column": 4
              },
              "end": {
                "line": 47,
                "column": 18
              }
            },
            "test": {
              "type": "LogicalExpression",
              "start": 1501,
              "end": 1544,
              "loc": {
                "start": {
                  "line": 46,
                  "column": 8
                },
                "end": {
                  "line": 46,
                  "column": 51
                }
              },
              "left": {
                "type": "BinaryExpression",
                "start": 1501,
                "end": 1523,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 8
                  },
                  "end": {
                    "line": 46,
                    "column": 30
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 1501,
                  "end": 1509,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 8
                    },
                    "end": {
                      "line": 46,
                      "column": 16
                    }
                  },
                  "name": "vecArray"
                },
                "operator": "===",
                "right": {
                  "type": "Identifier",
                  "start": 1514,
                  "end": 1523,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 21
                    },
                    "end": {
                      "line": 46,
                      "column": 30
                    }
                  },
                  "name": "undefined"
                }
              },
              "operator": "||",
              "right": {
                "type": "BinaryExpression",
                "start": 1527,
                "end": 1544,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 34
                  },
                  "end": {
                    "line": 46,
                    "column": 51
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 1527,
                  "end": 1535,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 34
                    },
                    "end": {
                      "line": 46,
                      "column": 42
                    }
                  },
                  "name": "vecArray"
                },
                "operator": "===",
                "right": {
                  "type": "Literal",
                  "start": 1540,
                  "end": 1544,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 47
                    },
                    "end": {
                      "line": 46,
                      "column": 51
                    }
                  },
                  "value": null,
                  "rawValue": null,
                  "raw": "null"
                }
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 1554,
              "end": 1564,
              "loc": {
                "start": {
                  "line": 47,
                  "column": 8
                },
                "end": {
                  "line": 47,
                  "column": 18
                }
              },
              "argument": {
                "type": "ArrayExpression",
                "start": 1561,
                "end": 1563,
                "loc": {
                  "start": {
                    "line": 47,
                    "column": 15
                  },
                  "end": {
                    "line": 47,
                    "column": 17
                  }
                },
                "elements": []
              }
            },
            "alternate": null
          },
          {
            "type": "VariableDeclaration",
            "start": 1569,
            "end": 1609,
            "loc": {
              "start": {
                "line": 48,
                "column": 4
              },
              "end": {
                "line": 48,
                "column": 44
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 1573,
                "end": 1608,
                "loc": {
                  "start": {
                    "line": 48,
                    "column": 8
                  },
                  "end": {
                    "line": 48,
                    "column": 43
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 1573,
                  "end": 1584,
                  "loc": {
                    "start": {
                      "line": 48,
                      "column": 8
                    },
                    "end": {
                      "line": 48,
                      "column": 19
                    }
                  },
                  "name": "asOneVector"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 1587,
                  "end": 1608,
                  "loc": {
                    "start": {
                      "line": 48,
                      "column": 22
                    },
                    "end": {
                      "line": 48,
                      "column": 43
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 1587,
                    "end": 1598,
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 22
                      },
                      "end": {
                        "line": 48,
                        "column": 33
                      }
                    },
                    "name": "_convVector"
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 1599,
                      "end": 1607,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 34
                        },
                        "end": {
                          "line": 48,
                          "column": 42
                        }
                      },
                      "name": "vecArray"
                    }
                  ]
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "IfStatement",
            "start": 1614,
            "end": 1658,
            "loc": {
              "start": {
                "line": 49,
                "column": 4
              },
              "end": {
                "line": 50,
                "column": 27
              }
            },
            "test": {
              "type": "Identifier",
              "start": 1618,
              "end": 1629,
              "loc": {
                "start": {
                  "line": 49,
                  "column": 8
                },
                "end": {
                  "line": 49,
                  "column": 19
                }
              },
              "name": "asOneVector"
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 1639,
              "end": 1658,
              "loc": {
                "start": {
                  "line": 50,
                  "column": 8
                },
                "end": {
                  "line": 50,
                  "column": 27
                }
              },
              "argument": {
                "type": "Identifier",
                "start": 1646,
                "end": 1657,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 15
                  },
                  "end": {
                    "line": 50,
                    "column": 26
                  }
                },
                "name": "asOneVector"
              }
            },
            "alternate": null
          },
          {
            "type": "ExpressionStatement",
            "start": 1663,
            "end": 1723,
            "loc": {
              "start": {
                "line": 51,
                "column": 4
              },
              "end": {
                "line": 51,
                "column": 64
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 1663,
              "end": 1722,
              "loc": {
                "start": {
                  "line": 51,
                  "column": 4
                },
                "end": {
                  "line": 51,
                  "column": 63
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 1663,
                "end": 1668,
                "loc": {
                  "start": {
                    "line": 51,
                    "column": 4
                  },
                  "end": {
                    "line": 51,
                    "column": 9
                  }
                },
                "name": "check"
              },
              "arguments": [
                {
                  "type": "CallExpression",
                  "start": 1669,
                  "end": 1692,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 10
                    },
                    "end": {
                      "line": 51,
                      "column": 33
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 1669,
                    "end": 1682,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 10
                      },
                      "end": {
                        "line": 51,
                        "column": 23
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1669,
                      "end": 1674,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 10
                        },
                        "end": {
                          "line": 51,
                          "column": 15
                        }
                      },
                      "name": "Array"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1675,
                      "end": 1682,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 16
                        },
                        "end": {
                          "line": 51,
                          "column": 23
                        }
                      },
                      "name": "isArray"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 1683,
                      "end": 1691,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 24
                        },
                        "end": {
                          "line": 51,
                          "column": 32
                        }
                      },
                      "name": "vecArray"
                    }
                  ]
                },
                {
                  "type": "Literal",
                  "start": 1694,
                  "end": 1721,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 35
                    },
                    "end": {
                      "line": 51,
                      "column": 62
                    }
                  },
                  "value": "Expected array of vectors",
                  "rawValue": "Expected array of vectors",
                  "raw": "\"Expected array of vectors\""
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 1728,
            "end": 1776,
            "loc": {
              "start": {
                "line": 52,
                "column": 4
              },
              "end": {
                "line": 52,
                "column": 52
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 1728,
              "end": 1775,
              "loc": {
                "start": {
                  "line": 52,
                  "column": 4
                },
                "end": {
                  "line": 52,
                  "column": 51
                }
              },
              "operator": "=",
              "left": {
                "type": "Identifier",
                "start": 1728,
                "end": 1736,
                "loc": {
                  "start": {
                    "line": 52,
                    "column": 4
                  },
                  "end": {
                    "line": 52,
                    "column": 12
                  }
                },
                "name": "vecArray"
              },
              "right": {
                "type": "CallExpression",
                "start": 1739,
                "end": 1775,
                "loc": {
                  "start": {
                    "line": 52,
                    "column": 15
                  },
                  "end": {
                    "line": 52,
                    "column": 51
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 1739,
                  "end": 1751,
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 15
                    },
                    "end": {
                      "line": 52,
                      "column": 27
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1739,
                    "end": 1747,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 15
                      },
                      "end": {
                        "line": 52,
                        "column": 23
                      }
                    },
                    "name": "vecArray"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1748,
                    "end": 1751,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 24
                      },
                      "end": {
                        "line": 52,
                        "column": 27
                      }
                    },
                    "name": "map"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 1752,
                    "end": 1774,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 28
                      },
                      "end": {
                        "line": 52,
                        "column": 50
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": true,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 1752,
                        "end": 1755,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 28
                          },
                          "end": {
                            "line": 52,
                            "column": 31
                          }
                        },
                        "name": "vec"
                      }
                    ],
                    "body": {
                      "type": "CallExpression",
                      "start": 1759,
                      "end": 1774,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 35
                        },
                        "end": {
                          "line": 52,
                          "column": 50
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 1759,
                        "end": 1769,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 35
                          },
                          "end": {
                            "line": 52,
                            "column": 45
                          }
                        },
                        "name": "convVector"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 1770,
                          "end": 1773,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 46
                            },
                            "end": {
                              "line": 52,
                              "column": 49
                            }
                          },
                          "name": "vec"
                        }
                      ]
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "ReturnStatement",
            "start": 1781,
            "end": 1797,
            "loc": {
              "start": {
                "line": 53,
                "column": 4
              },
              "end": {
                "line": 53,
                "column": 20
              }
            },
            "argument": {
              "type": "Identifier",
              "start": 1788,
              "end": 1796,
              "loc": {
                "start": {
                  "line": 53,
                  "column": 11
                },
                "end": {
                  "line": 53,
                  "column": 19
                }
              },
              "name": "vecArray"
            }
          }
        ]
      }
    },
    {
      "type": "ClassDeclaration",
      "start": 1801,
      "end": 3200,
      "loc": {
        "start": {
          "line": 56,
          "column": 0
        },
        "end": {
          "line": 99,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 1807,
        "end": 1823,
        "loc": {
          "start": {
            "line": 56,
            "column": 6
          },
          "end": {
            "line": 56,
            "column": 22
          }
        },
        "name": "AddRemoveTracker"
      },
      "superClass": null,
      "body": {
        "type": "ClassBody",
        "start": 1824,
        "end": 3200,
        "loc": {
          "start": {
            "line": 56,
            "column": 23
          },
          "end": {
            "line": 99,
            "column": 1
          }
        },
        "body": [
          {
            "type": "MethodDefinition",
            "start": 1830,
            "end": 2025,
            "loc": {
              "start": {
                "line": 57,
                "column": 4
              },
              "end": {
                "line": 63,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 1830,
              "end": 1841,
              "loc": {
                "start": {
                  "line": 57,
                  "column": 4
                },
                "end": {
                  "line": 57,
                  "column": 15
                }
              },
              "name": "constructor"
            },
            "static": false,
            "kind": "constructor",
            "value": {
              "type": "FunctionExpression",
              "start": 1841,
              "end": 2025,
              "loc": {
                "start": {
                  "line": 57,
                  "column": 15
                },
                "end": {
                  "line": 63,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1842,
                  "end": 1848,
                  "loc": {
                    "start": {
                      "line": 57,
                      "column": 16
                    },
                    "end": {
                      "line": 57,
                      "column": 22
                    }
                  },
                  "name": "sketch"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1850,
                "end": 2025,
                "loc": {
                  "start": {
                    "line": 57,
                    "column": 24
                  },
                  "end": {
                    "line": 63,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 1860,
                    "end": 1881,
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 8
                      },
                      "end": {
                        "line": 58,
                        "column": 29
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1860,
                      "end": 1880,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 28
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 1860,
                        "end": 1871,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 58,
                            "column": 19
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1860,
                          "end": 1864,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1865,
                          "end": 1871,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 13
                            },
                            "end": {
                              "line": 58,
                              "column": 19
                            }
                          },
                          "name": "sketch"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 1874,
                        "end": 1880,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 22
                          },
                          "end": {
                            "line": 58,
                            "column": 28
                          }
                        },
                        "name": "sketch"
                      }
                    },
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": "set of listeners installed",
                        "start": 1890,
                        "end": 1918,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 8
                          },
                          "end": {
                            "line": 59,
                            "column": 36
                          }
                        },
                        "range": [
                          1890,
                          1918
                        ]
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1927,
                    "end": 1947,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 8
                      },
                      "end": {
                        "line": 60,
                        "column": 28
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1927,
                      "end": 1946,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 27
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 1927,
                        "end": 1941,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 22
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1927,
                          "end": 1931,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 8
                            },
                            "end": {
                              "line": 60,
                              "column": 12
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1932,
                          "end": 1941,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 13
                            },
                            "end": {
                              "line": 60,
                              "column": 22
                            }
                          },
                          "name": "listeners"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "right": {
                        "type": "ObjectExpression",
                        "start": 1944,
                        "end": 1946,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 25
                          },
                          "end": {
                            "line": 60,
                            "column": 27
                          }
                        },
                        "properties": []
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": "set of listeners installed",
                        "start": 1890,
                        "end": 1918,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 8
                          },
                          "end": {
                            "line": 59,
                            "column": 36
                          }
                        },
                        "range": [
                          1890,
                          1918
                        ]
                      }
                    ],
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": "set of changes done since creation",
                        "start": 1956,
                        "end": 1992,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 8
                          },
                          "end": {
                            "line": 61,
                            "column": 44
                          }
                        },
                        "range": [
                          1956,
                          1992
                        ]
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2001,
                    "end": 2019,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 8
                      },
                      "end": {
                        "line": 62,
                        "column": 26
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2001,
                      "end": 2018,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 25
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 2001,
                        "end": 2013,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 8
                          },
                          "end": {
                            "line": 62,
                            "column": 20
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 2001,
                          "end": 2005,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 8
                            },
                            "end": {
                              "line": 62,
                              "column": 12
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2006,
                          "end": 2013,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 13
                            },
                            "end": {
                              "line": 62,
                              "column": 20
                            }
                          },
                          "name": "changes"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "right": {
                        "type": "ObjectExpression",
                        "start": 2016,
                        "end": 2018,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 23
                          },
                          "end": {
                            "line": 62,
                            "column": 25
                          }
                        },
                        "properties": []
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": "set of changes done since creation",
                        "start": 1956,
                        "end": 1992,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 8
                          },
                          "end": {
                            "line": 61,
                            "column": 44
                          }
                        },
                        "range": [
                          1956,
                          1992
                        ]
                      }
                    ]
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 2031,
            "end": 2228,
            "loc": {
              "start": {
                "line": 65,
                "column": 4
              },
              "end": {
                "line": 70,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 2031,
              "end": 2042,
              "loc": {
                "start": {
                  "line": 65,
                  "column": 4
                },
                "end": {
                  "line": 65,
                  "column": 15
                }
              },
              "name": "markChanged"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 2042,
              "end": 2228,
              "loc": {
                "start": {
                  "line": 65,
                  "column": 15
                },
                "end": {
                  "line": 70,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 2043,
                  "end": 2046,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 16
                    },
                    "end": {
                      "line": 65,
                      "column": 19
                    }
                  },
                  "name": "obj"
                },
                {
                  "type": "Identifier",
                  "start": 2048,
                  "end": 2052,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 21
                    },
                    "end": {
                      "line": 65,
                      "column": 25
                    }
                  },
                  "name": "sign"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 2054,
                "end": 2228,
                "loc": {
                  "start": {
                    "line": 65,
                    "column": 27
                  },
                  "end": {
                    "line": 70,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 2064,
                    "end": 2155,
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 8
                      },
                      "end": {
                        "line": 67,
                        "column": 60
                      }
                    },
                    "test": {
                      "type": "UnaryExpression",
                      "start": 2068,
                      "end": 2093,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 12
                        },
                        "end": {
                          "line": 66,
                          "column": 37
                        }
                      },
                      "operator": "!",
                      "prefix": true,
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 2070,
                        "end": 2092,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 14
                          },
                          "end": {
                            "line": 66,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2070,
                          "end": 2076,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 14
                            },
                            "end": {
                              "line": 66,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2070,
                            "end": 2073,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 14
                              },
                              "end": {
                                "line": 66,
                                "column": 17
                              }
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2074,
                            "end": 2076,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 18
                              },
                              "end": {
                                "line": 66,
                                "column": 20
                              }
                            },
                            "name": "id"
                          },
                          "computed": false
                        },
                        "operator": "in",
                        "right": {
                          "type": "MemberExpression",
                          "start": 2080,
                          "end": 2092,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 24
                            },
                            "end": {
                              "line": 66,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2080,
                            "end": 2084,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 24
                              },
                              "end": {
                                "line": 66,
                                "column": 28
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2085,
                            "end": 2092,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 29
                              },
                              "end": {
                                "line": 66,
                                "column": 36
                              }
                            },
                            "name": "changes"
                          },
                          "computed": false
                        },
                        "parenthesizedExpression": true
                      }
                    },
                    "consequent": {
                      "type": "ExpressionStatement",
                      "start": 2107,
                      "end": 2155,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 12
                        },
                        "end": {
                          "line": 67,
                          "column": 60
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2107,
                        "end": 2154,
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 12
                          },
                          "end": {
                            "line": 67,
                            "column": 59
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2107,
                          "end": 2127,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 12
                            },
                            "end": {
                              "line": 67,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2107,
                            "end": 2119,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 12
                              },
                              "end": {
                                "line": 67,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2107,
                              "end": 2111,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 12
                                },
                                "end": {
                                  "line": 67,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2112,
                              "end": 2119,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 17
                                },
                                "end": {
                                  "line": 67,
                                  "column": 24
                                }
                              },
                              "name": "changes"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "MemberExpression",
                            "start": 2120,
                            "end": 2126,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 25
                              },
                              "end": {
                                "line": 67,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2120,
                              "end": 2123,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 25
                                },
                                "end": {
                                  "line": 67,
                                  "column": 28
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2124,
                              "end": 2126,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 29
                                },
                                "end": {
                                  "line": 67,
                                  "column": 31
                                }
                              },
                              "name": "id"
                            },
                            "computed": false
                          },
                          "computed": true
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 2130,
                          "end": 2154,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 35
                            },
                            "end": {
                              "line": 67,
                              "column": 59
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 2131,
                              "end": 2142,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 36
                                },
                                "end": {
                                  "line": 67,
                                  "column": 47
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2131,
                                "end": 2137,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 42
                                  }
                                },
                                "name": "object"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 2139,
                                "end": 2142,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 47
                                  }
                                },
                                "name": "obj"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2144,
                              "end": 2153,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 49
                                },
                                "end": {
                                  "line": 67,
                                  "column": 58
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2144,
                                "end": 2150,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 55
                                  }
                                },
                                "name": "status"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2152,
                                "end": 2153,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 58
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "kind": "init"
                            }
                          ]
                        }
                      }
                    },
                    "alternate": null
                  },
                  {
                    "type": "IfStatement",
                    "start": 2164,
                    "end": 2222,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 8
                      },
                      "end": {
                        "line": 69,
                        "column": 48
                      }
                    },
                    "test": {
                      "type": "Identifier",
                      "start": 2168,
                      "end": 2172,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 12
                        },
                        "end": {
                          "line": 68,
                          "column": 16
                        }
                      },
                      "name": "sign"
                    },
                    "consequent": {
                      "type": "ExpressionStatement",
                      "start": 2186,
                      "end": 2222,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 12
                        },
                        "end": {
                          "line": 69,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2186,
                        "end": 2221,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 12
                          },
                          "end": {
                            "line": 69,
                            "column": 47
                          }
                        },
                        "operator": "+=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2186,
                          "end": 2213,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 12
                            },
                            "end": {
                              "line": 69,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2186,
                            "end": 2206,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 12
                              },
                              "end": {
                                "line": 69,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2186,
                              "end": 2198,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 12
                                },
                                "end": {
                                  "line": 69,
                                  "column": 24
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2186,
                                "end": 2190,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2191,
                                "end": 2198,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 24
                                  }
                                },
                                "name": "changes"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "MemberExpression",
                              "start": 2199,
                              "end": 2205,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 25
                                },
                                "end": {
                                  "line": 69,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2199,
                                "end": 2202,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 28
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2203,
                                "end": 2205,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 31
                                  }
                                },
                                "name": "id"
                              },
                              "computed": false
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2207,
                            "end": 2213,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 33
                              },
                              "end": {
                                "line": 69,
                                "column": 39
                              }
                            },
                            "name": "status"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 2217,
                          "end": 2221,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 43
                            },
                            "end": {
                              "line": 69,
                              "column": 47
                            }
                          },
                          "name": "sign"
                        }
                      }
                    },
                    "alternate": null
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 2233,
            "end": 2575,
            "loc": {
              "start": {
                "line": 71,
                "column": 4
              },
              "end": {
                "line": 78,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 2233,
              "end": 2239,
              "loc": {
                "start": {
                  "line": 71,
                  "column": 4
                },
                "end": {
                  "line": 71,
                  "column": 10
                }
              },
              "name": "listen"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 2239,
              "end": 2575,
              "loc": {
                "start": {
                  "line": 71,
                  "column": 10
                },
                "end": {
                  "line": 78,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 2242,
                "end": 2575,
                "loc": {
                  "start": {
                    "line": 71,
                    "column": 13
                  },
                  "end": {
                    "line": 78,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 2252,
                    "end": 2303,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 8
                      },
                      "end": {
                        "line": 72,
                        "column": 59
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 2256,
                        "end": 2302,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 12
                          },
                          "end": {
                            "line": 72,
                            "column": 58
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2256,
                          "end": 2265,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 12
                            },
                            "end": {
                              "line": 72,
                              "column": 21
                            }
                          },
                          "name": "listenerP"
                        },
                        "init": {
                          "type": "ArrowFunctionExpression",
                          "start": 2268,
                          "end": 2302,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 24
                            },
                            "end": {
                              "line": 72,
                              "column": 58
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 2269,
                              "end": 2272,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 25
                                },
                                "end": {
                                  "line": 72,
                                  "column": 28
                                }
                              },
                              "name": "obj"
                            }
                          ],
                          "body": {
                            "type": "CallExpression",
                            "start": 2277,
                            "end": 2302,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 33
                              },
                              "end": {
                                "line": 72,
                                "column": 58
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2277,
                              "end": 2293,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 33
                                },
                                "end": {
                                  "line": 72,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2277,
                                "end": 2281,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 37
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2282,
                                "end": 2293,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 49
                                  }
                                },
                                "name": "markChanged"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2294,
                                "end": 2297,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 53
                                  }
                                },
                                "name": "obj"
                              },
                              {
                                "type": "UnaryExpression",
                                "start": 2299,
                                "end": 2301,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 57
                                  }
                                },
                                "operator": "+",
                                "prefix": true,
                                "argument": {
                                  "type": "Literal",
                                  "start": 2300,
                                  "end": 2301,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 57
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              }
                            ]
                          }
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 2312,
                    "end": 2363,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 8
                      },
                      "end": {
                        "line": 73,
                        "column": 59
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 2316,
                        "end": 2362,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 12
                          },
                          "end": {
                            "line": 73,
                            "column": 58
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2316,
                          "end": 2325,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 12
                            },
                            "end": {
                              "line": 73,
                              "column": 21
                            }
                          },
                          "name": "listenerM"
                        },
                        "init": {
                          "type": "ArrowFunctionExpression",
                          "start": 2328,
                          "end": 2362,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 24
                            },
                            "end": {
                              "line": 73,
                              "column": 58
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 2329,
                              "end": 2332,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 25
                                },
                                "end": {
                                  "line": 73,
                                  "column": 28
                                }
                              },
                              "name": "obj"
                            }
                          ],
                          "body": {
                            "type": "CallExpression",
                            "start": 2337,
                            "end": 2362,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 33
                              },
                              "end": {
                                "line": 73,
                                "column": 58
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2337,
                              "end": 2353,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 33
                                },
                                "end": {
                                  "line": 73,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2337,
                                "end": 2341,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 37
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2342,
                                "end": 2353,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 49
                                  }
                                },
                                "name": "markChanged"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2354,
                                "end": 2357,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 53
                                  }
                                },
                                "name": "obj"
                              },
                              {
                                "type": "UnaryExpression",
                                "start": 2359,
                                "end": 2361,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 57
                                  }
                                },
                                "operator": "-",
                                "prefix": true,
                                "argument": {
                                  "type": "Literal",
                                  "start": 2360,
                                  "end": 2361,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 57
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              }
                            ]
                          }
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2372,
                    "end": 2413,
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 8
                      },
                      "end": {
                        "line": 74,
                        "column": 49
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2372,
                      "end": 2412,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 8
                        },
                        "end": {
                          "line": 74,
                          "column": 48
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2372,
                        "end": 2386,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 8
                          },
                          "end": {
                            "line": 74,
                            "column": 22
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 2372,
                          "end": 2383,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2372,
                            "end": 2376,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 8
                              },
                              "end": {
                                "line": 74,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2377,
                            "end": 2383,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 13
                              },
                              "end": {
                                "line": 74,
                                "column": 19
                              }
                            },
                            "name": "sketch"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2384,
                          "end": 2386,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 20
                            },
                            "end": {
                              "line": 74,
                              "column": 22
                            }
                          },
                          "name": "on"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "start": 2387,
                          "end": 2400,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 23
                            },
                            "end": {
                              "line": 74,
                              "column": 36
                            }
                          },
                          "value": "SketchAdded",
                          "rawValue": "SketchAdded",
                          "raw": "'SketchAdded'"
                        },
                        {
                          "type": "Identifier",
                          "start": 2402,
                          "end": 2411,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 38
                            },
                            "end": {
                              "line": 74,
                              "column": 47
                            }
                          },
                          "name": "listenerP"
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2422,
                    "end": 2465,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 8
                      },
                      "end": {
                        "line": 75,
                        "column": 51
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2422,
                      "end": 2464,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 50
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2422,
                        "end": 2436,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 22
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 2422,
                          "end": 2433,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 8
                            },
                            "end": {
                              "line": 75,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2422,
                            "end": 2426,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 8
                              },
                              "end": {
                                "line": 75,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2427,
                            "end": 2433,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 13
                              },
                              "end": {
                                "line": 75,
                                "column": 19
                              }
                            },
                            "name": "sketch"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2434,
                          "end": 2436,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 20
                            },
                            "end": {
                              "line": 75,
                              "column": 22
                            }
                          },
                          "name": "on"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "start": 2437,
                          "end": 2452,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 23
                            },
                            "end": {
                              "line": 75,
                              "column": 38
                            }
                          },
                          "value": "SketchRemoved",
                          "rawValue": "SketchRemoved",
                          "raw": "'SketchRemoved'"
                        },
                        {
                          "type": "Identifier",
                          "start": 2454,
                          "end": 2463,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 40
                            },
                            "end": {
                              "line": 75,
                              "column": 49
                            }
                          },
                          "name": "listenerM"
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2474,
                    "end": 2516,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 8
                      },
                      "end": {
                        "line": 76,
                        "column": 50
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2474,
                      "end": 2515,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 49
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 2474,
                        "end": 2503,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 8
                          },
                          "end": {
                            "line": 76,
                            "column": 37
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 2474,
                          "end": 2488,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2474,
                            "end": 2478,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 8
                              },
                              "end": {
                                "line": 76,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2479,
                            "end": 2488,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 13
                              },
                              "end": {
                                "line": 76,
                                "column": 22
                              }
                            },
                            "name": "listeners"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Literal",
                          "start": 2489,
                          "end": 2502,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 23
                            },
                            "end": {
                              "line": 76,
                              "column": 36
                            }
                          },
                          "value": "SketchAdded",
                          "rawValue": "SketchAdded",
                          "raw": "'SketchAdded'"
                        },
                        "computed": true
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 2506,
                        "end": 2515,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 40
                          },
                          "end": {
                            "line": 76,
                            "column": 49
                          }
                        },
                        "name": "listenerP"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2525,
                    "end": 2569,
                    "loc": {
                      "start": {
                        "line": 77,
                        "column": 8
                      },
                      "end": {
                        "line": 77,
                        "column": 52
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2525,
                      "end": 2568,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 8
                        },
                        "end": {
                          "line": 77,
                          "column": 51
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 2525,
                        "end": 2556,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 8
                          },
                          "end": {
                            "line": 77,
                            "column": 39
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 2525,
                          "end": 2539,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2525,
                            "end": 2529,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 8
                              },
                              "end": {
                                "line": 77,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2530,
                            "end": 2539,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 13
                              },
                              "end": {
                                "line": 77,
                                "column": 22
                              }
                            },
                            "name": "listeners"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Literal",
                          "start": 2540,
                          "end": 2555,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 23
                            },
                            "end": {
                              "line": 77,
                              "column": 38
                            }
                          },
                          "value": "SketchRemoved",
                          "rawValue": "SketchRemoved",
                          "raw": "'SketchRemoved'"
                        },
                        "computed": true
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 2559,
                        "end": 2568,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 42
                          },
                          "end": {
                            "line": 77,
                            "column": 51
                          }
                        },
                        "name": "listenerM"
                      }
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 2580,
            "end": 2764,
            "loc": {
              "start": {
                "line": 79,
                "column": 4
              },
              "end": {
                "line": 82,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 2580,
              "end": 2586,
              "loc": {
                "start": {
                  "line": 79,
                  "column": 4
                },
                "end": {
                  "line": 79,
                  "column": 10
                }
              },
              "name": "ignore"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 2586,
              "end": 2764,
              "loc": {
                "start": {
                  "line": 79,
                  "column": 10
                },
                "end": {
                  "line": 82,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 2589,
                "end": 2764,
                "loc": {
                  "start": {
                    "line": 79,
                    "column": 13
                  },
                  "end": {
                    "line": 82,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 2599,
                    "end": 2672,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 8
                      },
                      "end": {
                        "line": 80,
                        "column": 81
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2599,
                      "end": 2671,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 8
                        },
                        "end": {
                          "line": 80,
                          "column": 80
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2599,
                        "end": 2625,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 8
                          },
                          "end": {
                            "line": 80,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 2599,
                          "end": 2610,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 8
                            },
                            "end": {
                              "line": 80,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2599,
                            "end": 2603,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 8
                              },
                              "end": {
                                "line": 80,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2604,
                            "end": 2610,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 13
                              },
                              "end": {
                                "line": 80,
                                "column": 19
                              }
                            },
                            "name": "sketch"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2611,
                          "end": 2625,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 20
                            },
                            "end": {
                              "line": 80,
                              "column": 34
                            }
                          },
                          "name": "removeListener"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "start": 2626,
                          "end": 2639,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 35
                            },
                            "end": {
                              "line": 80,
                              "column": 48
                            }
                          },
                          "value": "SketchAdded",
                          "rawValue": "SketchAdded",
                          "raw": "'SketchAdded'"
                        },
                        {
                          "type": "MemberExpression",
                          "start": 2641,
                          "end": 2670,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 50
                            },
                            "end": {
                              "line": 80,
                              "column": 79
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2641,
                            "end": 2655,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 50
                              },
                              "end": {
                                "line": 80,
                                "column": 64
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2641,
                              "end": 2645,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 50
                                },
                                "end": {
                                  "line": 80,
                                  "column": 54
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2646,
                              "end": 2655,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 55
                                },
                                "end": {
                                  "line": 80,
                                  "column": 64
                                }
                              },
                              "name": "listeners"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Literal",
                            "start": 2656,
                            "end": 2669,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 65
                              },
                              "end": {
                                "line": 80,
                                "column": 78
                              }
                            },
                            "value": "SketchAdded",
                            "rawValue": "SketchAdded",
                            "raw": "'SketchAdded'"
                          },
                          "computed": true
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2681,
                    "end": 2758,
                    "loc": {
                      "start": {
                        "line": 81,
                        "column": 8
                      },
                      "end": {
                        "line": 81,
                        "column": 85
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2681,
                      "end": 2757,
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 8
                        },
                        "end": {
                          "line": 81,
                          "column": 84
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2681,
                        "end": 2707,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 8
                          },
                          "end": {
                            "line": 81,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 2681,
                          "end": 2692,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 8
                            },
                            "end": {
                              "line": 81,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2681,
                            "end": 2685,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 8
                              },
                              "end": {
                                "line": 81,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2686,
                            "end": 2692,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 13
                              },
                              "end": {
                                "line": 81,
                                "column": 19
                              }
                            },
                            "name": "sketch"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2693,
                          "end": 2707,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 20
                            },
                            "end": {
                              "line": 81,
                              "column": 34
                            }
                          },
                          "name": "removeListener"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "start": 2708,
                          "end": 2723,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 35
                            },
                            "end": {
                              "line": 81,
                              "column": 50
                            }
                          },
                          "value": "SketchRemoved",
                          "rawValue": "SketchRemoved",
                          "raw": "'SketchRemoved'"
                        },
                        {
                          "type": "MemberExpression",
                          "start": 2725,
                          "end": 2756,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 52
                            },
                            "end": {
                              "line": 81,
                              "column": 83
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2725,
                            "end": 2739,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 52
                              },
                              "end": {
                                "line": 81,
                                "column": 66
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2725,
                              "end": 2729,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 52
                                },
                                "end": {
                                  "line": 81,
                                  "column": 56
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2730,
                              "end": 2739,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 57
                                },
                                "end": {
                                  "line": 81,
                                  "column": 66
                                }
                              },
                              "name": "listeners"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Literal",
                            "start": 2740,
                            "end": 2755,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 67
                              },
                              "end": {
                                "line": 81,
                                "column": 82
                              }
                            },
                            "value": "SketchRemoved",
                            "rawValue": "SketchRemoved",
                            "raw": "'SketchRemoved'"
                          },
                          "computed": true
                        }
                      ]
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 2770,
            "end": 3198,
            "loc": {
              "start": {
                "line": 84,
                "column": 4
              },
              "end": {
                "line": 98,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 2770,
              "end": 2783,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 4
                },
                "end": {
                  "line": 84,
                  "column": 17
                }
              },
              "name": "getAllChanges"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 2783,
              "end": 3198,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 17
                },
                "end": {
                  "line": 98,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 2786,
                "end": 3198,
                "loc": {
                  "start": {
                    "line": 84,
                    "column": 20
                  },
                  "end": {
                    "line": 98,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 2796,
                    "end": 2894,
                    "loc": {
                      "start": {
                        "line": 85,
                        "column": 8
                      },
                      "end": {
                        "line": 89,
                        "column": 10
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 2800,
                        "end": 2893,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 12
                          },
                          "end": {
                            "line": 89,
                            "column": 9
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2800,
                          "end": 2806,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 12
                            },
                            "end": {
                              "line": 85,
                              "column": 18
                            }
                          },
                          "name": "result"
                        },
                        "init": {
                          "type": "ObjectExpression",
                          "start": 2809,
                          "end": 2893,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 21
                            },
                            "end": {
                              "line": 89,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 2823,
                              "end": 2832,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 12
                                },
                                "end": {
                                  "line": 86,
                                  "column": 21
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2823,
                                "end": 2828,
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 17
                                  }
                                },
                                "name": "added"
                              },
                              "value": {
                                "type": "ArrayExpression",
                                "start": 2830,
                                "end": 2832,
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 21
                                  }
                                },
                                "elements": []
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2846,
                              "end": 2857,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 12
                                },
                                "end": {
                                  "line": 87,
                                  "column": 23
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2846,
                                "end": 2853,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 19
                                  }
                                },
                                "name": "removed"
                              },
                              "value": {
                                "type": "ArrayExpression",
                                "start": 2855,
                                "end": 2857,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 23
                                  }
                                },
                                "elements": []
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2871,
                              "end": 2882,
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 12
                                },
                                "end": {
                                  "line": 88,
                                  "column": 23
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2871,
                                "end": 2878,
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 19
                                  }
                                },
                                "name": "changed"
                              },
                              "value": {
                                "type": "ArrayExpression",
                                "start": 2880,
                                "end": 2882,
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 23
                                  }
                                },
                                "elements": []
                              },
                              "kind": "init"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "ForInStatement",
                    "start": 2903,
                    "end": 3169,
                    "loc": {
                      "start": {
                        "line": 90,
                        "column": 8
                      },
                      "end": {
                        "line": 96,
                        "column": 9
                      }
                    },
                    "left": {
                      "type": "VariableDeclaration",
                      "start": 2908,
                      "end": 2914,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 13
                        },
                        "end": {
                          "line": 90,
                          "column": 19
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2912,
                          "end": 2914,
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 17
                            },
                            "end": {
                              "line": 90,
                              "column": 19
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2912,
                            "end": 2914,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 17
                              },
                              "end": {
                                "line": 90,
                                "column": 19
                              }
                            },
                            "name": "id"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 2918,
                      "end": 2930,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 23
                        },
                        "end": {
                          "line": 90,
                          "column": 35
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 2918,
                        "end": 2922,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 23
                          },
                          "end": {
                            "line": 90,
                            "column": 27
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2923,
                        "end": 2930,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 28
                          },
                          "end": {
                            "line": 90,
                            "column": 35
                          }
                        },
                        "name": "changes"
                      },
                      "computed": false
                    },
                    "body": {
                      "type": "BlockStatement",
                      "start": 2932,
                      "end": 3169,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 37
                        },
                        "end": {
                          "line": 96,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 2946,
                          "end": 2974,
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 12
                            },
                            "end": {
                              "line": 91,
                              "column": 40
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 2950,
                              "end": 2973,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 16
                                },
                                "end": {
                                  "line": 91,
                                  "column": 39
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 2950,
                                "end": 2954,
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 20
                                  }
                                },
                                "name": "info"
                              },
                              "init": {
                                "type": "MemberExpression",
                                "start": 2957,
                                "end": 2973,
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2957,
                                  "end": 2969,
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 2957,
                                    "end": 2961,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2962,
                                    "end": 2969,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 35
                                      }
                                    },
                                    "name": "changes"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2970,
                                  "end": 2972,
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 38
                                    }
                                  },
                                  "name": "id"
                                },
                                "computed": true
                              }
                            }
                          ],
                          "kind": "let"
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 2987,
                          "end": 3013,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 12
                            },
                            "end": {
                              "line": 92,
                              "column": 38
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 2991,
                              "end": 3012,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 16
                                },
                                "end": {
                                  "line": 92,
                                  "column": 37
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 2991,
                                "end": 2995,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 20
                                  }
                                },
                                "name": "list"
                              },
                              "init": {
                                "type": "MemberExpression",
                                "start": 2998,
                                "end": 3012,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2998,
                                  "end": 3004,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 29
                                    }
                                  },
                                  "name": "result"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3005,
                                  "end": 3012,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 37
                                    }
                                  },
                                  "name": "changed"
                                },
                                "computed": false
                              }
                            }
                          ],
                          "kind": "let"
                        },
                        {
                          "type": "IfStatement",
                          "start": 3026,
                          "end": 3067,
                          "loc": {
                            "start": {
                              "line": 93,
                              "column": 12
                            },
                            "end": {
                              "line": 93,
                              "column": 53
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 3030,
                            "end": 3045,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 16
                              },
                              "end": {
                                "line": 93,
                                "column": 31
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 3030,
                              "end": 3041,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 16
                                },
                                "end": {
                                  "line": 93,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3030,
                                "end": 3034,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 20
                                  }
                                },
                                "name": "info"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3035,
                                "end": 3041,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 27
                                  }
                                },
                                "name": "status"
                              },
                              "computed": false
                            },
                            "operator": ">",
                            "right": {
                              "type": "Literal",
                              "start": 3044,
                              "end": 3045,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 30
                                },
                                "end": {
                                  "line": 93,
                                  "column": 31
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 3047,
                            "end": 3067,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 33
                              },
                              "end": {
                                "line": 93,
                                "column": 53
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3047,
                              "end": 3066,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 33
                                },
                                "end": {
                                  "line": 93,
                                  "column": 52
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 3047,
                                "end": 3051,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 37
                                  }
                                },
                                "name": "list"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 3054,
                                "end": 3066,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3054,
                                  "end": 3060,
                                  "loc": {
                                    "start": {
                                      "line": 93,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 46
                                    }
                                  },
                                  "name": "result"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3061,
                                  "end": 3066,
                                  "loc": {
                                    "start": {
                                      "line": 93,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 52
                                    }
                                  },
                                  "name": "added"
                                },
                                "computed": false
                              }
                            }
                          },
                          "alternate": null
                        },
                        {
                          "type": "IfStatement",
                          "start": 3080,
                          "end": 3123,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 12
                            },
                            "end": {
                              "line": 94,
                              "column": 55
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 3084,
                            "end": 3099,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 16
                              },
                              "end": {
                                "line": 94,
                                "column": 31
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 3084,
                              "end": 3095,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 16
                                },
                                "end": {
                                  "line": 94,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3084,
                                "end": 3088,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 20
                                  }
                                },
                                "name": "info"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3089,
                                "end": 3095,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 27
                                  }
                                },
                                "name": "status"
                              },
                              "computed": false
                            },
                            "operator": "<",
                            "right": {
                              "type": "Literal",
                              "start": 3098,
                              "end": 3099,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 30
                                },
                                "end": {
                                  "line": 94,
                                  "column": 31
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 3101,
                            "end": 3123,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 33
                              },
                              "end": {
                                "line": 94,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3101,
                              "end": 3122,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 33
                                },
                                "end": {
                                  "line": 94,
                                  "column": 54
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 3101,
                                "end": 3105,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 37
                                  }
                                },
                                "name": "list"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 3108,
                                "end": 3122,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 54
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3108,
                                  "end": 3114,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 46
                                    }
                                  },
                                  "name": "result"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3115,
                                  "end": 3122,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 54
                                    }
                                  },
                                  "name": "removed"
                                },
                                "computed": false
                              }
                            }
                          },
                          "alternate": null
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 3136,
                          "end": 3159,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 12
                            },
                            "end": {
                              "line": 95,
                              "column": 35
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 3136,
                            "end": 3158,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 12
                              },
                              "end": {
                                "line": 95,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3136,
                              "end": 3145,
                              "loc": {
                                "start": {
                                  "line": 95,
                                  "column": 12
                                },
                                "end": {
                                  "line": 95,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3136,
                                "end": 3140,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 95,
                                    "column": 16
                                  }
                                },
                                "name": "list"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3141,
                                "end": 3145,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 95,
                                    "column": 21
                                  }
                                },
                                "name": "push"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 3146,
                                "end": 3157,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 95,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3146,
                                  "end": 3150,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 95,
                                      "column": 26
                                    }
                                  },
                                  "name": "info"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3151,
                                  "end": 3157,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 95,
                                      "column": 33
                                    }
                                  },
                                  "name": "object"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 3178,
                    "end": 3192,
                    "loc": {
                      "start": {
                        "line": 97,
                        "column": 8
                      },
                      "end": {
                        "line": 97,
                        "column": 22
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 3185,
                      "end": 3191,
                      "loc": {
                        "start": {
                          "line": 97,
                          "column": 15
                        },
                        "end": {
                          "line": 97,
                          "column": 21
                        }
                      },
                      "name": "result"
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "ClassDeclaration",
      "start": 3202,
      "end": 3739,
      "loc": {
        "start": {
          "line": 101,
          "column": 0
        },
        "end": {
          "line": 120,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 3208,
        "end": 3220,
        "loc": {
          "start": {
            "line": 101,
            "column": 6
          },
          "end": {
            "line": 101,
            "column": 18
          }
        },
        "name": "ChangesArray"
      },
      "superClass": {
        "type": "Identifier",
        "start": 3229,
        "end": 3234,
        "loc": {
          "start": {
            "line": 101,
            "column": 27
          },
          "end": {
            "line": 101,
            "column": 32
          }
        },
        "name": "Array"
      },
      "body": {
        "type": "ClassBody",
        "start": 3235,
        "end": 3739,
        "loc": {
          "start": {
            "line": 101,
            "column": 33
          },
          "end": {
            "line": 120,
            "column": 1
          }
        },
        "body": [
          {
            "type": "MethodDefinition",
            "start": 3241,
            "end": 3323,
            "loc": {
              "start": {
                "line": 102,
                "column": 4
              },
              "end": {
                "line": 105,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 3241,
              "end": 3252,
              "loc": {
                "start": {
                  "line": 102,
                  "column": 4
                },
                "end": {
                  "line": 102,
                  "column": 15
                }
              },
              "name": "constructor"
            },
            "static": false,
            "kind": "constructor",
            "value": {
              "type": "FunctionExpression",
              "start": 3252,
              "end": 3323,
              "loc": {
                "start": {
                  "line": 102,
                  "column": 15
                },
                "end": {
                  "line": 105,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3253,
                  "end": 3256,
                  "loc": {
                    "start": {
                      "line": 102,
                      "column": 16
                    },
                    "end": {
                      "line": 102,
                      "column": 19
                    }
                  },
                  "name": "arr"
                },
                {
                  "type": "Identifier",
                  "start": 3258,
                  "end": 3263,
                  "loc": {
                    "start": {
                      "line": 102,
                      "column": 21
                    },
                    "end": {
                      "line": 102,
                      "column": 26
                    }
                  },
                  "name": "label"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3265,
                "end": 3323,
                "loc": {
                  "start": {
                    "line": 102,
                    "column": 28
                  },
                  "end": {
                    "line": 105,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 3275,
                    "end": 3289,
                    "loc": {
                      "start": {
                        "line": 103,
                        "column": 8
                      },
                      "end": {
                        "line": 103,
                        "column": 22
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 3275,
                      "end": 3288,
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 8
                        },
                        "end": {
                          "line": 103,
                          "column": 21
                        }
                      },
                      "callee": {
                        "type": "Super",
                        "start": 3275,
                        "end": 3280,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 8
                          },
                          "end": {
                            "line": 103,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "SpreadElement",
                          "start": 3281,
                          "end": 3287,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 14
                            },
                            "end": {
                              "line": 103,
                              "column": 20
                            }
                          },
                          "argument": {
                            "type": "Identifier",
                            "start": 3284,
                            "end": 3287,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 17
                              },
                              "end": {
                                "line": 103,
                                "column": 20
                              }
                            },
                            "name": "arr"
                          }
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 3298,
                    "end": 3317,
                    "loc": {
                      "start": {
                        "line": 104,
                        "column": 8
                      },
                      "end": {
                        "line": 104,
                        "column": 27
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 3298,
                      "end": 3316,
                      "loc": {
                        "start": {
                          "line": 104,
                          "column": 8
                        },
                        "end": {
                          "line": 104,
                          "column": 26
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 3298,
                        "end": 3308,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 8
                          },
                          "end": {
                            "line": 104,
                            "column": 18
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 3298,
                          "end": 3302,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 8
                            },
                            "end": {
                              "line": 104,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3303,
                          "end": 3308,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 13
                            },
                            "end": {
                              "line": 104,
                              "column": 18
                            }
                          },
                          "name": "label"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 3311,
                        "end": 3316,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 21
                          },
                          "end": {
                            "line": 104,
                            "column": 26
                          }
                        },
                        "name": "label"
                      }
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 3328,
            "end": 3447,
            "loc": {
              "start": {
                "line": 106,
                "column": 4
              },
              "end": {
                "line": 109,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 3328,
              "end": 3334,
              "loc": {
                "start": {
                  "line": 106,
                  "column": 4
                },
                "end": {
                  "line": 106,
                  "column": 10
                }
              },
              "name": "single"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 3334,
              "end": 3447,
              "loc": {
                "start": {
                  "line": 106,
                  "column": 10
                },
                "end": {
                  "line": 109,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 3337,
                "end": 3447,
                "loc": {
                  "start": {
                    "line": 106,
                    "column": 13
                  },
                  "end": {
                    "line": 109,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 3347,
                    "end": 3417,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 8
                      },
                      "end": {
                        "line": 107,
                        "column": 78
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 3347,
                      "end": 3416,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 8
                        },
                        "end": {
                          "line": 107,
                          "column": 77
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 3347,
                        "end": 3352,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 8
                          },
                          "end": {
                            "line": 107,
                            "column": 13
                          }
                        },
                        "name": "check"
                      },
                      "arguments": [
                        {
                          "type": "BinaryExpression",
                          "start": 3353,
                          "end": 3370,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 14
                            },
                            "end": {
                              "line": 107,
                              "column": 31
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 3353,
                            "end": 3364,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 14
                              },
                              "end": {
                                "line": 107,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3353,
                              "end": 3357,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 14
                                },
                                "end": {
                                  "line": 107,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3358,
                              "end": 3364,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 19
                                },
                                "end": {
                                  "line": 107,
                                  "column": 25
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": "===",
                          "right": {
                            "type": "Literal",
                            "start": 3369,
                            "end": 3370,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 30
                              },
                              "end": {
                                "line": 107,
                                "column": 31
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          }
                        },
                        {
                          "type": "BinaryExpression",
                          "start": 3372,
                          "end": 3415,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 33
                            },
                            "end": {
                              "line": 107,
                              "column": 76
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 3372,
                            "end": 3403,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 33
                              },
                              "end": {
                                "line": 107,
                                "column": 64
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 3372,
                              "end": 3390,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 33
                                },
                                "end": {
                                  "line": 107,
                                  "column": 51
                                }
                              },
                              "value": "Expected single ",
                              "rawValue": "Expected single ",
                              "raw": "\"Expected single \""
                            },
                            "operator": "+",
                            "right": {
                              "type": "MemberExpression",
                              "start": 3393,
                              "end": 3403,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 54
                                },
                                "end": {
                                  "line": 107,
                                  "column": 64
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3393,
                                "end": 3397,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 58
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3398,
                                "end": 3403,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 64
                                  }
                                },
                                "name": "label"
                              },
                              "computed": false
                            }
                          },
                          "operator": "+",
                          "right": {
                            "type": "Literal",
                            "start": 3406,
                            "end": 3415,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 67
                              },
                              "end": {
                                "line": 107,
                                "column": 76
                              }
                            },
                            "value": " object",
                            "rawValue": " object",
                            "raw": "\" object\""
                          }
                        }
                      ]
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 3426,
                    "end": 3441,
                    "loc": {
                      "start": {
                        "line": 108,
                        "column": 8
                      },
                      "end": {
                        "line": 108,
                        "column": 23
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 3433,
                      "end": 3440,
                      "loc": {
                        "start": {
                          "line": 108,
                          "column": 15
                        },
                        "end": {
                          "line": 108,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 3433,
                        "end": 3437,
                        "loc": {
                          "start": {
                            "line": 108,
                            "column": 15
                          },
                          "end": {
                            "line": 108,
                            "column": 19
                          }
                        }
                      },
                      "property": {
                        "type": "Literal",
                        "start": 3438,
                        "end": 3439,
                        "loc": {
                          "start": {
                            "line": 108,
                            "column": 20
                          },
                          "end": {
                            "line": 108,
                            "column": 21
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      "computed": true
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 3452,
            "end": 3651,
            "loc": {
              "start": {
                "line": 110,
                "column": 4
              },
              "end": {
                "line": 116,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 3452,
              "end": 3458,
              "loc": {
                "start": {
                  "line": 110,
                  "column": 4
                },
                "end": {
                  "line": 110,
                  "column": 10
                }
              },
              "name": "ofType"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 3458,
              "end": 3651,
              "loc": {
                "start": {
                  "line": 110,
                  "column": 10
                },
                "end": {
                  "line": 116,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3459,
                  "end": 3463,
                  "loc": {
                    "start": {
                      "line": 110,
                      "column": 11
                    },
                    "end": {
                      "line": 110,
                      "column": 15
                    }
                  },
                  "name": "type"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3465,
                "end": 3651,
                "loc": {
                  "start": {
                    "line": 110,
                    "column": 17
                  },
                  "end": {
                    "line": 116,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 3475,
                    "end": 3491,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 8
                      },
                      "end": {
                        "line": 111,
                        "column": 24
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3479,
                        "end": 3490,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 12
                          },
                          "end": {
                            "line": 111,
                            "column": 23
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3479,
                          "end": 3485,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 12
                            },
                            "end": {
                              "line": 111,
                              "column": 18
                            }
                          },
                          "name": "newArr"
                        },
                        "init": {
                          "type": "ArrayExpression",
                          "start": 3488,
                          "end": 3490,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 21
                            },
                            "end": {
                              "line": 111,
                              "column": 23
                            }
                          },
                          "elements": []
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "ForOfStatement",
                    "start": 3500,
                    "end": 3592,
                    "loc": {
                      "start": {
                        "line": 112,
                        "column": 8
                      },
                      "end": {
                        "line": 114,
                        "column": 33
                      }
                    },
                    "left": {
                      "type": "VariableDeclaration",
                      "start": 3505,
                      "end": 3512,
                      "loc": {
                        "start": {
                          "line": 112,
                          "column": 13
                        },
                        "end": {
                          "line": 112,
                          "column": 20
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 3509,
                          "end": 3512,
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 17
                            },
                            "end": {
                              "line": 112,
                              "column": 20
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 3509,
                            "end": 3512,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 17
                              },
                              "end": {
                                "line": 112,
                                "column": 20
                              }
                            },
                            "name": "obj"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    "right": {
                      "type": "ThisExpression",
                      "start": 3516,
                      "end": 3520,
                      "loc": {
                        "start": {
                          "line": 112,
                          "column": 24
                        },
                        "end": {
                          "line": 112,
                          "column": 28
                        }
                      }
                    },
                    "body": {
                      "type": "IfStatement",
                      "start": 3534,
                      "end": 3592,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 12
                        },
                        "end": {
                          "line": 114,
                          "column": 33
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3538,
                        "end": 3557,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 16
                          },
                          "end": {
                            "line": 113,
                            "column": 35
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 3538,
                          "end": 3541,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 16
                            },
                            "end": {
                              "line": 113,
                              "column": 19
                            }
                          },
                          "name": "obj"
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "Identifier",
                          "start": 3553,
                          "end": 3557,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 31
                            },
                            "end": {
                              "line": 113,
                              "column": 35
                            }
                          },
                          "name": "type"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 3575,
                        "end": 3592,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 16
                          },
                          "end": {
                            "line": 114,
                            "column": 33
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 3575,
                          "end": 3591,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 16
                            },
                            "end": {
                              "line": 114,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3575,
                            "end": 3586,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 16
                              },
                              "end": {
                                "line": 114,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3575,
                              "end": 3581,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 16
                                },
                                "end": {
                                  "line": 114,
                                  "column": 22
                                }
                              },
                              "name": "newArr"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3582,
                              "end": 3586,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 23
                                },
                                "end": {
                                  "line": 114,
                                  "column": 27
                                }
                              },
                              "name": "push"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 3587,
                              "end": 3590,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 28
                                },
                                "end": {
                                  "line": 114,
                                  "column": 31
                                }
                              },
                              "name": "obj"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 3601,
                    "end": 3645,
                    "loc": {
                      "start": {
                        "line": 115,
                        "column": 8
                      },
                      "end": {
                        "line": 115,
                        "column": 52
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 3608,
                      "end": 3644,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 15
                        },
                        "end": {
                          "line": 115,
                          "column": 51
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 3612,
                        "end": 3624,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 19
                          },
                          "end": {
                            "line": 115,
                            "column": 31
                          }
                        },
                        "name": "ChangesArray"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3625,
                          "end": 3631,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 32
                            },
                            "end": {
                              "line": 115,
                              "column": 38
                            }
                          },
                          "name": "newArr"
                        },
                        {
                          "type": "MemberExpression",
                          "start": 3633,
                          "end": 3643,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 40
                            },
                            "end": {
                              "line": 115,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3633,
                            "end": 3637,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 40
                              },
                              "end": {
                                "line": 115,
                                "column": 44
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3638,
                            "end": 3643,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 45
                              },
                              "end": {
                                "line": 115,
                                "column": 50
                              }
                            },
                            "name": "label"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 3656,
            "end": 3737,
            "loc": {
              "start": {
                "line": 117,
                "column": 4
              },
              "end": {
                "line": 119,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 3656,
              "end": 3668,
              "loc": {
                "start": {
                  "line": 117,
                  "column": 4
                },
                "end": {
                  "line": 117,
                  "column": 16
                }
              },
              "name": "singleOfType"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 3668,
              "end": 3737,
              "loc": {
                "start": {
                  "line": 117,
                  "column": 16
                },
                "end": {
                  "line": 119,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3669,
                  "end": 3673,
                  "loc": {
                    "start": {
                      "line": 117,
                      "column": 17
                    },
                    "end": {
                      "line": 117,
                      "column": 21
                    }
                  },
                  "name": "type"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3675,
                "end": 3737,
                "loc": {
                  "start": {
                    "line": 117,
                    "column": 23
                  },
                  "end": {
                    "line": 119,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 3685,
                    "end": 3731,
                    "loc": {
                      "start": {
                        "line": 118,
                        "column": 8
                      },
                      "end": {
                        "line": 118,
                        "column": 54
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 3692,
                      "end": 3730,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 15
                        },
                        "end": {
                          "line": 118,
                          "column": 53
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 3692,
                        "end": 3727,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 15
                          },
                          "end": {
                            "line": 118,
                            "column": 50
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3692,
                          "end": 3725,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 15
                            },
                            "end": {
                              "line": 118,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 3692,
                            "end": 3718,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 15
                              },
                              "end": {
                                "line": 118,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3692,
                              "end": 3712,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 15
                                },
                                "end": {
                                  "line": 118,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 3692,
                                "end": 3705,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 28
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3692,
                                  "end": 3703,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3692,
                                    "end": 3696,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3697,
                                    "end": 3703,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 26
                                      }
                                    },
                                    "name": "single"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3706,
                                "end": 3712,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 35
                                  }
                                },
                                "name": "ofType"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 3713,
                                "end": 3717,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 40
                                  }
                                },
                                "name": "type"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3719,
                            "end": 3725,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 42
                              },
                              "end": {
                                "line": 118,
                                "column": 48
                              }
                            },
                            "name": "single"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Literal",
                        "start": 3728,
                        "end": 3729,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 51
                          },
                          "end": {
                            "line": 118,
                            "column": 52
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      "computed": true
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "EmptyStatement",
      "start": 3739,
      "end": 3740,
      "loc": {
        "start": {
          "line": 120,
          "column": 1
        },
        "end": {
          "line": 120,
          "column": 2
        }
      }
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 3742,
      "end": 14150,
      "loc": {
        "start": {
          "line": 122,
          "column": 0
        },
        "end": {
          "line": 393,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 3749,
        "end": 14150,
        "loc": {
          "start": {
            "line": 122,
            "column": 7
          },
          "end": {
            "line": 393,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3755,
          "end": 3773,
          "loc": {
            "start": {
              "line": 122,
              "column": 13
            },
            "end": {
              "line": 122,
              "column": 31
            }
          },
          "name": "SketcherAutomation"
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 3774,
          "end": 14150,
          "loc": {
            "start": {
              "line": 122,
              "column": 32
            },
            "end": {
              "line": 393,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 3893,
              "end": 4254,
              "loc": {
                "start": {
                  "line": 125,
                  "column": 4
                },
                "end": {
                  "line": 134,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3893,
                "end": 3904,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 4
                  },
                  "end": {
                    "line": 125,
                    "column": 15
                  }
                },
                "name": "constructor",
                "leadingComments": null
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 3904,
                "end": 4254,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 15
                  },
                  "end": {
                    "line": 134,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3905,
                    "end": 3913,
                    "loc": {
                      "start": {
                        "line": 125,
                        "column": 16
                      },
                      "end": {
                        "line": 125,
                        "column": 24
                      }
                    },
                    "name": "sketcher"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3915,
                  "end": 4254,
                  "loc": {
                    "start": {
                      "line": 125,
                      "column": 26
                    },
                    "end": {
                      "line": 134,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3967,
                      "end": 3992,
                      "loc": {
                        "start": {
                          "line": 127,
                          "column": 8
                        },
                        "end": {
                          "line": 127,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3967,
                        "end": 3991,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 8
                          },
                          "end": {
                            "line": 127,
                            "column": 32
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3967,
                          "end": 3980,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 8
                            },
                            "end": {
                              "line": 127,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3967,
                            "end": 3971,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 8
                              },
                              "end": {
                                "line": 127,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3972,
                            "end": 3980,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 13
                              },
                              "end": {
                                "line": 127,
                                "column": 21
                              }
                            },
                            "name": "sketcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 3983,
                          "end": 3991,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 24
                            },
                            "end": {
                              "line": 127,
                              "column": 32
                            }
                          },
                          "name": "sketcher"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "must have for any operations =)",
                          "start": 3925,
                          "end": 3958,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 8
                            },
                            "end": {
                              "line": 126,
                              "column": 41
                            }
                          },
                          "range": [
                            3925,
                            3958
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "configures automation speed",
                          "start": 4001,
                          "end": 4030,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 8
                            },
                            "end": {
                              "line": 128,
                              "column": 37
                            }
                          },
                          "range": [
                            4001,
                            4030
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4039,
                      "end": 4061,
                      "loc": {
                        "start": {
                          "line": 129,
                          "column": 8
                        },
                        "end": {
                          "line": 129,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4039,
                        "end": 4060,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 8
                          },
                          "end": {
                            "line": 129,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4039,
                          "end": 4056,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 8
                            },
                            "end": {
                              "line": 129,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4039,
                            "end": 4043,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 8
                              },
                              "end": {
                                "line": 129,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4044,
                            "end": 4056,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 13
                              },
                              "end": {
                                "line": 129,
                                "column": 25
                              }
                            },
                            "name": "tickWaitTime"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 4059,
                          "end": 4060,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 28
                            },
                            "end": {
                              "line": 129,
                              "column": 29
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "configures automation speed",
                          "start": 4001,
                          "end": 4030,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 8
                            },
                            "end": {
                              "line": 128,
                              "column": 37
                            }
                          },
                          "range": [
                            4001,
                            4030
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "how much can we miss",
                          "start": 4070,
                          "end": 4092,
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 8
                            },
                            "end": {
                              "line": 130,
                              "column": 30
                            }
                          },
                          "range": [
                            4070,
                            4092
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4101,
                      "end": 4129,
                      "loc": {
                        "start": {
                          "line": 131,
                          "column": 8
                        },
                        "end": {
                          "line": 131,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4101,
                        "end": 4128,
                        "loc": {
                          "start": {
                            "line": 131,
                            "column": 8
                          },
                          "end": {
                            "line": 131,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4101,
                          "end": 4121,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 8
                            },
                            "end": {
                              "line": 131,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4101,
                            "end": 4105,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 8
                              },
                              "end": {
                                "line": 131,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4106,
                            "end": 4121,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 13
                              },
                              "end": {
                                "line": 131,
                                "column": 28
                              }
                            },
                            "name": "linearTolerance"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 4124,
                          "end": 4128,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 31
                            },
                            "end": {
                              "line": 131,
                              "column": 35
                            }
                          },
                          "value": 0.01,
                          "rawValue": 0.01,
                          "raw": "0.01"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "how much can we miss",
                          "start": 4070,
                          "end": 4092,
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 8
                            },
                            "end": {
                              "line": 130,
                              "column": 30
                            }
                          },
                          "range": [
                            4070,
                            4092
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "where we can move mouse to not hover anything",
                          "start": 4138,
                          "end": 4185,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 8
                            },
                            "end": {
                              "line": 132,
                              "column": 55
                            }
                          },
                          "range": [
                            4138,
                            4185
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4194,
                      "end": 4248,
                      "loc": {
                        "start": {
                          "line": 133,
                          "column": 8
                        },
                        "end": {
                          "line": 133,
                          "column": 62
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4194,
                        "end": 4247,
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 8
                          },
                          "end": {
                            "line": 133,
                            "column": 61
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4194,
                          "end": 4208,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 8
                            },
                            "end": {
                              "line": 133,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4194,
                            "end": 4198,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 8
                              },
                              "end": {
                                "line": 133,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4199,
                            "end": 4208,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 13
                              },
                              "end": {
                                "line": 133,
                                "column": 22
                              }
                            },
                            "name": "safePoint"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 4211,
                          "end": 4247,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 25
                            },
                            "end": {
                              "line": 133,
                              "column": 61
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4215,
                            "end": 4228,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 29
                              },
                              "end": {
                                "line": 133,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4215,
                              "end": 4220,
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 29
                                },
                                "end": {
                                  "line": 133,
                                  "column": 34
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4221,
                              "end": 4228,
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 35
                                },
                                "end": {
                                  "line": 133,
                                  "column": 42
                                }
                              },
                              "name": "Vector2"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "UnaryExpression",
                              "start": 4229,
                              "end": 4237,
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 43
                                },
                                "end": {
                                  "line": 133,
                                  "column": 51
                                }
                              },
                              "operator": "-",
                              "prefix": true,
                              "argument": {
                                "type": "Literal",
                                "start": 4230,
                                "end": 4237,
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 51
                                  }
                                },
                                "value": 123.456,
                                "rawValue": 123.456,
                                "raw": "123.456"
                              }
                            },
                            {
                              "type": "UnaryExpression",
                              "start": 4239,
                              "end": 4246,
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 53
                                },
                                "end": {
                                  "line": 133,
                                  "column": 60
                                }
                              },
                              "operator": "-",
                              "prefix": true,
                              "argument": {
                                "type": "Literal",
                                "start": 4240,
                                "end": 4246,
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 60
                                  }
                                },
                                "value": 98.765,
                                "rawValue": 98.765,
                                "raw": "98.765"
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "where we can move mouse to not hover anything",
                          "start": 4138,
                          "end": 4185,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 8
                            },
                            "end": {
                              "line": 132,
                              "column": 55
                            }
                          },
                          "range": [
                            4138,
                            4185
                          ]
                        }
                      ]
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "Note: sketcher may be undefined.",
                  "start": 3780,
                  "end": 3814,
                  "loc": {
                    "start": {
                      "line": 123,
                      "column": 4
                    },
                    "end": {
                      "line": 123,
                      "column": 38
                    }
                  },
                  "range": [
                    3780,
                    3814
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "Then only information methods can be used (like getting endpoints).",
                  "start": 3819,
                  "end": 3888,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 4
                    },
                    "end": {
                      "line": 124,
                      "column": 73
                    }
                  },
                  "range": [
                    3819,
                    3888
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "Note: not sure this method would survive..",
                  "start": 4260,
                  "end": 4304,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 4
                    },
                    "end": {
                      "line": 136,
                      "column": 48
                    }
                  },
                  "range": [
                    4260,
                    4304
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 4309,
              "end": 4380,
              "loc": {
                "start": {
                  "line": 137,
                  "column": 4
                },
                "end": {
                  "line": 139,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4309,
                "end": 4322,
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 4
                  },
                  "end": {
                    "line": 137,
                    "column": 17
                  }
                },
                "name": "setRootObject",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4322,
                "end": 4380,
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 17
                  },
                  "end": {
                    "line": 139,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4323,
                    "end": 4333,
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 18
                      },
                      "end": {
                        "line": 137,
                        "column": 28
                      }
                    },
                    "name": "rootObject"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4335,
                  "end": 4380,
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 30
                    },
                    "end": {
                      "line": 139,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4345,
                      "end": 4374,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 8
                        },
                        "end": {
                          "line": 138,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4345,
                        "end": 4373,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 8
                          },
                          "end": {
                            "line": 138,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4345,
                          "end": 4360,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 8
                            },
                            "end": {
                              "line": 138,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4345,
                            "end": 4349,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 8
                              },
                              "end": {
                                "line": 138,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4350,
                            "end": 4360,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 13
                              },
                              "end": {
                                "line": 138,
                                "column": 23
                              }
                            },
                            "name": "rootObject"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 4363,
                          "end": 4373,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 26
                            },
                            "end": {
                              "line": 138,
                              "column": 36
                            }
                          },
                          "name": "rootObject"
                        }
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "Note: not sure this method would survive..",
                  "start": 4260,
                  "end": 4304,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 4
                    },
                    "end": {
                      "line": 136,
                      "column": 48
                    }
                  },
                  "range": [
                    4260,
                    4304
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 4386,
              "end": 4594,
              "loc": {
                "start": {
                  "line": 141,
                  "column": 4
                },
                "end": {
                  "line": 148,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4392,
                "end": 4399,
                "loc": {
                  "start": {
                    "line": 141,
                    "column": 10
                  },
                  "end": {
                    "line": 141,
                    "column": 17
                  }
                },
                "name": "execute"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4399,
                "end": 4594,
                "loc": {
                  "start": {
                    "line": 141,
                    "column": 17
                  },
                  "end": {
                    "line": 148,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4400,
                    "end": 4406,
                    "loc": {
                      "start": {
                        "line": 141,
                        "column": 18
                      },
                      "end": {
                        "line": 141,
                        "column": 24
                      }
                    },
                    "name": "lambda"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4408,
                  "end": 4594,
                  "loc": {
                    "start": {
                      "line": 141,
                      "column": 26
                    },
                    "end": {
                      "line": 148,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4418,
                      "end": 4459,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 8
                        },
                        "end": {
                          "line": 142,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4418,
                        "end": 4458,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 8
                          },
                          "end": {
                            "line": 142,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4418,
                          "end": 4450,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 8
                            },
                            "end": {
                              "line": 142,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4418,
                            "end": 4442,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 8
                              },
                              "end": {
                                "line": 142,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 4418,
                              "end": 4436,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 8
                                },
                                "end": {
                                  "line": 142,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 4418,
                                "end": 4431,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4418,
                                  "end": 4422,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4423,
                                  "end": 4431,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 21
                                    }
                                  },
                                  "name": "sketcher"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4432,
                                "end": 4436,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 26
                                  }
                                },
                                "name": "view"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4437,
                              "end": 4442,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 27
                                },
                                "end": {
                                  "line": 142,
                                  "column": 32
                                }
                              },
                              "name": "input"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4443,
                            "end": 4450,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 33
                              },
                              "end": {
                                "line": 142,
                                "column": 40
                              }
                            },
                            "name": "enabled"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 4453,
                          "end": 4458,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 43
                            },
                            "end": {
                              "line": 142,
                              "column": 48
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    },
                    {
                      "type": "TryStatement",
                      "start": 4468,
                      "end": 4588,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 8
                        },
                        "end": {
                          "line": 147,
                          "column": 9
                        }
                      },
                      "block": {
                        "type": "BlockStatement",
                        "start": 4472,
                        "end": 4515,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 12
                          },
                          "end": {
                            "line": 145,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 4486,
                            "end": 4505,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 12
                              },
                              "end": {
                                "line": 144,
                                "column": 31
                              }
                            },
                            "expression": {
                              "type": "AwaitExpression",
                              "start": 4486,
                              "end": 4504,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 12
                                },
                                "end": {
                                  "line": 144,
                                  "column": 30
                                }
                              },
                              "all": false,
                              "argument": {
                                "type": "CallExpression",
                                "start": 4492,
                                "end": 4504,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 30
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 4492,
                                  "end": 4498,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 24
                                    }
                                  },
                                  "name": "lambda"
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4499,
                                    "end": 4503,
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 29
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      },
                      "handler": null,
                      "guardedHandlers": [],
                      "finalizer": {
                        "type": "BlockStatement",
                        "start": 4524,
                        "end": 4588,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 18
                          },
                          "end": {
                            "line": 147,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 4538,
                            "end": 4578,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 12
                              },
                              "end": {
                                "line": 146,
                                "column": 52
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4538,
                              "end": 4577,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 12
                                },
                                "end": {
                                  "line": 146,
                                  "column": 51
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 4538,
                                "end": 4570,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4538,
                                  "end": 4562,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4538,
                                    "end": 4556,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 4538,
                                      "end": 4551,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 25
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4538,
                                        "end": 4542,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4543,
                                        "end": 4551,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 25
                                          }
                                        },
                                        "name": "sketcher"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4552,
                                      "end": 4556,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 30
                                        }
                                      },
                                      "name": "view"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4557,
                                    "end": 4562,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 36
                                      }
                                    },
                                    "name": "input"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4563,
                                  "end": 4570,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 44
                                    }
                                  },
                                  "name": "enabled"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Literal",
                                "start": 4573,
                                "end": 4577,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 51
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "tick is called internally to control speed of automation",
                  "start": 4600,
                  "end": 4658,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 150,
                      "column": 62
                    }
                  },
                  "range": [
                    4600,
                    4658
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 4663,
              "end": 4728,
              "loc": {
                "start": {
                  "line": 151,
                  "column": 4
                },
                "end": {
                  "line": 153,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4663,
                "end": 4678,
                "loc": {
                  "start": {
                    "line": 151,
                    "column": 4
                  },
                  "end": {
                    "line": 151,
                    "column": 19
                  }
                },
                "name": "setTickWaitTime",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4678,
                "end": 4728,
                "loc": {
                  "start": {
                    "line": 151,
                    "column": 19
                  },
                  "end": {
                    "line": 153,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4679,
                    "end": 4684,
                    "loc": {
                      "start": {
                        "line": 151,
                        "column": 20
                      },
                      "end": {
                        "line": 151,
                        "column": 25
                      }
                    },
                    "name": "delay"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4686,
                  "end": 4728,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 27
                    },
                    "end": {
                      "line": 153,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4696,
                      "end": 4722,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 8
                        },
                        "end": {
                          "line": 152,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4696,
                        "end": 4721,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 8
                          },
                          "end": {
                            "line": 152,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4696,
                          "end": 4713,
                          "loc": {
                            "start": {
                              "line": 152,
                              "column": 8
                            },
                            "end": {
                              "line": 152,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4696,
                            "end": 4700,
                            "loc": {
                              "start": {
                                "line": 152,
                                "column": 8
                              },
                              "end": {
                                "line": 152,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4701,
                            "end": 4713,
                            "loc": {
                              "start": {
                                "line": 152,
                                "column": 13
                              },
                              "end": {
                                "line": 152,
                                "column": 25
                              }
                            },
                            "name": "tickWaitTime"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 4716,
                          "end": 4721,
                          "loc": {
                            "start": {
                              "line": 152,
                              "column": 28
                            },
                            "end": {
                              "line": 152,
                              "column": 33
                            }
                          },
                          "name": "delay"
                        }
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "tick is called internally to control speed of automation",
                  "start": 4600,
                  "end": 4658,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 150,
                      "column": 62
                    }
                  },
                  "range": [
                    4600,
                    4658
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 4733,
              "end": 4850,
              "loc": {
                "start": {
                  "line": 154,
                  "column": 4
                },
                "end": {
                  "line": 158,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4739,
                "end": 4743,
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 10
                  },
                  "end": {
                    "line": 154,
                    "column": 14
                  }
                },
                "name": "tick"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4743,
                "end": 4850,
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 14
                  },
                  "end": {
                    "line": 158,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4746,
                  "end": 4850,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 17
                    },
                    "end": {
                      "line": 158,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 4756,
                      "end": 4804,
                      "loc": {
                        "start": {
                          "line": 155,
                          "column": 8
                        },
                        "end": {
                          "line": 156,
                          "column": 18
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 4760,
                        "end": 4784,
                        "loc": {
                          "start": {
                            "line": 155,
                            "column": 12
                          },
                          "end": {
                            "line": 155,
                            "column": 36
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "BinaryExpression",
                          "start": 4762,
                          "end": 4783,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 14
                            },
                            "end": {
                              "line": 155,
                              "column": 35
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 4762,
                            "end": 4779,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 14
                              },
                              "end": {
                                "line": 155,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4762,
                              "end": 4766,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 14
                                },
                                "end": {
                                  "line": 155,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4767,
                              "end": 4779,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 19
                                },
                                "end": {
                                  "line": 155,
                                  "column": 31
                                }
                              },
                              "name": "tickWaitTime"
                            },
                            "computed": false
                          },
                          "operator": ">",
                          "right": {
                            "type": "Literal",
                            "start": 4782,
                            "end": 4783,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 34
                              },
                              "end": {
                                "line": 155,
                                "column": 35
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "parenthesizedExpression": true
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 4798,
                        "end": 4804,
                        "loc": {
                          "start": {
                            "line": 156,
                            "column": 12
                          },
                          "end": {
                            "line": 156,
                            "column": 18
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4813,
                      "end": 4844,
                      "loc": {
                        "start": {
                          "line": 157,
                          "column": 8
                        },
                        "end": {
                          "line": 157,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 4813,
                        "end": 4843,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 8
                          },
                          "end": {
                            "line": 157,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 4819,
                          "end": 4843,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 14
                            },
                            "end": {
                              "line": 157,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4819,
                            "end": 4824,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 14
                              },
                              "end": {
                                "line": 157,
                                "column": 19
                              }
                            },
                            "name": "delay"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 4825,
                              "end": 4842,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 20
                                },
                                "end": {
                                  "line": 157,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4825,
                                "end": 4829,
                                "loc": {
                                  "start": {
                                    "line": 157,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 157,
                                    "column": 24
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4830,
                                "end": 4842,
                                "loc": {
                                  "start": {
                                    "line": 157,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 157,
                                    "column": 37
                                  }
                                },
                                "name": "tickWaitTime"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "managing sketches creation and selection",
                  "start": 4856,
                  "end": 4898,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 4
                    },
                    "end": {
                      "line": 160,
                      "column": 46
                    }
                  },
                  "range": [
                    4856,
                    4898
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 4903,
              "end": 5680,
              "loc": {
                "start": {
                  "line": 161,
                  "column": 4
                },
                "end": {
                  "line": 179,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4909,
                "end": 4921,
                "loc": {
                  "start": {
                    "line": 161,
                    "column": 10
                  },
                  "end": {
                    "line": 161,
                    "column": 22
                  }
                },
                "name": "createSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4921,
                "end": 5680,
                "loc": {
                  "start": {
                    "line": 161,
                    "column": 22
                  },
                  "end": {
                    "line": 179,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4922,
                    "end": 4928,
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 23
                      },
                      "end": {
                        "line": 161,
                        "column": 29
                      }
                    },
                    "name": "origin"
                  },
                  {
                    "type": "Identifier",
                    "start": 4930,
                    "end": 4940,
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 31
                      },
                      "end": {
                        "line": 161,
                        "column": 41
                      }
                    },
                    "name": "quaternion"
                  },
                  {
                    "type": "Identifier",
                    "start": 4942,
                    "end": 4946,
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 43
                      },
                      "end": {
                        "line": 161,
                        "column": 47
                      }
                    },
                    "name": "part"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4948,
                  "end": 5680,
                  "loc": {
                    "start": {
                      "line": 161,
                      "column": 49
                    },
                    "end": {
                      "line": 179,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 5018,
                      "end": 5374,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 171,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 5022,
                        "end": 5027,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 12
                          },
                          "end": {
                            "line": 163,
                            "column": 17
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 5023,
                          "end": 5027,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 13
                            },
                            "end": {
                              "line": 163,
                              "column": 17
                            }
                          },
                          "name": "part",
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 5029,
                        "end": 5374,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 19
                          },
                          "end": {
                            "line": 171,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 5043,
                            "end": 5112,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 12
                              },
                              "end": {
                                "line": 164,
                                "column": 81
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 5043,
                              "end": 5111,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 12
                                },
                                "end": {
                                  "line": 164,
                                  "column": 80
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 5043,
                                "end": 5048,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 17
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 5049,
                                  "end": 5064,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5049,
                                    "end": 5053,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5054,
                                    "end": 5064,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 33
                                      }
                                    },
                                    "name": "rootObject"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "Literal",
                                  "start": 5066,
                                  "end": 5110,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 79
                                    }
                                  },
                                  "value": "Neither part nor root object not specified",
                                  "rawValue": "Neither part nor root object not specified",
                                  "raw": "\"Neither part nor root object not specified\""
                                }
                              ]
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": "try to find any part from the root",
                                "start": 5125,
                                "end": 5161,
                                "loc": {
                                  "start": {
                                    "line": 165,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 165,
                                    "column": 48
                                  }
                                },
                                "range": [
                                  5125,
                                  5161
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 5174,
                            "end": 5298,
                            "loc": {
                              "start": {
                                "line": 166,
                                "column": 12
                              },
                              "end": {
                                "line": 169,
                                "column": 15
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 5174,
                              "end": 5297,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 12
                                },
                                "end": {
                                  "line": 169,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5174,
                                "end": 5198,
                                "loc": {
                                  "start": {
                                    "line": 166,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 166,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5174,
                                  "end": 5189,
                                  "loc": {
                                    "start": {
                                      "line": 166,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 166,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5174,
                                    "end": 5178,
                                    "loc": {
                                      "start": {
                                        "line": 166,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 166,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5179,
                                    "end": 5189,
                                    "loc": {
                                      "start": {
                                        "line": 166,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 166,
                                        "column": 27
                                      }
                                    },
                                    "name": "rootObject"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5190,
                                  "end": 5198,
                                  "loc": {
                                    "start": {
                                      "line": 166,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 166,
                                      "column": 36
                                    }
                                  },
                                  "name": "traverse"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 5199,
                                  "end": 5296,
                                  "loc": {
                                    "start": {
                                      "line": 166,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 5200,
                                      "end": 5203,
                                      "loc": {
                                        "start": {
                                          "line": 166,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 166,
                                          "column": 41
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 5208,
                                    "end": 5296,
                                    "loc": {
                                      "start": {
                                        "line": 166,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 169,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "IfStatement",
                                        "start": 5226,
                                        "end": 5282,
                                        "loc": {
                                          "start": {
                                            "line": 167,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 168,
                                            "column": 31
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 5230,
                                          "end": 5249,
                                          "loc": {
                                            "start": {
                                              "line": 167,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 167,
                                              "column": 39
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 5230,
                                            "end": 5233,
                                            "loc": {
                                              "start": {
                                                "line": 167,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 167,
                                                "column": 23
                                              }
                                            },
                                            "name": "obj"
                                          },
                                          "operator": "instanceof",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 5245,
                                            "end": 5249,
                                            "loc": {
                                              "start": {
                                                "line": 167,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 167,
                                                "column": 39
                                              }
                                            },
                                            "name": "Part"
                                          }
                                        },
                                        "consequent": {
                                          "type": "ExpressionStatement",
                                          "start": 5271,
                                          "end": 5282,
                                          "loc": {
                                            "start": {
                                              "line": 168,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 168,
                                              "column": 31
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 5271,
                                            "end": 5281,
                                            "loc": {
                                              "start": {
                                                "line": 168,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 168,
                                                "column": 30
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "start": 5271,
                                              "end": 5275,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 24
                                                }
                                              },
                                              "name": "part"
                                            },
                                            "right": {
                                              "type": "Identifier",
                                              "start": 5278,
                                              "end": 5281,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 30
                                                }
                                              },
                                              "name": "obj"
                                            }
                                          }
                                        },
                                        "alternate": null
                                      }
                                    ]
                                  }
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "try to find any part from the root",
                                "start": 5125,
                                "end": 5161,
                                "loc": {
                                  "start": {
                                    "line": 165,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 165,
                                    "column": 48
                                  }
                                },
                                "range": [
                                  5125,
                                  5161
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 5311,
                            "end": 5364,
                            "loc": {
                              "start": {
                                "line": 170,
                                "column": 12
                              },
                              "end": {
                                "line": 170,
                                "column": 65
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 5311,
                              "end": 5363,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 12
                                },
                                "end": {
                                  "line": 170,
                                  "column": 64
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 5311,
                                "end": 5316,
                                "loc": {
                                  "start": {
                                    "line": 170,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 170,
                                    "column": 17
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 5317,
                                  "end": 5321,
                                  "loc": {
                                    "start": {
                                      "line": 170,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 170,
                                      "column": 22
                                    }
                                  },
                                  "name": "part"
                                },
                                {
                                  "type": "Literal",
                                  "start": 5323,
                                  "end": 5362,
                                  "loc": {
                                    "start": {
                                      "line": 170,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 170,
                                      "column": 63
                                    }
                                  },
                                  "value": "Cannot find any part in ClassCad tree",
                                  "rawValue": "Cannot find any part in ClassCad tree",
                                  "raw": "\"Cannot find any part in ClassCad tree\""
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "try to automatically deduce parameters if not set",
                          "start": 4958,
                          "end": 5009,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 8
                            },
                            "end": {
                              "line": 162,
                              "column": 59
                            }
                          },
                          "range": [
                            4958,
                            5009
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5383,
                      "end": 5428,
                      "loc": {
                        "start": {
                          "line": 172,
                          "column": 8
                        },
                        "end": {
                          "line": 172,
                          "column": 53
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5383,
                        "end": 5427,
                        "loc": {
                          "start": {
                            "line": 172,
                            "column": 8
                          },
                          "end": {
                            "line": 172,
                            "column": 52
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 5383,
                          "end": 5389,
                          "loc": {
                            "start": {
                              "line": 172,
                              "column": 8
                            },
                            "end": {
                              "line": 172,
                              "column": 14
                            }
                          },
                          "name": "origin"
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 5392,
                          "end": 5427,
                          "loc": {
                            "start": {
                              "line": 172,
                              "column": 17
                            },
                            "end": {
                              "line": 172,
                              "column": 52
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 5392,
                            "end": 5398,
                            "loc": {
                              "start": {
                                "line": 172,
                                "column": 17
                              },
                              "end": {
                                "line": 172,
                                "column": 23
                              }
                            },
                            "name": "origin"
                          },
                          "operator": "||",
                          "right": {
                            "type": "CallExpression",
                            "start": 5402,
                            "end": 5427,
                            "loc": {
                              "start": {
                                "line": 172,
                                "column": 27
                              },
                              "end": {
                                "line": 172,
                                "column": 52
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5402,
                              "end": 5425,
                              "loc": {
                                "start": {
                                  "line": 172,
                                  "column": 27
                                },
                                "end": {
                                  "line": 172,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5402,
                                "end": 5406,
                                "loc": {
                                  "start": {
                                    "line": 172,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 31
                                  }
                                },
                                "name": "part"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5407,
                                "end": 5425,
                                "loc": {
                                  "start": {
                                    "line": 172,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 50
                                  }
                                },
                                "name": "getWorldQuaternion"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5437,
                      "end": 5488,
                      "loc": {
                        "start": {
                          "line": 173,
                          "column": 8
                        },
                        "end": {
                          "line": 173,
                          "column": 59
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5437,
                        "end": 5487,
                        "loc": {
                          "start": {
                            "line": 173,
                            "column": 8
                          },
                          "end": {
                            "line": 173,
                            "column": 58
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 5437,
                          "end": 5447,
                          "loc": {
                            "start": {
                              "line": 173,
                              "column": 8
                            },
                            "end": {
                              "line": 173,
                              "column": 18
                            }
                          },
                          "name": "quaternion"
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 5450,
                          "end": 5487,
                          "loc": {
                            "start": {
                              "line": 173,
                              "column": 21
                            },
                            "end": {
                              "line": 173,
                              "column": 58
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 5450,
                            "end": 5460,
                            "loc": {
                              "start": {
                                "line": 173,
                                "column": 21
                              },
                              "end": {
                                "line": 173,
                                "column": 31
                              }
                            },
                            "name": "quaternion"
                          },
                          "operator": "||",
                          "right": {
                            "type": "CallExpression",
                            "start": 5464,
                            "end": 5487,
                            "loc": {
                              "start": {
                                "line": 173,
                                "column": 35
                              },
                              "end": {
                                "line": 173,
                                "column": 58
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5464,
                              "end": 5485,
                              "loc": {
                                "start": {
                                  "line": 173,
                                  "column": 35
                                },
                                "end": {
                                  "line": 173,
                                  "column": 56
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5464,
                                "end": 5468,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 39
                                  }
                                },
                                "name": "part"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5469,
                                "end": 5485,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 56
                                  }
                                },
                                "name": "getWorldPosition"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "create a new sketch",
                          "start": 5498,
                          "end": 5519,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 8
                            },
                            "end": {
                              "line": 175,
                              "column": 29
                            }
                          },
                          "range": [
                            5498,
                            5519
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5528,
                      "end": 5597,
                      "loc": {
                        "start": {
                          "line": 176,
                          "column": 8
                        },
                        "end": {
                          "line": 176,
                          "column": 77
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5532,
                          "end": 5596,
                          "loc": {
                            "start": {
                              "line": 176,
                              "column": 12
                            },
                            "end": {
                              "line": 176,
                              "column": 76
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5532,
                            "end": 5538,
                            "loc": {
                              "start": {
                                "line": 176,
                                "column": 12
                              },
                              "end": {
                                "line": 176,
                                "column": 18
                              }
                            },
                            "name": "sketch",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "AwaitExpression",
                            "start": 5541,
                            "end": 5596,
                            "loc": {
                              "start": {
                                "line": 176,
                                "column": 21
                              },
                              "end": {
                                "line": 176,
                                "column": 76
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 5547,
                              "end": 5596,
                              "loc": {
                                "start": {
                                  "line": 176,
                                  "column": 27
                                },
                                "end": {
                                  "line": 176,
                                  "column": 76
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5547,
                                "end": 5570,
                                "loc": {
                                  "start": {
                                    "line": 176,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 176,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5547,
                                  "end": 5560,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5547,
                                    "end": 5551,
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5552,
                                    "end": 5560,
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 40
                                      }
                                    },
                                    "name": "sketcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5561,
                                  "end": 5570,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 50
                                    }
                                  },
                                  "name": "newSketch"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 5571,
                                  "end": 5577,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 57
                                    }
                                  },
                                  "name": "origin"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 5579,
                                  "end": 5589,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 69
                                    }
                                  },
                                  "name": "quaternion"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 5591,
                                  "end": 5595,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 71
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 75
                                    }
                                  },
                                  "name": "part"
                                }
                              ]
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "let",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "create a new sketch",
                          "start": 5498,
                          "end": 5519,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 8
                            },
                            "end": {
                              "line": 175,
                              "column": 29
                            }
                          },
                          "range": [
                            5498,
                            5519
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5606,
                      "end": 5651,
                      "loc": {
                        "start": {
                          "line": 177,
                          "column": 8
                        },
                        "end": {
                          "line": 177,
                          "column": 53
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5606,
                        "end": 5650,
                        "loc": {
                          "start": {
                            "line": 177,
                            "column": 8
                          },
                          "end": {
                            "line": 177,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 5606,
                          "end": 5611,
                          "loc": {
                            "start": {
                              "line": 177,
                              "column": 8
                            },
                            "end": {
                              "line": 177,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 5612,
                            "end": 5618,
                            "loc": {
                              "start": {
                                "line": 177,
                                "column": 14
                              },
                              "end": {
                                "line": 177,
                                "column": 20
                              }
                            },
                            "name": "sketch"
                          },
                          {
                            "type": "Literal",
                            "start": 5620,
                            "end": 5649,
                            "loc": {
                              "start": {
                                "line": 177,
                                "column": 22
                              },
                              "end": {
                                "line": 177,
                                "column": 51
                              }
                            },
                            "value": "Failed to create new sketch",
                            "rawValue": "Failed to create new sketch",
                            "raw": "\"Failed to create new sketch\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 5660,
                      "end": 5674,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 8
                        },
                        "end": {
                          "line": 178,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 5667,
                        "end": 5673,
                        "loc": {
                          "start": {
                            "line": 178,
                            "column": 15
                          },
                          "end": {
                            "line": 178,
                            "column": 21
                          }
                        },
                        "name": "sketch"
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "managing sketches creation and selection",
                  "start": 4856,
                  "end": 4898,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 4
                    },
                    "end": {
                      "line": 160,
                      "column": 46
                    }
                  },
                  "range": [
                    4856,
                    4898
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 5685,
              "end": 5853,
              "loc": {
                "start": {
                  "line": 180,
                  "column": 4
                },
                "end": {
                  "line": 183,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5691,
                "end": 5703,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 10
                  },
                  "end": {
                    "line": 180,
                    "column": 22
                  }
                },
                "name": "selectSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5703,
                "end": 5853,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 22
                  },
                  "end": {
                    "line": 183,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5704,
                    "end": 5710,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 23
                      },
                      "end": {
                        "line": 180,
                        "column": 29
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5712,
                  "end": 5853,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 31
                    },
                    "end": {
                      "line": 183,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5722,
                      "end": 5797,
                      "loc": {
                        "start": {
                          "line": 181,
                          "column": 8
                        },
                        "end": {
                          "line": 181,
                          "column": 83
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5722,
                        "end": 5796,
                        "loc": {
                          "start": {
                            "line": 181,
                            "column": 8
                          },
                          "end": {
                            "line": 181,
                            "column": 82
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 5722,
                          "end": 5727,
                          "loc": {
                            "start": {
                              "line": 181,
                              "column": 8
                            },
                            "end": {
                              "line": 181,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 5728,
                            "end": 5752,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 14
                              },
                              "end": {
                                "line": 181,
                                "column": 38
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 5728,
                              "end": 5734,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 14
                                },
                                "end": {
                                  "line": 181,
                                  "column": 20
                                }
                              },
                              "name": "sketch"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 5746,
                              "end": 5752,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 32
                                },
                                "end": {
                                  "line": 181,
                                  "column": 38
                                }
                              },
                              "name": "Sketch"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 5754,
                            "end": 5795,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 40
                              },
                              "end": {
                                "line": 181,
                                "column": 81
                              }
                            },
                            "value": "Sketch is not specified or not a sketch",
                            "rawValue": "Sketch is not specified or not a sketch",
                            "raw": "\"Sketch is not specified or not a sketch\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5806,
                      "end": 5847,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 8
                        },
                        "end": {
                          "line": 182,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 5806,
                        "end": 5846,
                        "loc": {
                          "start": {
                            "line": 182,
                            "column": 8
                          },
                          "end": {
                            "line": 182,
                            "column": 48
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 5812,
                          "end": 5846,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 14
                            },
                            "end": {
                              "line": 182,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5812,
                            "end": 5838,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 14
                              },
                              "end": {
                                "line": 182,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5812,
                              "end": 5825,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 14
                                },
                                "end": {
                                  "line": 182,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5812,
                                "end": 5816,
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5817,
                                "end": 5825,
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 27
                                  }
                                },
                                "name": "sketcher"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5826,
                              "end": 5838,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 28
                                },
                                "end": {
                                  "line": 182,
                                  "column": 40
                                }
                              },
                              "name": "selectSketch"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5839,
                              "end": 5845,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 41
                                },
                                "end": {
                                  "line": 182,
                                  "column": 47
                                }
                              },
                              "name": "sketch"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5858,
              "end": 6166,
              "loc": {
                "start": {
                  "line": 184,
                  "column": 4
                },
                "end": {
                  "line": 190,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5864,
                "end": 5878,
                "loc": {
                  "start": {
                    "line": 184,
                    "column": 10
                  },
                  "end": {
                    "line": 184,
                    "column": 24
                  }
                },
                "name": "deselectSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5878,
                "end": 6166,
                "loc": {
                  "start": {
                    "line": 184,
                    "column": 24
                  },
                  "end": {
                    "line": 190,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5879,
                    "end": 5885,
                    "loc": {
                      "start": {
                        "line": 184,
                        "column": 25
                      },
                      "end": {
                        "line": 184,
                        "column": 31
                      }
                    },
                    "name": "sketch"
                  },
                  {
                    "type": "Identifier",
                    "start": 5887,
                    "end": 5894,
                    "loc": {
                      "start": {
                        "line": 184,
                        "column": 33
                      },
                      "end": {
                        "line": 184,
                        "column": 40
                      }
                    },
                    "name": "byClick"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5896,
                  "end": 6166,
                  "loc": {
                    "start": {
                      "line": 184,
                      "column": 42
                    },
                    "end": {
                      "line": 190,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5906,
                      "end": 5991,
                      "loc": {
                        "start": {
                          "line": 185,
                          "column": 8
                        },
                        "end": {
                          "line": 185,
                          "column": 93
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5906,
                        "end": 5990,
                        "loc": {
                          "start": {
                            "line": 185,
                            "column": 8
                          },
                          "end": {
                            "line": 185,
                            "column": 92
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 5906,
                          "end": 5911,
                          "loc": {
                            "start": {
                              "line": 185,
                              "column": 8
                            },
                            "end": {
                              "line": 185,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "LogicalExpression",
                            "start": 5912,
                            "end": 5961,
                            "loc": {
                              "start": {
                                "line": 185,
                                "column": 14
                              },
                              "end": {
                                "line": 185,
                                "column": 63
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 5912,
                              "end": 5919,
                              "loc": {
                                "start": {
                                  "line": 185,
                                  "column": 14
                                },
                                "end": {
                                  "line": 185,
                                  "column": 21
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 5913,
                                "end": 5919,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 21
                                  }
                                },
                                "name": "sketch"
                              }
                            },
                            "operator": "||",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 5923,
                              "end": 5961,
                              "loc": {
                                "start": {
                                  "line": 185,
                                  "column": 25
                                },
                                "end": {
                                  "line": 185,
                                  "column": 63
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 5923,
                                "end": 5929,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 31
                                  }
                                },
                                "name": "sketch"
                              },
                              "operator": "===",
                              "right": {
                                "type": "MemberExpression",
                                "start": 5934,
                                "end": 5961,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 63
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5934,
                                  "end": 5947,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5934,
                                    "end": 5938,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 40
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5939,
                                    "end": 5947,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 49
                                      }
                                    },
                                    "name": "sketcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5948,
                                  "end": 5961,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 63
                                    }
                                  },
                                  "name": "currentSketch"
                                },
                                "computed": false
                              }
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 5963,
                            "end": 5989,
                            "loc": {
                              "start": {
                                "line": 185,
                                "column": 65
                              },
                              "end": {
                                "line": 185,
                                "column": 91
                              }
                            },
                            "value": "Deselecting wrong sketch",
                            "rawValue": "Deselecting wrong sketch",
                            "raw": "\"Deselecting wrong sketch\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 6000,
                      "end": 6160,
                      "loc": {
                        "start": {
                          "line": 186,
                          "column": 8
                        },
                        "end": {
                          "line": 189,
                          "column": 49
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 6004,
                        "end": 6011,
                        "loc": {
                          "start": {
                            "line": 186,
                            "column": 12
                          },
                          "end": {
                            "line": 186,
                            "column": 19
                          }
                        },
                        "name": "byClick"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 6025,
                        "end": 6097,
                        "loc": {
                          "start": {
                            "line": 187,
                            "column": 12
                          },
                          "end": {
                            "line": 187,
                            "column": 84
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 6025,
                          "end": 6096,
                          "loc": {
                            "start": {
                              "line": 187,
                              "column": 12
                            },
                            "end": {
                              "line": 187,
                              "column": 83
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 6031,
                            "end": 6096,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 18
                              },
                              "end": {
                                "line": 187,
                                "column": 83
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6031,
                              "end": 6067,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 18
                                },
                                "end": {
                                  "line": 187,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 6031,
                                "end": 6044,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6031,
                                  "end": 6035,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 22
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6036,
                                  "end": 6044,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 31
                                    }
                                  },
                                  "name": "sketcher"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6045,
                                "end": 6067,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 54
                                  }
                                },
                                "name": "sketchAreaRightClicked"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 6068,
                                "end": 6095,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 82
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 6068,
                                  "end": 6081,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 6068,
                                    "end": 6072,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 59
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6073,
                                    "end": 6081,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 68
                                      }
                                    },
                                    "name": "sketcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6082,
                                  "end": 6095,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 82
                                    }
                                  },
                                  "name": "currentSketch"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 6123,
                        "end": 6160,
                        "loc": {
                          "start": {
                            "line": 189,
                            "column": 12
                          },
                          "end": {
                            "line": 189,
                            "column": 49
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 6123,
                          "end": 6159,
                          "loc": {
                            "start": {
                              "line": 189,
                              "column": 12
                            },
                            "end": {
                              "line": 189,
                              "column": 48
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 6129,
                            "end": 6159,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 18
                              },
                              "end": {
                                "line": 189,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6129,
                              "end": 6157,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 18
                                },
                                "end": {
                                  "line": 189,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 6129,
                                "end": 6142,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6129,
                                  "end": 6133,
                                  "loc": {
                                    "start": {
                                      "line": 189,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 189,
                                      "column": 22
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6134,
                                  "end": 6142,
                                  "loc": {
                                    "start": {
                                      "line": 189,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 189,
                                      "column": 31
                                    }
                                  },
                                  "name": "sketcher"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6143,
                                "end": 6157,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 46
                                  }
                                },
                                "name": "deselectSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 6171,
              "end": 6241,
              "loc": {
                "start": {
                  "line": 191,
                  "column": 4
                },
                "end": {
                  "line": 193,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6171,
                "end": 6187,
                "loc": {
                  "start": {
                    "line": 191,
                    "column": 4
                  },
                  "end": {
                    "line": 191,
                    "column": 20
                  }
                },
                "name": "getCurrentSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6187,
                "end": 6241,
                "loc": {
                  "start": {
                    "line": 191,
                    "column": 20
                  },
                  "end": {
                    "line": 193,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 6190,
                  "end": 6241,
                  "loc": {
                    "start": {
                      "line": 191,
                      "column": 23
                    },
                    "end": {
                      "line": 193,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 6200,
                      "end": 6235,
                      "loc": {
                        "start": {
                          "line": 192,
                          "column": 8
                        },
                        "end": {
                          "line": 192,
                          "column": 43
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 6207,
                        "end": 6234,
                        "loc": {
                          "start": {
                            "line": 192,
                            "column": 15
                          },
                          "end": {
                            "line": 192,
                            "column": 42
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 6207,
                          "end": 6220,
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 15
                            },
                            "end": {
                              "line": 192,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6207,
                            "end": 6211,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 15
                              },
                              "end": {
                                "line": 192,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6212,
                            "end": 6220,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 20
                              },
                              "end": {
                                "line": 192,
                                "column": 28
                              }
                            },
                            "name": "sketcher"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6221,
                          "end": 6234,
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 29
                            },
                            "end": {
                              "line": 192,
                              "column": 42
                            }
                          },
                          "name": "currentSketch"
                        },
                        "computed": false
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "emulating sketcher global buttons (tools, handlers, etc)",
                  "start": 6247,
                  "end": 6305,
                  "loc": {
                    "start": {
                      "line": 195,
                      "column": 4
                    },
                    "end": {
                      "line": 195,
                      "column": 62
                    }
                  },
                  "range": [
                    6247,
                    6305
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 6310,
              "end": 6405,
              "loc": {
                "start": {
                  "line": 196,
                  "column": 4
                },
                "end": {
                  "line": 198,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6316,
                "end": 6326,
                "loc": {
                  "start": {
                    "line": 196,
                    "column": 10
                  },
                  "end": {
                    "line": 196,
                    "column": 20
                  }
                },
                "name": "chooseTool"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6326,
                "end": 6405,
                "loc": {
                  "start": {
                    "line": 196,
                    "column": 20
                  },
                  "end": {
                    "line": 198,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6327,
                    "end": 6335,
                    "loc": {
                      "start": {
                        "line": 196,
                        "column": 21
                      },
                      "end": {
                        "line": 196,
                        "column": 29
                      }
                    },
                    "name": "toolName"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6337,
                  "end": 6405,
                  "loc": {
                    "start": {
                      "line": 196,
                      "column": 31
                    },
                    "end": {
                      "line": 198,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 6347,
                      "end": 6399,
                      "loc": {
                        "start": {
                          "line": 197,
                          "column": 8
                        },
                        "end": {
                          "line": 197,
                          "column": 60
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 6347,
                        "end": 6398,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 8
                          },
                          "end": {
                            "line": 197,
                            "column": 59
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 6353,
                          "end": 6398,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 14
                            },
                            "end": {
                              "line": 197,
                              "column": 59
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6353,
                            "end": 6377,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 14
                              },
                              "end": {
                                "line": 197,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6353,
                              "end": 6366,
                              "loc": {
                                "start": {
                                  "line": 197,
                                  "column": 14
                                },
                                "end": {
                                  "line": 197,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6353,
                                "end": 6357,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6358,
                                "end": 6366,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 27
                                  }
                                },
                                "name": "sketcher"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6367,
                              "end": 6377,
                              "loc": {
                                "start": {
                                  "line": 197,
                                  "column": 28
                                },
                                "end": {
                                  "line": 197,
                                  "column": 38
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "LogicalExpression",
                              "start": 6378,
                              "end": 6397,
                              "loc": {
                                "start": {
                                  "line": 197,
                                  "column": 39
                                },
                                "end": {
                                  "line": 197,
                                  "column": 58
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6378,
                                "end": 6386,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 47
                                  }
                                },
                                "name": "toolName"
                              },
                              "operator": "||",
                              "right": {
                                "type": "Literal",
                                "start": 6390,
                                "end": 6397,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 58
                                  }
                                },
                                "value": "empty",
                                "rawValue": "empty",
                                "raw": "'empty'"
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "emulating sketcher global buttons (tools, handlers, etc)",
                  "start": 6247,
                  "end": 6305,
                  "loc": {
                    "start": {
                      "line": 195,
                      "column": 4
                    },
                    "end": {
                      "line": 195,
                      "column": 62
                    }
                  },
                  "range": [
                    6247,
                    6305
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 6410,
              "end": 6490,
              "loc": {
                "start": {
                  "line": 199,
                  "column": 4
                },
                "end": {
                  "line": 201,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6416,
                "end": 6432,
                "loc": {
                  "start": {
                    "line": 199,
                    "column": 10
                  },
                  "end": {
                    "line": 199,
                    "column": 26
                  }
                },
                "name": "solveConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6432,
                "end": 6490,
                "loc": {
                  "start": {
                    "line": 199,
                    "column": 26
                  },
                  "end": {
                    "line": 201,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 6435,
                  "end": 6490,
                  "loc": {
                    "start": {
                      "line": 199,
                      "column": 29
                    },
                    "end": {
                      "line": 201,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 6445,
                      "end": 6484,
                      "loc": {
                        "start": {
                          "line": 200,
                          "column": 8
                        },
                        "end": {
                          "line": 200,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 6445,
                        "end": 6483,
                        "loc": {
                          "start": {
                            "line": 200,
                            "column": 8
                          },
                          "end": {
                            "line": 200,
                            "column": 46
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 6451,
                          "end": 6483,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 14
                            },
                            "end": {
                              "line": 200,
                              "column": 46
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6451,
                            "end": 6481,
                            "loc": {
                              "start": {
                                "line": 200,
                                "column": 14
                              },
                              "end": {
                                "line": 200,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6451,
                              "end": 6464,
                              "loc": {
                                "start": {
                                  "line": 200,
                                  "column": 14
                                },
                                "end": {
                                  "line": 200,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6451,
                                "end": 6455,
                                "loc": {
                                  "start": {
                                    "line": 200,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 200,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6456,
                                "end": 6464,
                                "loc": {
                                  "start": {
                                    "line": 200,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 200,
                                    "column": 27
                                  }
                                },
                                "name": "sketcher"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6465,
                              "end": 6481,
                              "loc": {
                                "start": {
                                  "line": 200,
                                  "column": 28
                                },
                                "end": {
                                  "line": 200,
                                  "column": 44
                                }
                              },
                              "name": "solveConstraints"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 6495,
              "end": 6589,
              "loc": {
                "start": {
                  "line": 202,
                  "column": 4
                },
                "end": {
                  "line": 204,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6501,
                "end": 6520,
                "loc": {
                  "start": {
                    "line": 202,
                    "column": 10
                  },
                  "end": {
                    "line": 202,
                    "column": 29
                  }
                },
                "name": "setIncrementalSolve"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6520,
                "end": 6589,
                "loc": {
                  "start": {
                    "line": 202,
                    "column": 29
                  },
                  "end": {
                    "line": 204,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6521,
                    "end": 6525,
                    "loc": {
                      "start": {
                        "line": 202,
                        "column": 30
                      },
                      "end": {
                        "line": 202,
                        "column": 34
                      }
                    },
                    "name": "flag"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6527,
                  "end": 6589,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 36
                    },
                    "end": {
                      "line": 204,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 6537,
                      "end": 6583,
                      "loc": {
                        "start": {
                          "line": 203,
                          "column": 8
                        },
                        "end": {
                          "line": 203,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 6537,
                        "end": 6582,
                        "loc": {
                          "start": {
                            "line": 203,
                            "column": 8
                          },
                          "end": {
                            "line": 203,
                            "column": 53
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 6543,
                          "end": 6582,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 14
                            },
                            "end": {
                              "line": 203,
                              "column": 53
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6543,
                            "end": 6576,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 14
                              },
                              "end": {
                                "line": 203,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6543,
                              "end": 6556,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 14
                                },
                                "end": {
                                  "line": 203,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6543,
                                "end": 6547,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6548,
                                "end": 6556,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 27
                                  }
                                },
                                "name": "sketcher"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6557,
                              "end": 6576,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 28
                                },
                                "end": {
                                  "line": 203,
                                  "column": 47
                                }
                              },
                              "name": "setIncrementalLevel"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 6577,
                              "end": 6581,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 48
                                },
                                "end": {
                                  "line": 203,
                                  "column": 52
                                }
                              },
                              "name": "flag"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 6594,
              "end": 6694,
              "loc": {
                "start": {
                  "line": 205,
                  "column": 4
                },
                "end": {
                  "line": 207,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6600,
                "end": 6628,
                "loc": {
                  "start": {
                    "line": 205,
                    "column": 10
                  },
                  "end": {
                    "line": 205,
                    "column": 38
                  }
                },
                "name": "setIncrementalAutoconstraint"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6628,
                "end": 6694,
                "loc": {
                  "start": {
                    "line": 205,
                    "column": 38
                  },
                  "end": {
                    "line": 207,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6629,
                    "end": 6633,
                    "loc": {
                      "start": {
                        "line": 205,
                        "column": 39
                      },
                      "end": {
                        "line": 205,
                        "column": 43
                      }
                    },
                    "name": "flag"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6635,
                  "end": 6694,
                  "loc": {
                    "start": {
                      "line": 205,
                      "column": 45
                    },
                    "end": {
                      "line": 207,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 6645,
                      "end": 6688,
                      "loc": {
                        "start": {
                          "line": 206,
                          "column": 8
                        },
                        "end": {
                          "line": 206,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6645,
                        "end": 6687,
                        "loc": {
                          "start": {
                            "line": 206,
                            "column": 8
                          },
                          "end": {
                            "line": 206,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6645,
                          "end": 6680,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 8
                            },
                            "end": {
                              "line": 206,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6645,
                            "end": 6654,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 8
                              },
                              "end": {
                                "line": 206,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6645,
                              "end": 6649,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 8
                                },
                                "end": {
                                  "line": 206,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6650,
                              "end": 6654,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 13
                                },
                                "end": {
                                  "line": 206,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6655,
                            "end": 6680,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 18
                              },
                              "end": {
                                "line": 206,
                                "column": 43
                              }
                            },
                            "name": "autoconstraintIncremental"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 6683,
                          "end": 6687,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 46
                            },
                            "end": {
                              "line": 206,
                              "column": 50
                            }
                          },
                          "name": "flag"
                        }
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "tracking which objects were added/removed during lambda execution",
                  "start": 6700,
                  "end": 6767,
                  "loc": {
                    "start": {
                      "line": 209,
                      "column": 4
                    },
                    "end": {
                      "line": 209,
                      "column": 71
                    }
                  },
                  "range": [
                    6700,
                    6767
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 6772,
              "end": 7080,
              "loc": {
                "start": {
                  "line": 210,
                  "column": 4
                },
                "end": {
                  "line": 219,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6778,
                "end": 6786,
                "loc": {
                  "start": {
                    "line": 210,
                    "column": 10
                  },
                  "end": {
                    "line": 210,
                    "column": 18
                  }
                },
                "name": "trackAny"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6786,
                "end": 7080,
                "loc": {
                  "start": {
                    "line": 210,
                    "column": 18
                  },
                  "end": {
                    "line": 219,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6787,
                    "end": 6793,
                    "loc": {
                      "start": {
                        "line": 210,
                        "column": 19
                      },
                      "end": {
                        "line": 210,
                        "column": 25
                      }
                    },
                    "name": "lambda"
                  },
                  {
                    "type": "Identifier",
                    "start": 6795,
                    "end": 6801,
                    "loc": {
                      "start": {
                        "line": 210,
                        "column": 27
                      },
                      "end": {
                        "line": 210,
                        "column": 33
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6803,
                  "end": 7080,
                  "loc": {
                    "start": {
                      "line": 210,
                      "column": 35
                    },
                    "end": {
                      "line": 219,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 6813,
                      "end": 6875,
                      "loc": {
                        "start": {
                          "line": 211,
                          "column": 8
                        },
                        "end": {
                          "line": 212,
                          "column": 49
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 6817,
                        "end": 6824,
                        "loc": {
                          "start": {
                            "line": 211,
                            "column": 12
                          },
                          "end": {
                            "line": 211,
                            "column": 19
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 6818,
                          "end": 6824,
                          "loc": {
                            "start": {
                              "line": 211,
                              "column": 13
                            },
                            "end": {
                              "line": 211,
                              "column": 19
                            }
                          },
                          "name": "sketch"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 6838,
                        "end": 6875,
                        "loc": {
                          "start": {
                            "line": 212,
                            "column": 12
                          },
                          "end": {
                            "line": 212,
                            "column": 49
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 6838,
                          "end": 6874,
                          "loc": {
                            "start": {
                              "line": 212,
                              "column": 12
                            },
                            "end": {
                              "line": 212,
                              "column": 48
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 6838,
                            "end": 6844,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 12
                              },
                              "end": {
                                "line": 212,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 6847,
                            "end": 6874,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 21
                              },
                              "end": {
                                "line": 212,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6847,
                              "end": 6860,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 21
                                },
                                "end": {
                                  "line": 212,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6847,
                                "end": 6851,
                                "loc": {
                                  "start": {
                                    "line": 212,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6852,
                                "end": 6860,
                                "loc": {
                                  "start": {
                                    "line": 212,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 34
                                  }
                                },
                                "name": "sketcher"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6861,
                              "end": 6874,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 35
                                },
                                "end": {
                                  "line": 212,
                                  "column": 48
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 6884,
                      "end": 6927,
                      "loc": {
                        "start": {
                          "line": 213,
                          "column": 8
                        },
                        "end": {
                          "line": 213,
                          "column": 51
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6888,
                          "end": 6926,
                          "loc": {
                            "start": {
                              "line": 213,
                              "column": 12
                            },
                            "end": {
                              "line": 213,
                              "column": 50
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6888,
                            "end": 6895,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 12
                              },
                              "end": {
                                "line": 213,
                                "column": 19
                              }
                            },
                            "name": "tracker"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 6898,
                            "end": 6926,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 22
                              },
                              "end": {
                                "line": 213,
                                "column": 50
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 6902,
                              "end": 6918,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 26
                                },
                                "end": {
                                  "line": 213,
                                  "column": 42
                                }
                              },
                              "name": "AddRemoveTracker"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6919,
                                "end": 6925,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 49
                                  }
                                },
                                "name": "sketch"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6936,
                      "end": 6953,
                      "loc": {
                        "start": {
                          "line": 214,
                          "column": 8
                        },
                        "end": {
                          "line": 214,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6936,
                        "end": 6952,
                        "loc": {
                          "start": {
                            "line": 214,
                            "column": 8
                          },
                          "end": {
                            "line": 214,
                            "column": 24
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6936,
                          "end": 6950,
                          "loc": {
                            "start": {
                              "line": 214,
                              "column": 8
                            },
                            "end": {
                              "line": 214,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6936,
                            "end": 6943,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 8
                              },
                              "end": {
                                "line": 214,
                                "column": 15
                              }
                            },
                            "name": "tracker"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6944,
                            "end": 6950,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 16
                              },
                              "end": {
                                "line": 214,
                                "column": 22
                              }
                            },
                            "name": "listen"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6962,
                      "end": 6977,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 8
                        },
                        "end": {
                          "line": 215,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 6962,
                        "end": 6976,
                        "loc": {
                          "start": {
                            "line": 215,
                            "column": 8
                          },
                          "end": {
                            "line": 215,
                            "column": 22
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 6968,
                          "end": 6976,
                          "loc": {
                            "start": {
                              "line": 215,
                              "column": 14
                            },
                            "end": {
                              "line": 215,
                              "column": 22
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 6968,
                            "end": 6974,
                            "loc": {
                              "start": {
                                "line": 215,
                                "column": 14
                              },
                              "end": {
                                "line": 215,
                                "column": 20
                              }
                            },
                            "name": "lambda"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6986,
                      "end": 7003,
                      "loc": {
                        "start": {
                          "line": 216,
                          "column": 8
                        },
                        "end": {
                          "line": 216,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6986,
                        "end": 7002,
                        "loc": {
                          "start": {
                            "line": 216,
                            "column": 8
                          },
                          "end": {
                            "line": 216,
                            "column": 24
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6986,
                          "end": 7000,
                          "loc": {
                            "start": {
                              "line": 216,
                              "column": 8
                            },
                            "end": {
                              "line": 216,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6986,
                            "end": 6993,
                            "loc": {
                              "start": {
                                "line": 216,
                                "column": 8
                              },
                              "end": {
                                "line": 216,
                                "column": 15
                              }
                            },
                            "name": "tracker"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6994,
                            "end": 7000,
                            "loc": {
                              "start": {
                                "line": 216,
                                "column": 16
                              },
                              "end": {
                                "line": 216,
                                "column": 22
                              }
                            },
                            "name": "ignore"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7012,
                      "end": 7050,
                      "loc": {
                        "start": {
                          "line": 217,
                          "column": 8
                        },
                        "end": {
                          "line": 217,
                          "column": 46
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7016,
                          "end": 7049,
                          "loc": {
                            "start": {
                              "line": 217,
                              "column": 12
                            },
                            "end": {
                              "line": 217,
                              "column": 45
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7016,
                            "end": 7023,
                            "loc": {
                              "start": {
                                "line": 217,
                                "column": 12
                              },
                              "end": {
                                "line": 217,
                                "column": 19
                              }
                            },
                            "name": "changes"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 7026,
                            "end": 7049,
                            "loc": {
                              "start": {
                                "line": 217,
                                "column": 22
                              },
                              "end": {
                                "line": 217,
                                "column": 45
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7026,
                              "end": 7047,
                              "loc": {
                                "start": {
                                  "line": 217,
                                  "column": 22
                                },
                                "end": {
                                  "line": 217,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7026,
                                "end": 7033,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 29
                                  }
                                },
                                "name": "tracker"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7034,
                                "end": 7047,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 43
                                  }
                                },
                                "name": "getAllChanges"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 7059,
                      "end": 7074,
                      "loc": {
                        "start": {
                          "line": 218,
                          "column": 8
                        },
                        "end": {
                          "line": 218,
                          "column": 23
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 7066,
                        "end": 7073,
                        "loc": {
                          "start": {
                            "line": 218,
                            "column": 15
                          },
                          "end": {
                            "line": 218,
                            "column": 22
                          }
                        },
                        "name": "changes"
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "tracking which objects were added/removed during lambda execution",
                  "start": 6700,
                  "end": 6767,
                  "loc": {
                    "start": {
                      "line": 209,
                      "column": 4
                    },
                    "end": {
                      "line": 209,
                      "column": 71
                    }
                  },
                  "range": [
                    6700,
                    6767
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 7085,
              "end": 7309,
              "loc": {
                "start": {
                  "line": 220,
                  "column": 4
                },
                "end": {
                  "line": 224,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7091,
                "end": 7101,
                "loc": {
                  "start": {
                    "line": 220,
                    "column": 10
                  },
                  "end": {
                    "line": 220,
                    "column": 20
                  }
                },
                "name": "trackAdded"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7101,
                "end": 7309,
                "loc": {
                  "start": {
                    "line": 220,
                    "column": 20
                  },
                  "end": {
                    "line": 224,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7102,
                    "end": 7108,
                    "loc": {
                      "start": {
                        "line": 220,
                        "column": 21
                      },
                      "end": {
                        "line": 220,
                        "column": 27
                      }
                    },
                    "name": "lambda"
                  },
                  {
                    "type": "Identifier",
                    "start": 7110,
                    "end": 7116,
                    "loc": {
                      "start": {
                        "line": 220,
                        "column": 29
                      },
                      "end": {
                        "line": 220,
                        "column": 35
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7118,
                  "end": 7309,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 37
                    },
                    "end": {
                      "line": 224,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 7128,
                      "end": 7178,
                      "loc": {
                        "start": {
                          "line": 221,
                          "column": 8
                        },
                        "end": {
                          "line": 221,
                          "column": 58
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7132,
                          "end": 7177,
                          "loc": {
                            "start": {
                              "line": 221,
                              "column": 12
                            },
                            "end": {
                              "line": 221,
                              "column": 57
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7132,
                            "end": 7139,
                            "loc": {
                              "start": {
                                "line": 221,
                                "column": 12
                              },
                              "end": {
                                "line": 221,
                                "column": 19
                              }
                            },
                            "name": "changes"
                          },
                          "init": {
                            "type": "AwaitExpression",
                            "start": 7142,
                            "end": 7177,
                            "loc": {
                              "start": {
                                "line": 221,
                                "column": 22
                              },
                              "end": {
                                "line": 221,
                                "column": 57
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 7148,
                              "end": 7177,
                              "loc": {
                                "start": {
                                  "line": 221,
                                  "column": 28
                                },
                                "end": {
                                  "line": 221,
                                  "column": 57
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7148,
                                "end": 7161,
                                "loc": {
                                  "start": {
                                    "line": 221,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 221,
                                    "column": 41
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 7148,
                                  "end": 7152,
                                  "loc": {
                                    "start": {
                                      "line": 221,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 221,
                                      "column": 32
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7153,
                                  "end": 7161,
                                  "loc": {
                                    "start": {
                                      "line": 221,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 221,
                                      "column": 41
                                    }
                                  },
                                  "name": "trackAny"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 7162,
                                  "end": 7168,
                                  "loc": {
                                    "start": {
                                      "line": 221,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 221,
                                      "column": 48
                                    }
                                  },
                                  "name": "lambda"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7170,
                                  "end": 7176,
                                  "loc": {
                                    "start": {
                                      "line": 221,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 221,
                                      "column": 56
                                    }
                                  },
                                  "name": "sketch"
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7187,
                      "end": 7255,
                      "loc": {
                        "start": {
                          "line": 222,
                          "column": 8
                        },
                        "end": {
                          "line": 222,
                          "column": 76
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7187,
                        "end": 7254,
                        "loc": {
                          "start": {
                            "line": 222,
                            "column": 8
                          },
                          "end": {
                            "line": 222,
                            "column": 75
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 7187,
                          "end": 7192,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 8
                            },
                            "end": {
                              "line": 222,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 7193,
                            "end": 7221,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 14
                              },
                              "end": {
                                "line": 222,
                                "column": 42
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 7193,
                              "end": 7215,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 14
                                },
                                "end": {
                                  "line": 222,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 7193,
                                "end": 7208,
                                "loc": {
                                  "start": {
                                    "line": 222,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 222,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7193,
                                  "end": 7200,
                                  "loc": {
                                    "start": {
                                      "line": 222,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 222,
                                      "column": 21
                                    }
                                  },
                                  "name": "changes"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7201,
                                  "end": 7208,
                                  "loc": {
                                    "start": {
                                      "line": 222,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 222,
                                      "column": 29
                                    }
                                  },
                                  "name": "removed"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7209,
                                "end": 7215,
                                "loc": {
                                  "start": {
                                    "line": 222,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 222,
                                    "column": 36
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "operator": "===",
                            "right": {
                              "type": "Literal",
                              "start": 7220,
                              "end": 7221,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 41
                                },
                                "end": {
                                  "line": 222,
                                  "column": 42
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 7223,
                            "end": 7253,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 44
                              },
                              "end": {
                                "line": 222,
                                "column": 74
                              }
                            },
                            "value": "Element removed unexpectedly",
                            "rawValue": "Element removed unexpectedly",
                            "raw": "\"Element removed unexpectedly\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 7264,
                      "end": 7303,
                      "loc": {
                        "start": {
                          "line": 223,
                          "column": 8
                        },
                        "end": {
                          "line": 223,
                          "column": 47
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 7271,
                        "end": 7302,
                        "loc": {
                          "start": {
                            "line": 223,
                            "column": 15
                          },
                          "end": {
                            "line": 223,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 7275,
                          "end": 7287,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 19
                            },
                            "end": {
                              "line": 223,
                              "column": 31
                            }
                          },
                          "name": "ChangesArray"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 7288,
                            "end": 7301,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 32
                              },
                              "end": {
                                "line": 223,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7288,
                              "end": 7295,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 32
                                },
                                "end": {
                                  "line": 223,
                                  "column": 39
                                }
                              },
                              "name": "changes"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7296,
                              "end": 7301,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 40
                                },
                                "end": {
                                  "line": 223,
                                  "column": 45
                                }
                              },
                              "name": "added"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 7314,
              "end": 7538,
              "loc": {
                "start": {
                  "line": 225,
                  "column": 4
                },
                "end": {
                  "line": 229,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7320,
                "end": 7332,
                "loc": {
                  "start": {
                    "line": 225,
                    "column": 10
                  },
                  "end": {
                    "line": 225,
                    "column": 22
                  }
                },
                "name": "trackRemoved"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7332,
                "end": 7538,
                "loc": {
                  "start": {
                    "line": 225,
                    "column": 22
                  },
                  "end": {
                    "line": 229,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7333,
                    "end": 7339,
                    "loc": {
                      "start": {
                        "line": 225,
                        "column": 23
                      },
                      "end": {
                        "line": 225,
                        "column": 29
                      }
                    },
                    "name": "lambda"
                  },
                  {
                    "type": "Identifier",
                    "start": 7341,
                    "end": 7347,
                    "loc": {
                      "start": {
                        "line": 225,
                        "column": 31
                      },
                      "end": {
                        "line": 225,
                        "column": 37
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7349,
                  "end": 7538,
                  "loc": {
                    "start": {
                      "line": 225,
                      "column": 39
                    },
                    "end": {
                      "line": 229,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 7359,
                      "end": 7409,
                      "loc": {
                        "start": {
                          "line": 226,
                          "column": 8
                        },
                        "end": {
                          "line": 226,
                          "column": 58
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7363,
                          "end": 7408,
                          "loc": {
                            "start": {
                              "line": 226,
                              "column": 12
                            },
                            "end": {
                              "line": 226,
                              "column": 57
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7363,
                            "end": 7370,
                            "loc": {
                              "start": {
                                "line": 226,
                                "column": 12
                              },
                              "end": {
                                "line": 226,
                                "column": 19
                              }
                            },
                            "name": "changes"
                          },
                          "init": {
                            "type": "AwaitExpression",
                            "start": 7373,
                            "end": 7408,
                            "loc": {
                              "start": {
                                "line": 226,
                                "column": 22
                              },
                              "end": {
                                "line": 226,
                                "column": 57
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 7379,
                              "end": 7408,
                              "loc": {
                                "start": {
                                  "line": 226,
                                  "column": 28
                                },
                                "end": {
                                  "line": 226,
                                  "column": 57
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7379,
                                "end": 7392,
                                "loc": {
                                  "start": {
                                    "line": 226,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 226,
                                    "column": 41
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 7379,
                                  "end": 7383,
                                  "loc": {
                                    "start": {
                                      "line": 226,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 226,
                                      "column": 32
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7384,
                                  "end": 7392,
                                  "loc": {
                                    "start": {
                                      "line": 226,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 226,
                                      "column": 41
                                    }
                                  },
                                  "name": "trackAny"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 7393,
                                  "end": 7399,
                                  "loc": {
                                    "start": {
                                      "line": 226,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 226,
                                      "column": 48
                                    }
                                  },
                                  "name": "lambda"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7401,
                                  "end": 7407,
                                  "loc": {
                                    "start": {
                                      "line": 226,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 226,
                                      "column": 56
                                    }
                                  },
                                  "name": "sketch"
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7418,
                      "end": 7482,
                      "loc": {
                        "start": {
                          "line": 227,
                          "column": 8
                        },
                        "end": {
                          "line": 227,
                          "column": 72
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7418,
                        "end": 7481,
                        "loc": {
                          "start": {
                            "line": 227,
                            "column": 8
                          },
                          "end": {
                            "line": 227,
                            "column": 71
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 7418,
                          "end": 7423,
                          "loc": {
                            "start": {
                              "line": 227,
                              "column": 8
                            },
                            "end": {
                              "line": 227,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 7424,
                            "end": 7450,
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 14
                              },
                              "end": {
                                "line": 227,
                                "column": 40
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 7424,
                              "end": 7444,
                              "loc": {
                                "start": {
                                  "line": 227,
                                  "column": 14
                                },
                                "end": {
                                  "line": 227,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 7424,
                                "end": 7437,
                                "loc": {
                                  "start": {
                                    "line": 227,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 227,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7424,
                                  "end": 7431,
                                  "loc": {
                                    "start": {
                                      "line": 227,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 227,
                                      "column": 21
                                    }
                                  },
                                  "name": "changes"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7432,
                                  "end": 7437,
                                  "loc": {
                                    "start": {
                                      "line": 227,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 227,
                                      "column": 27
                                    }
                                  },
                                  "name": "added"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7438,
                                "end": 7444,
                                "loc": {
                                  "start": {
                                    "line": 227,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 227,
                                    "column": 34
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "operator": "===",
                            "right": {
                              "type": "Literal",
                              "start": 7449,
                              "end": 7450,
                              "loc": {
                                "start": {
                                  "line": 227,
                                  "column": 39
                                },
                                "end": {
                                  "line": 227,
                                  "column": 40
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 7452,
                            "end": 7480,
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 42
                              },
                              "end": {
                                "line": 227,
                                "column": 70
                              }
                            },
                            "value": "Element added unexpectedly",
                            "rawValue": "Element added unexpectedly",
                            "raw": "\"Element added unexpectedly\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 7491,
                      "end": 7532,
                      "loc": {
                        "start": {
                          "line": 228,
                          "column": 8
                        },
                        "end": {
                          "line": 228,
                          "column": 49
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 7498,
                        "end": 7531,
                        "loc": {
                          "start": {
                            "line": 228,
                            "column": 15
                          },
                          "end": {
                            "line": 228,
                            "column": 48
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 7502,
                          "end": 7514,
                          "loc": {
                            "start": {
                              "line": 228,
                              "column": 19
                            },
                            "end": {
                              "line": 228,
                              "column": 31
                            }
                          },
                          "name": "ChangesArray"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 7515,
                            "end": 7530,
                            "loc": {
                              "start": {
                                "line": 228,
                                "column": 32
                              },
                              "end": {
                                "line": 228,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7515,
                              "end": 7522,
                              "loc": {
                                "start": {
                                  "line": 228,
                                  "column": 32
                                },
                                "end": {
                                  "line": 228,
                                  "column": 39
                                }
                              },
                              "name": "changes"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7523,
                              "end": 7530,
                              "loc": {
                                "start": {
                                  "line": 228,
                                  "column": 40
                                },
                                "end": {
                                  "line": 228,
                                  "column": 47
                                }
                              },
                              "name": "removed"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "controlling mouse on the sketch area",
                  "start": 7544,
                  "end": 7582,
                  "loc": {
                    "start": {
                      "line": 231,
                      "column": 4
                    },
                    "end": {
                      "line": 231,
                      "column": 42
                    }
                  },
                  "range": [
                    7544,
                    7582
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 7587,
              "end": 7783,
              "loc": {
                "start": {
                  "line": 232,
                  "column": 4
                },
                "end": {
                  "line": 236,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7593,
                "end": 7605,
                "loc": {
                  "start": {
                    "line": 232,
                    "column": 10
                  },
                  "end": {
                    "line": 232,
                    "column": 22
                  }
                },
                "name": "_mouseMoveTo"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7605,
                "end": 7783,
                "loc": {
                  "start": {
                    "line": 232,
                    "column": 22
                  },
                  "end": {
                    "line": 236,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7606,
                    "end": 7614,
                    "loc": {
                      "start": {
                        "line": 232,
                        "column": 23
                      },
                      "end": {
                        "line": 232,
                        "column": 31
                      }
                    },
                    "name": "posLocal"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7616,
                  "end": 7783,
                  "loc": {
                    "start": {
                      "line": 232,
                      "column": 33
                    },
                    "end": {
                      "line": 236,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 7626,
                      "end": 7658,
                      "loc": {
                        "start": {
                          "line": 233,
                          "column": 8
                        },
                        "end": {
                          "line": 233,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 7626,
                        "end": 7657,
                        "loc": {
                          "start": {
                            "line": 233,
                            "column": 8
                          },
                          "end": {
                            "line": 233,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 7626,
                          "end": 7634,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 8
                            },
                            "end": {
                              "line": 233,
                              "column": 16
                            }
                          },
                          "name": "posLocal"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 7637,
                          "end": 7657,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 19
                            },
                            "end": {
                              "line": 233,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 7637,
                            "end": 7647,
                            "loc": {
                              "start": {
                                "line": 233,
                                "column": 19
                              },
                              "end": {
                                "line": 233,
                                "column": 29
                              }
                            },
                            "name": "convVector"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 7648,
                              "end": 7656,
                              "loc": {
                                "start": {
                                  "line": 233,
                                  "column": 30
                                },
                                "end": {
                                  "line": 233,
                                  "column": 38
                                }
                              },
                              "name": "posLocal"
                            }
                          ]
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "TODO: does it actually await?",
                          "start": 7667,
                          "end": 7698,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 8
                            },
                            "end": {
                              "line": 234,
                              "column": 39
                            }
                          },
                          "range": [
                            7667,
                            7698
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7707,
                      "end": 7777,
                      "loc": {
                        "start": {
                          "line": 235,
                          "column": 8
                        },
                        "end": {
                          "line": 235,
                          "column": 78
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 7707,
                        "end": 7776,
                        "loc": {
                          "start": {
                            "line": 235,
                            "column": 8
                          },
                          "end": {
                            "line": 235,
                            "column": 77
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 7713,
                          "end": 7776,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 14
                            },
                            "end": {
                              "line": 235,
                              "column": 77
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7713,
                            "end": 7752,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 14
                              },
                              "end": {
                                "line": 235,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7713,
                              "end": 7748,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 14
                                },
                                "end": {
                                  "line": 235,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 7713,
                                "end": 7731,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7713,
                                  "end": 7726,
                                  "loc": {
                                    "start": {
                                      "line": 235,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 235,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7713,
                                    "end": 7717,
                                    "loc": {
                                      "start": {
                                        "line": 235,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 235,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7718,
                                    "end": 7726,
                                    "loc": {
                                      "start": {
                                        "line": 235,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 235,
                                        "column": 27
                                      }
                                    },
                                    "name": "sketcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7727,
                                  "end": 7731,
                                  "loc": {
                                    "start": {
                                      "line": 235,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 235,
                                      "column": 32
                                    }
                                  },
                                  "name": "data"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7732,
                                "end": 7748,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 49
                                  }
                                },
                                "name": "interactionPoint"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7749,
                              "end": 7752,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 50
                                },
                                "end": {
                                  "line": 235,
                                  "column": 53
                                }
                              },
                              "name": "set"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 7753,
                              "end": 7763,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 54
                                },
                                "end": {
                                  "line": 235,
                                  "column": 64
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7753,
                                "end": 7761,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 62
                                  }
                                },
                                "name": "posLocal"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7762,
                                "end": 7763,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 64
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 7765,
                              "end": 7775,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 66
                                },
                                "end": {
                                  "line": 235,
                                  "column": 76
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7765,
                                "end": 7773,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 74
                                  }
                                },
                                "name": "posLocal"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7774,
                                "end": 7775,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 76
                                  }
                                },
                                "name": "y"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "TODO: does it actually await?",
                          "start": 7667,
                          "end": 7698,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 8
                            },
                            "end": {
                              "line": 234,
                              "column": 39
                            }
                          },
                          "range": [
                            7667,
                            7698
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "controlling mouse on the sketch area",
                  "start": 7544,
                  "end": 7582,
                  "loc": {
                    "start": {
                      "line": 231,
                      "column": 4
                    },
                    "end": {
                      "line": 231,
                      "column": 42
                    }
                  },
                  "range": [
                    7544,
                    7582
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 7788,
              "end": 7977,
              "loc": {
                "start": {
                  "line": 237,
                  "column": 4
                },
                "end": {
                  "line": 241,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7794,
                "end": 7805,
                "loc": {
                  "start": {
                    "line": 237,
                    "column": 10
                  },
                  "end": {
                    "line": 237,
                    "column": 21
                  }
                },
                "name": "mouseMoveTo"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7805,
                "end": 7977,
                "loc": {
                  "start": {
                    "line": 237,
                    "column": 21
                  },
                  "end": {
                    "line": 241,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7806,
                    "end": 7814,
                    "loc": {
                      "start": {
                        "line": 237,
                        "column": 22
                      },
                      "end": {
                        "line": 237,
                        "column": 30
                      }
                    },
                    "name": "posLocal"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7816,
                  "end": 7977,
                  "loc": {
                    "start": {
                      "line": 237,
                      "column": 32
                    },
                    "end": {
                      "line": 241,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 7826,
                      "end": 7901,
                      "loc": {
                        "start": {
                          "line": 238,
                          "column": 8
                        },
                        "end": {
                          "line": 238,
                          "column": 83
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7826,
                        "end": 7900,
                        "loc": {
                          "start": {
                            "line": 238,
                            "column": 8
                          },
                          "end": {
                            "line": 238,
                            "column": 82
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 7826,
                          "end": 7831,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 8
                            },
                            "end": {
                              "line": 238,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 7832,
                            "end": 7859,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 14
                              },
                              "end": {
                                "line": 238,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7832,
                              "end": 7845,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 14
                                },
                                "end": {
                                  "line": 238,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7832,
                                "end": 7836,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7837,
                                "end": 7845,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 27
                                  }
                                },
                                "name": "sketcher"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7846,
                              "end": 7859,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 28
                                },
                                "end": {
                                  "line": 238,
                                  "column": 41
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          {
                            "type": "Literal",
                            "start": 7861,
                            "end": 7899,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 43
                              },
                              "end": {
                                "line": 238,
                                "column": 81
                              }
                            },
                            "value": "Moving mouse without selected sketch",
                            "rawValue": "Moving mouse without selected sketch",
                            "raw": "\"Moving mouse without selected sketch\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7910,
                      "end": 7944,
                      "loc": {
                        "start": {
                          "line": 239,
                          "column": 8
                        },
                        "end": {
                          "line": 239,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 7910,
                        "end": 7943,
                        "loc": {
                          "start": {
                            "line": 239,
                            "column": 8
                          },
                          "end": {
                            "line": 239,
                            "column": 41
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 7916,
                          "end": 7943,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 14
                            },
                            "end": {
                              "line": 239,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7916,
                            "end": 7933,
                            "loc": {
                              "start": {
                                "line": 239,
                                "column": 14
                              },
                              "end": {
                                "line": 239,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7916,
                              "end": 7920,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 14
                                },
                                "end": {
                                  "line": 239,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7921,
                              "end": 7933,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 19
                                },
                                "end": {
                                  "line": 239,
                                  "column": 31
                                }
                              },
                              "name": "_mouseMoveTo"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 7934,
                              "end": 7942,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 32
                                },
                                "end": {
                                  "line": 239,
                                  "column": 40
                                }
                              },
                              "name": "posLocal"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7953,
                      "end": 7971,
                      "loc": {
                        "start": {
                          "line": 240,
                          "column": 8
                        },
                        "end": {
                          "line": 240,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 7953,
                        "end": 7970,
                        "loc": {
                          "start": {
                            "line": 240,
                            "column": 8
                          },
                          "end": {
                            "line": 240,
                            "column": 25
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 7959,
                          "end": 7970,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 14
                            },
                            "end": {
                              "line": 240,
                              "column": 25
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7959,
                            "end": 7968,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 14
                              },
                              "end": {
                                "line": 240,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7959,
                              "end": 7963,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 14
                                },
                                "end": {
                                  "line": 240,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7964,
                              "end": 7968,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 19
                                },
                                "end": {
                                  "line": 240,
                                  "column": 23
                                }
                              },
                              "name": "tick"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 7983,
              "end": 8259,
              "loc": {
                "start": {
                  "line": 242,
                  "column": 4
                },
                "end": {
                  "line": 247,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7989,
                "end": 8001,
                "loc": {
                  "start": {
                    "line": 242,
                    "column": 10
                  },
                  "end": {
                    "line": 242,
                    "column": 22
                  }
                },
                "name": "mouseClickAt"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8001,
                "end": 8259,
                "loc": {
                  "start": {
                    "line": 242,
                    "column": 22
                  },
                  "end": {
                    "line": 247,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8002,
                    "end": 8010,
                    "loc": {
                      "start": {
                        "line": 242,
                        "column": 23
                      },
                      "end": {
                        "line": 242,
                        "column": 31
                      }
                    },
                    "name": "posLocal"
                  },
                  {
                    "type": "Identifier",
                    "start": 8012,
                    "end": 8018,
                    "loc": {
                      "start": {
                        "line": 242,
                        "column": 33
                      },
                      "end": {
                        "line": 242,
                        "column": 39
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8020,
                  "end": 8259,
                  "loc": {
                    "start": {
                      "line": 242,
                      "column": 41
                    },
                    "end": {
                      "line": 247,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 8030,
                      "end": 8107,
                      "loc": {
                        "start": {
                          "line": 243,
                          "column": 8
                        },
                        "end": {
                          "line": 243,
                          "column": 85
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8030,
                        "end": 8106,
                        "loc": {
                          "start": {
                            "line": 243,
                            "column": 8
                          },
                          "end": {
                            "line": 243,
                            "column": 84
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 8030,
                          "end": 8035,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 8
                            },
                            "end": {
                              "line": 243,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 8036,
                            "end": 8063,
                            "loc": {
                              "start": {
                                "line": 243,
                                "column": 14
                              },
                              "end": {
                                "line": 243,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8036,
                              "end": 8049,
                              "loc": {
                                "start": {
                                  "line": 243,
                                  "column": 14
                                },
                                "end": {
                                  "line": 243,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8036,
                                "end": 8040,
                                "loc": {
                                  "start": {
                                    "line": 243,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 243,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8041,
                                "end": 8049,
                                "loc": {
                                  "start": {
                                    "line": 243,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 243,
                                    "column": 27
                                  }
                                },
                                "name": "sketcher"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8050,
                              "end": 8063,
                              "loc": {
                                "start": {
                                  "line": 243,
                                  "column": 28
                                },
                                "end": {
                                  "line": 243,
                                  "column": 41
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          {
                            "type": "Literal",
                            "start": 8065,
                            "end": 8105,
                            "loc": {
                              "start": {
                                "line": 243,
                                "column": 43
                              },
                              "end": {
                                "line": 243,
                                "column": 83
                              }
                            },
                            "value": "Clicking mouse without selected sketch",
                            "rawValue": "Clicking mouse without selected sketch",
                            "raw": "\"Clicking mouse without selected sketch\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8116,
                      "end": 8150,
                      "loc": {
                        "start": {
                          "line": 244,
                          "column": 8
                        },
                        "end": {
                          "line": 244,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 8116,
                        "end": 8149,
                        "loc": {
                          "start": {
                            "line": 244,
                            "column": 8
                          },
                          "end": {
                            "line": 244,
                            "column": 41
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 8122,
                          "end": 8149,
                          "loc": {
                            "start": {
                              "line": 244,
                              "column": 14
                            },
                            "end": {
                              "line": 244,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8122,
                            "end": 8139,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 14
                              },
                              "end": {
                                "line": 244,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8122,
                              "end": 8126,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 14
                                },
                                "end": {
                                  "line": 244,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8127,
                              "end": 8139,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 19
                                },
                                "end": {
                                  "line": 244,
                                  "column": 31
                                }
                              },
                              "name": "_mouseMoveTo"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 8140,
                              "end": 8148,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 32
                                },
                                "end": {
                                  "line": 244,
                                  "column": 40
                                }
                              },
                              "name": "posLocal"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8159,
                      "end": 8226,
                      "loc": {
                        "start": {
                          "line": 245,
                          "column": 8
                        },
                        "end": {
                          "line": 245,
                          "column": 75
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 8159,
                        "end": 8225,
                        "loc": {
                          "start": {
                            "line": 245,
                            "column": 8
                          },
                          "end": {
                            "line": 245,
                            "column": 74
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 8165,
                          "end": 8225,
                          "loc": {
                            "start": {
                              "line": 245,
                              "column": 14
                            },
                            "end": {
                              "line": 245,
                              "column": 74
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8165,
                            "end": 8196,
                            "loc": {
                              "start": {
                                "line": 245,
                                "column": 14
                              },
                              "end": {
                                "line": 245,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8165,
                              "end": 8178,
                              "loc": {
                                "start": {
                                  "line": 245,
                                  "column": 14
                                },
                                "end": {
                                  "line": 245,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8165,
                                "end": 8169,
                                "loc": {
                                  "start": {
                                    "line": 245,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 245,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8170,
                                "end": 8178,
                                "loc": {
                                  "start": {
                                    "line": 245,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 245,
                                    "column": 27
                                  }
                                },
                                "name": "sketcher"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8179,
                              "end": 8196,
                              "loc": {
                                "start": {
                                  "line": 245,
                                  "column": 28
                                },
                                "end": {
                                  "line": 245,
                                  "column": 45
                                }
                              },
                              "name": "sketchAreaClicked"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 8197,
                              "end": 8224,
                              "loc": {
                                "start": {
                                  "line": 245,
                                  "column": 46
                                },
                                "end": {
                                  "line": 245,
                                  "column": 73
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 8197,
                                "end": 8210,
                                "loc": {
                                  "start": {
                                    "line": 245,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 245,
                                    "column": 59
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 8197,
                                  "end": 8201,
                                  "loc": {
                                    "start": {
                                      "line": 245,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 245,
                                      "column": 50
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8202,
                                  "end": 8210,
                                  "loc": {
                                    "start": {
                                      "line": 245,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 245,
                                      "column": 59
                                    }
                                  },
                                  "name": "sketcher"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8211,
                                "end": 8224,
                                "loc": {
                                  "start": {
                                    "line": 245,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 245,
                                    "column": 73
                                  }
                                },
                                "name": "currentSketch"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8235,
                      "end": 8253,
                      "loc": {
                        "start": {
                          "line": 246,
                          "column": 8
                        },
                        "end": {
                          "line": 246,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 8235,
                        "end": 8252,
                        "loc": {
                          "start": {
                            "line": 246,
                            "column": 8
                          },
                          "end": {
                            "line": 246,
                            "column": 25
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 8241,
                          "end": 8252,
                          "loc": {
                            "start": {
                              "line": 246,
                              "column": 14
                            },
                            "end": {
                              "line": 246,
                              "column": 25
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8241,
                            "end": 8250,
                            "loc": {
                              "start": {
                                "line": 246,
                                "column": 14
                              },
                              "end": {
                                "line": 246,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8241,
                              "end": 8245,
                              "loc": {
                                "start": {
                                  "line": 246,
                                  "column": 14
                                },
                                "end": {
                                  "line": 246,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8246,
                              "end": 8250,
                              "loc": {
                                "start": {
                                  "line": 246,
                                  "column": 19
                                },
                                "end": {
                                  "line": 246,
                                  "column": 23
                                }
                              },
                              "name": "tick"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 8316,
              "end": 8849,
              "loc": {
                "start": {
                  "line": 250,
                  "column": 4
                },
                "end": {
                  "line": 257,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8322,
                "end": 8338,
                "loc": {
                  "start": {
                    "line": 250,
                    "column": 10
                  },
                  "end": {
                    "line": 250,
                    "column": 26
                  }
                },
                "name": "_interactionEmit"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8338,
                "end": 8849,
                "loc": {
                  "start": {
                    "line": 250,
                    "column": 26
                  },
                  "end": {
                    "line": 257,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8339,
                    "end": 8342,
                    "loc": {
                      "start": {
                        "line": 250,
                        "column": 27
                      },
                      "end": {
                        "line": 250,
                        "column": 30
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "Identifier",
                    "start": 8344,
                    "end": 8348,
                    "loc": {
                      "start": {
                        "line": 250,
                        "column": 32
                      },
                      "end": {
                        "line": 250,
                        "column": 36
                      }
                    },
                    "name": "type"
                  },
                  {
                    "type": "RestElement",
                    "start": 8350,
                    "end": 8357,
                    "loc": {
                      "start": {
                        "line": 250,
                        "column": 38
                      },
                      "end": {
                        "line": 250,
                        "column": 45
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 8353,
                      "end": 8357,
                      "loc": {
                        "start": {
                          "line": 250,
                          "column": 41
                        },
                        "end": {
                          "line": 250,
                          "column": 45
                        }
                      },
                      "name": "args"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8359,
                  "end": 8849,
                  "loc": {
                    "start": {
                      "line": 250,
                      "column": 47
                    },
                    "end": {
                      "line": 257,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 8369,
                      "end": 8455,
                      "loc": {
                        "start": {
                          "line": 251,
                          "column": 8
                        },
                        "end": {
                          "line": 251,
                          "column": 94
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8369,
                        "end": 8454,
                        "loc": {
                          "start": {
                            "line": 251,
                            "column": 8
                          },
                          "end": {
                            "line": 251,
                            "column": 93
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 8369,
                          "end": 8374,
                          "loc": {
                            "start": {
                              "line": 251,
                              "column": 8
                            },
                            "end": {
                              "line": 251,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 8375,
                            "end": 8398,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 14
                              },
                              "end": {
                                "line": 251,
                                "column": 37
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 8375,
                              "end": 8378,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 14
                                },
                                "end": {
                                  "line": 251,
                                  "column": 17
                                }
                              },
                              "name": "obj"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 8390,
                              "end": 8398,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 29
                                },
                                "end": {
                                  "line": 251,
                                  "column": 37
                                }
                              },
                              "name": "Object3D"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 8400,
                            "end": 8453,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 39
                              },
                              "end": {
                                "line": 251,
                                "column": 92
                              }
                            },
                            "value": "Interacting with something not being a THREE object",
                            "rawValue": "Interacting with something not being a THREE object",
                            "raw": "\"Interacting with something not being a THREE object\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 8464,
                      "end": 8535,
                      "loc": {
                        "start": {
                          "line": 252,
                          "column": 8
                        },
                        "end": {
                          "line": 253,
                          "column": 31
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 8468,
                        "end": 8502,
                        "loc": {
                          "start": {
                            "line": 252,
                            "column": 12
                          },
                          "end": {
                            "line": 252,
                            "column": 46
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 8468,
                          "end": 8480,
                          "loc": {
                            "start": {
                              "line": 252,
                              "column": 12
                            },
                            "end": {
                              "line": 252,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8468,
                            "end": 8471,
                            "loc": {
                              "start": {
                                "line": 252,
                                "column": 12
                              },
                              "end": {
                                "line": 252,
                                "column": 15
                              }
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8472,
                            "end": 8480,
                            "loc": {
                              "start": {
                                "line": 252,
                                "column": 16
                              },
                              "end": {
                                "line": 252,
                                "column": 24
                              }
                            },
                            "name": "interact"
                          },
                          "computed": false
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "MemberExpression",
                          "start": 8492,
                          "end": 8502,
                          "loc": {
                            "start": {
                              "line": 252,
                              "column": 36
                            },
                            "end": {
                              "line": 252,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8492,
                            "end": 8497,
                            "loc": {
                              "start": {
                                "line": 252,
                                "column": 36
                              },
                              "end": {
                                "line": 252,
                                "column": 41
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8498,
                            "end": 8502,
                            "loc": {
                              "start": {
                                "line": 252,
                                "column": 42
                              },
                              "end": {
                                "line": 252,
                                "column": 46
                              }
                            },
                            "name": "Mesh"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 8516,
                        "end": 8535,
                        "loc": {
                          "start": {
                            "line": 253,
                            "column": 12
                          },
                          "end": {
                            "line": 253,
                            "column": 31
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 8516,
                          "end": 8534,
                          "loc": {
                            "start": {
                              "line": 253,
                              "column": 12
                            },
                            "end": {
                              "line": 253,
                              "column": 30
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 8516,
                            "end": 8519,
                            "loc": {
                              "start": {
                                "line": 253,
                                "column": 12
                              },
                              "end": {
                                "line": 253,
                                "column": 15
                              }
                            },
                            "name": "obj"
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 8522,
                            "end": 8534,
                            "loc": {
                              "start": {
                                "line": 253,
                                "column": 18
                              },
                              "end": {
                                "line": 253,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8522,
                              "end": 8525,
                              "loc": {
                                "start": {
                                  "line": 253,
                                  "column": 18
                                },
                                "end": {
                                  "line": 253,
                                  "column": 21
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8526,
                              "end": 8534,
                              "loc": {
                                "start": {
                                  "line": 253,
                                  "column": 22
                                },
                                "end": {
                                  "line": 253,
                                  "column": 30
                                }
                              },
                              "name": "interact"
                            },
                            "computed": false
                          }
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "make things easier for sketch objects",
                          "start": 8537,
                          "end": 8576,
                          "loc": {
                            "start": {
                              "line": 253,
                              "column": 33
                            },
                            "end": {
                              "line": 253,
                              "column": 72
                            }
                          },
                          "range": [
                            8537,
                            8576
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8585,
                      "end": 8701,
                      "loc": {
                        "start": {
                          "line": 254,
                          "column": 8
                        },
                        "end": {
                          "line": 254,
                          "column": 124
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8585,
                        "end": 8700,
                        "loc": {
                          "start": {
                            "line": 254,
                            "column": 8
                          },
                          "end": {
                            "line": 254,
                            "column": 123
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 8585,
                          "end": 8590,
                          "loc": {
                            "start": {
                              "line": 254,
                              "column": 8
                            },
                            "end": {
                              "line": 254,
                              "column": 13
                            }
                          },
                          "name": "check",
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "LogicalExpression",
                            "start": 8591,
                            "end": 8631,
                            "loc": {
                              "start": {
                                "line": 254,
                                "column": 14
                              },
                              "end": {
                                "line": 254,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8591,
                              "end": 8606,
                              "loc": {
                                "start": {
                                  "line": 254,
                                  "column": 14
                                },
                                "end": {
                                  "line": 254,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8591,
                                "end": 8594,
                                "loc": {
                                  "start": {
                                    "line": 254,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 254,
                                    "column": 17
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8595,
                                "end": 8606,
                                "loc": {
                                  "start": {
                                    "line": 254,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 254,
                                    "column": 29
                                  }
                                },
                                "name": "interaction"
                              },
                              "computed": false
                            },
                            "operator": "&&",
                            "right": {
                              "type": "CallExpression",
                              "start": 8610,
                              "end": 8631,
                              "loc": {
                                "start": {
                                  "line": 254,
                                  "column": 33
                                },
                                "end": {
                                  "line": 254,
                                  "column": 54
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8610,
                                "end": 8625,
                                "loc": {
                                  "start": {
                                    "line": 254,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 254,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8610,
                                  "end": 8613,
                                  "loc": {
                                    "start": {
                                      "line": 254,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 254,
                                      "column": 36
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8614,
                                  "end": 8625,
                                  "loc": {
                                    "start": {
                                      "line": 254,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 254,
                                      "column": 48
                                    }
                                  },
                                  "name": "hasListener"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 8626,
                                  "end": 8630,
                                  "loc": {
                                    "start": {
                                      "line": 254,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 254,
                                      "column": 53
                                    }
                                  },
                                  "name": "type"
                                }
                              ]
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 8633,
                            "end": 8699,
                            "loc": {
                              "start": {
                                "line": 254,
                                "column": 56
                              },
                              "end": {
                                "line": 254,
                                "column": 122
                              }
                            },
                            "value": "Interacting with object without interaction or handler installed",
                            "rawValue": "Interacting with object without interaction or handler installed",
                            "raw": "\"Interacting with object without interaction or handler installed\""
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "make things easier for sketch objects",
                          "start": 8537,
                          "end": 8576,
                          "loc": {
                            "start": {
                              "line": 253,
                              "column": 33
                            },
                            "end": {
                              "line": 253,
                              "column": 72
                            }
                          },
                          "range": [
                            8537,
                            8576
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8710,
                      "end": 8804,
                      "loc": {
                        "start": {
                          "line": 255,
                          "column": 8
                        },
                        "end": {
                          "line": 255,
                          "column": 102
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8710,
                        "end": 8803,
                        "loc": {
                          "start": {
                            "line": 255,
                            "column": 8
                          },
                          "end": {
                            "line": 255,
                            "column": 101
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8710,
                          "end": 8731,
                          "loc": {
                            "start": {
                              "line": 255,
                              "column": 8
                            },
                            "end": {
                              "line": 255,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8710,
                            "end": 8713,
                            "loc": {
                              "start": {
                                "line": 255,
                                "column": 8
                              },
                              "end": {
                                "line": 255,
                                "column": 11
                              }
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8714,
                            "end": 8731,
                            "loc": {
                              "start": {
                                "line": 255,
                                "column": 12
                              },
                              "end": {
                                "line": 255,
                                "column": 29
                              }
                            },
                            "name": "traverseAncestors"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 8732,
                            "end": 8802,
                            "loc": {
                              "start": {
                                "line": 255,
                                "column": 30
                              },
                              "end": {
                                "line": 255,
                                "column": 100
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 8733,
                                "end": 8739,
                                "loc": {
                                  "start": {
                                    "line": 255,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 255,
                                    "column": 37
                                  }
                                },
                                "name": "parent"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 8744,
                              "end": 8802,
                              "loc": {
                                "start": {
                                  "line": 255,
                                  "column": 42
                                },
                                "end": {
                                  "line": 255,
                                  "column": 100
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 8744,
                                "end": 8749,
                                "loc": {
                                  "start": {
                                    "line": 255,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 255,
                                    "column": 47
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 8750,
                                  "end": 8764,
                                  "loc": {
                                    "start": {
                                      "line": 255,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 255,
                                      "column": 62
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8750,
                                    "end": 8756,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 54
                                      }
                                    },
                                    "name": "parent"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8757,
                                    "end": 8764,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 62
                                      }
                                    },
                                    "name": "visible"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "Literal",
                                  "start": 8766,
                                  "end": 8801,
                                  "loc": {
                                    "start": {
                                      "line": 255,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 255,
                                      "column": 99
                                    }
                                  },
                                  "value": "Interacting with invisible object",
                                  "rawValue": "Interacting with invisible object",
                                  "raw": "\"Interacting with invisible object\""
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8813,
                      "end": 8843,
                      "loc": {
                        "start": {
                          "line": 256,
                          "column": 8
                        },
                        "end": {
                          "line": 256,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 8813,
                        "end": 8842,
                        "loc": {
                          "start": {
                            "line": 256,
                            "column": 8
                          },
                          "end": {
                            "line": 256,
                            "column": 37
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 8819,
                          "end": 8842,
                          "loc": {
                            "start": {
                              "line": 256,
                              "column": 14
                            },
                            "end": {
                              "line": 256,
                              "column": 37
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8819,
                            "end": 8827,
                            "loc": {
                              "start": {
                                "line": 256,
                                "column": 14
                              },
                              "end": {
                                "line": 256,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8819,
                              "end": 8822,
                              "loc": {
                                "start": {
                                  "line": 256,
                                  "column": 14
                                },
                                "end": {
                                  "line": 256,
                                  "column": 17
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8823,
                              "end": 8827,
                              "loc": {
                                "start": {
                                  "line": 256,
                                  "column": 18
                                },
                                "end": {
                                  "line": 256,
                                  "column": 22
                                }
                              },
                              "name": "emit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 8828,
                              "end": 8832,
                              "loc": {
                                "start": {
                                  "line": 256,
                                  "column": 23
                                },
                                "end": {
                                  "line": 256,
                                  "column": 27
                                }
                              },
                              "name": "type"
                            },
                            {
                              "type": "SpreadElement",
                              "start": 8834,
                              "end": 8841,
                              "loc": {
                                "start": {
                                  "line": 256,
                                  "column": 29
                                },
                                "end": {
                                  "line": 256,
                                  "column": 36
                                }
                              },
                              "argument": {
                                "type": "Identifier",
                                "start": 8837,
                                "end": 8841,
                                "loc": {
                                  "start": {
                                    "line": 256,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 256,
                                    "column": 36
                                  }
                                },
                                "name": "args"
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "controlling mouse actions on sketch objects",
                  "start": 8266,
                  "end": 8311,
                  "loc": {
                    "start": {
                      "line": 249,
                      "column": 4
                    },
                    "end": {
                      "line": 249,
                      "column": 49
                    }
                  },
                  "range": [
                    8266,
                    8311
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8854,
              "end": 8990,
              "loc": {
                "start": {
                  "line": 258,
                  "column": 4
                },
                "end": {
                  "line": 261,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8860,
                "end": 8871,
                "loc": {
                  "start": {
                    "line": 258,
                    "column": 10
                  },
                  "end": {
                    "line": 258,
                    "column": 21
                  }
                },
                "name": "clickObject"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8871,
                "end": 8990,
                "loc": {
                  "start": {
                    "line": 258,
                    "column": 21
                  },
                  "end": {
                    "line": 261,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8872,
                    "end": 8875,
                    "loc": {
                      "start": {
                        "line": 258,
                        "column": 22
                      },
                      "end": {
                        "line": 258,
                        "column": 25
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8877,
                  "end": 8990,
                  "loc": {
                    "start": {
                      "line": 258,
                      "column": 27
                    },
                    "end": {
                      "line": 261,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 8887,
                      "end": 8957,
                      "loc": {
                        "start": {
                          "line": 259,
                          "column": 8
                        },
                        "end": {
                          "line": 259,
                          "column": 78
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 8887,
                        "end": 8956,
                        "loc": {
                          "start": {
                            "line": 259,
                            "column": 8
                          },
                          "end": {
                            "line": 259,
                            "column": 77
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 8893,
                          "end": 8956,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 14
                            },
                            "end": {
                              "line": 259,
                              "column": 77
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8893,
                            "end": 8914,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 14
                              },
                              "end": {
                                "line": 259,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8893,
                              "end": 8897,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 14
                                },
                                "end": {
                                  "line": 259,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8898,
                              "end": 8914,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 19
                                },
                                "end": {
                                  "line": 259,
                                  "column": 35
                                }
                              },
                              "name": "_interactionEmit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 8915,
                              "end": 8918,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 36
                                },
                                "end": {
                                  "line": 259,
                                  "column": 39
                                }
                              },
                              "name": "obj"
                            },
                            {
                              "type": "MemberExpression",
                              "start": 8920,
                              "end": 8955,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 41
                                },
                                "end": {
                                  "line": 259,
                                  "column": 76
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 8920,
                                "end": 8947,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 68
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 8920,
                                  "end": 8935,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 56
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8920,
                                    "end": 8928,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 49
                                      }
                                    },
                                    "name": "Object3D"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8929,
                                    "end": 8935,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 56
                                      }
                                    },
                                    "name": "Events"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8936,
                                  "end": 8947,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 68
                                    }
                                  },
                                  "name": "Interaction"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8948,
                                "end": 8955,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 76
                                  }
                                },
                                "name": "Clicked"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8966,
                      "end": 8984,
                      "loc": {
                        "start": {
                          "line": 260,
                          "column": 8
                        },
                        "end": {
                          "line": 260,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 8966,
                        "end": 8983,
                        "loc": {
                          "start": {
                            "line": 260,
                            "column": 8
                          },
                          "end": {
                            "line": 260,
                            "column": 25
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 8972,
                          "end": 8983,
                          "loc": {
                            "start": {
                              "line": 260,
                              "column": 14
                            },
                            "end": {
                              "line": 260,
                              "column": 25
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8972,
                            "end": 8981,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 14
                              },
                              "end": {
                                "line": 260,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8972,
                              "end": 8976,
                              "loc": {
                                "start": {
                                  "line": 260,
                                  "column": 14
                                },
                                "end": {
                                  "line": 260,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8977,
                              "end": 8981,
                              "loc": {
                                "start": {
                                  "line": 260,
                                  "column": 19
                                },
                                "end": {
                                  "line": 260,
                                  "column": 23
                                }
                              },
                              "name": "tick"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 8995,
              "end": 9500,
              "loc": {
                "start": {
                  "line": 262,
                  "column": 4
                },
                "end": {
                  "line": 273,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8995,
                "end": 9022,
                "loc": {
                  "start": {
                    "line": 262,
                    "column": 4
                  },
                  "end": {
                    "line": 262,
                    "column": 31
                  }
                },
                "name": "_dragPathRelativeToAbsolute"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9022,
                "end": 9500,
                "loc": {
                  "start": {
                    "line": 262,
                    "column": 31
                  },
                  "end": {
                    "line": 273,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9023,
                    "end": 9026,
                    "loc": {
                      "start": {
                        "line": 262,
                        "column": 32
                      },
                      "end": {
                        "line": 262,
                        "column": 35
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "Identifier",
                    "start": 9028,
                    "end": 9036,
                    "loc": {
                      "start": {
                        "line": 262,
                        "column": 37
                      },
                      "end": {
                        "line": 262,
                        "column": 45
                      }
                    },
                    "name": "posArray"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9038,
                  "end": 9500,
                  "loc": {
                    "start": {
                      "line": 262,
                      "column": 47
                    },
                    "end": {
                      "line": 273,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 9048,
                      "end": 9068,
                      "loc": {
                        "start": {
                          "line": 263,
                          "column": 8
                        },
                        "end": {
                          "line": 263,
                          "column": 28
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9052,
                          "end": 9067,
                          "loc": {
                            "start": {
                              "line": 263,
                              "column": 12
                            },
                            "end": {
                              "line": 263,
                              "column": 27
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9052,
                            "end": 9060,
                            "loc": {
                              "start": {
                                "line": 263,
                                "column": 12
                              },
                              "end": {
                                "line": 263,
                                "column": 20
                              }
                            },
                            "name": "keyPoint"
                          },
                          "init": {
                            "type": "Literal",
                            "start": 9063,
                            "end": 9067,
                            "loc": {
                              "start": {
                                "line": 263,
                                "column": 23
                              },
                              "end": {
                                "line": 263,
                                "column": 27
                              }
                            },
                            "value": null,
                            "rawValue": null,
                            "raw": "null"
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 9077,
                      "end": 9145,
                      "loc": {
                        "start": {
                          "line": 264,
                          "column": 8
                        },
                        "end": {
                          "line": 265,
                          "column": 36
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 9081,
                        "end": 9107,
                        "loc": {
                          "start": {
                            "line": 264,
                            "column": 12
                          },
                          "end": {
                            "line": 264,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 9081,
                          "end": 9084,
                          "loc": {
                            "start": {
                              "line": 264,
                              "column": 12
                            },
                            "end": {
                              "line": 264,
                              "column": 15
                            }
                          },
                          "name": "obj"
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "Identifier",
                          "start": 9096,
                          "end": 9107,
                          "loc": {
                            "start": {
                              "line": 264,
                              "column": 27
                            },
                            "end": {
                              "line": 264,
                              "column": 38
                            }
                          },
                          "name": "SketchPoint"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 9121,
                        "end": 9145,
                        "loc": {
                          "start": {
                            "line": 265,
                            "column": 12
                          },
                          "end": {
                            "line": 265,
                            "column": 36
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 9121,
                          "end": 9144,
                          "loc": {
                            "start": {
                              "line": 265,
                              "column": 12
                            },
                            "end": {
                              "line": 265,
                              "column": 35
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 9121,
                            "end": 9129,
                            "loc": {
                              "start": {
                                "line": 265,
                                "column": 12
                              },
                              "end": {
                                "line": 265,
                                "column": 20
                              }
                            },
                            "name": "keyPoint"
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 9132,
                            "end": 9144,
                            "loc": {
                              "start": {
                                "line": 265,
                                "column": 23
                              },
                              "end": {
                                "line": 265,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9132,
                              "end": 9135,
                              "loc": {
                                "start": {
                                  "line": 265,
                                  "column": 23
                                },
                                "end": {
                                  "line": 265,
                                  "column": 26
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9136,
                              "end": 9144,
                              "loc": {
                                "start": {
                                  "line": 265,
                                  "column": 27
                                },
                                "end": {
                                  "line": 265,
                                  "column": 35
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 9154,
                      "end": 9260,
                      "loc": {
                        "start": {
                          "line": 266,
                          "column": 8
                        },
                        "end": {
                          "line": 267,
                          "column": 47
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 9158,
                        "end": 9211,
                        "loc": {
                          "start": {
                            "line": 266,
                            "column": 12
                          },
                          "end": {
                            "line": 266,
                            "column": 65
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 9158,
                          "end": 9183,
                          "loc": {
                            "start": {
                              "line": 266,
                              "column": 12
                            },
                            "end": {
                              "line": 266,
                              "column": 37
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 9158,
                            "end": 9161,
                            "loc": {
                              "start": {
                                "line": 266,
                                "column": 12
                              },
                              "end": {
                                "line": 266,
                                "column": 15
                              }
                            },
                            "name": "obj"
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "Identifier",
                            "start": 9173,
                            "end": 9183,
                            "loc": {
                              "start": {
                                "line": 266,
                                "column": 27
                              },
                              "end": {
                                "line": 266,
                                "column": 37
                              }
                            },
                            "name": "SketchLine"
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 9187,
                          "end": 9211,
                          "loc": {
                            "start": {
                              "line": 266,
                              "column": 41
                            },
                            "end": {
                              "line": 266,
                              "column": 65
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 9187,
                            "end": 9190,
                            "loc": {
                              "start": {
                                "line": 266,
                                "column": 41
                              },
                              "end": {
                                "line": 266,
                                "column": 44
                              }
                            },
                            "name": "obj"
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "Identifier",
                            "start": 9202,
                            "end": 9211,
                            "loc": {
                              "start": {
                                "line": 266,
                                "column": 56
                              },
                              "end": {
                                "line": 266,
                                "column": 65
                              }
                            },
                            "name": "SketchArc"
                          }
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 9225,
                        "end": 9260,
                        "loc": {
                          "start": {
                            "line": 267,
                            "column": 12
                          },
                          "end": {
                            "line": 267,
                            "column": 47
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 9225,
                          "end": 9259,
                          "loc": {
                            "start": {
                              "line": 267,
                              "column": 12
                            },
                            "end": {
                              "line": 267,
                              "column": 46
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 9225,
                            "end": 9233,
                            "loc": {
                              "start": {
                                "line": 267,
                                "column": 12
                              },
                              "end": {
                                "line": 267,
                                "column": 20
                              }
                            },
                            "name": "keyPoint"
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 9236,
                            "end": 9259,
                            "loc": {
                              "start": {
                                "line": 267,
                                "column": 23
                              },
                              "end": {
                                "line": 267,
                                "column": 46
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9236,
                              "end": 9257,
                              "loc": {
                                "start": {
                                  "line": 267,
                                  "column": 23
                                },
                                "end": {
                                  "line": 267,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9236,
                                "end": 9239,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 26
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9240,
                                "end": 9257,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 44
                                  }
                                },
                                "name": "getMiddlePosition"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9269,
                      "end": 9341,
                      "loc": {
                        "start": {
                          "line": 268,
                          "column": 8
                        },
                        "end": {
                          "line": 268,
                          "column": 80
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9269,
                        "end": 9340,
                        "loc": {
                          "start": {
                            "line": 268,
                            "column": 8
                          },
                          "end": {
                            "line": 268,
                            "column": 79
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 9269,
                          "end": 9274,
                          "loc": {
                            "start": {
                              "line": 268,
                              "column": 8
                            },
                            "end": {
                              "line": 268,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 9275,
                            "end": 9283,
                            "loc": {
                              "start": {
                                "line": 268,
                                "column": 14
                              },
                              "end": {
                                "line": 268,
                                "column": 22
                              }
                            },
                            "name": "keyPoint"
                          },
                          {
                            "type": "Literal",
                            "start": 9285,
                            "end": 9339,
                            "loc": {
                              "start": {
                                "line": 268,
                                "column": 24
                              },
                              "end": {
                                "line": 268,
                                "column": 78
                              }
                            },
                            "value": "Cannot detect key point for relative object dragging",
                            "rawValue": "Cannot detect key point for relative object dragging",
                            "raw": "\"Cannot detect key point for relative object dragging\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9350,
                      "end": 9404,
                      "loc": {
                        "start": {
                          "line": 269,
                          "column": 8
                        },
                        "end": {
                          "line": 269,
                          "column": 62
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9350,
                        "end": 9403,
                        "loc": {
                          "start": {
                            "line": 269,
                            "column": 8
                          },
                          "end": {
                            "line": 269,
                            "column": 61
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 9350,
                          "end": 9358,
                          "loc": {
                            "start": {
                              "line": 269,
                              "column": 8
                            },
                            "end": {
                              "line": 269,
                              "column": 16
                            }
                          },
                          "name": "posArray"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 9361,
                          "end": 9403,
                          "loc": {
                            "start": {
                              "line": 269,
                              "column": 19
                            },
                            "end": {
                              "line": 269,
                              "column": 61
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9361,
                            "end": 9393,
                            "loc": {
                              "start": {
                                "line": 269,
                                "column": 19
                              },
                              "end": {
                                "line": 269,
                                "column": 51
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 9361,
                              "end": 9386,
                              "loc": {
                                "start": {
                                  "line": 269,
                                  "column": 19
                                },
                                "end": {
                                  "line": 269,
                                  "column": 44
                                }
                              },
                              "elements": [
                                {
                                  "type": "NewExpression",
                                  "start": 9362,
                                  "end": 9385,
                                  "loc": {
                                    "start": {
                                      "line": 269,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 269,
                                      "column": 43
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 9366,
                                    "end": 9379,
                                    "loc": {
                                      "start": {
                                        "line": 269,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 269,
                                        "column": 37
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9366,
                                      "end": 9371,
                                      "loc": {
                                        "start": {
                                          "line": 269,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 269,
                                          "column": 29
                                        }
                                      },
                                      "name": "THREE"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9372,
                                      "end": 9379,
                                      "loc": {
                                        "start": {
                                          "line": 269,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 269,
                                          "column": 37
                                        }
                                      },
                                      "name": "Vector2"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Literal",
                                      "start": 9380,
                                      "end": 9381,
                                      "loc": {
                                        "start": {
                                          "line": 269,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 269,
                                          "column": 39
                                        }
                                      },
                                      "value": 0,
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    {
                                      "type": "Literal",
                                      "start": 9383,
                                      "end": 9384,
                                      "loc": {
                                        "start": {
                                          "line": 269,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 269,
                                          "column": 42
                                        }
                                      },
                                      "value": 0,
                                      "rawValue": 0,
                                      "raw": "0"
                                    }
                                  ]
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9387,
                              "end": 9393,
                              "loc": {
                                "start": {
                                  "line": 269,
                                  "column": 45
                                },
                                "end": {
                                  "line": 269,
                                  "column": 51
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9394,
                              "end": 9402,
                              "loc": {
                                "start": {
                                  "line": 269,
                                  "column": 52
                                },
                                "end": {
                                  "line": 269,
                                  "column": 60
                                }
                              },
                              "name": "posArray"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 9413,
                      "end": 9469,
                      "loc": {
                        "start": {
                          "line": 270,
                          "column": 8
                        },
                        "end": {
                          "line": 271,
                          "column": 30
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 9418,
                        "end": 9425,
                        "loc": {
                          "start": {
                            "line": 270,
                            "column": 13
                          },
                          "end": {
                            "line": 270,
                            "column": 20
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 9422,
                            "end": 9425,
                            "loc": {
                              "start": {
                                "line": 270,
                                "column": 17
                              },
                              "end": {
                                "line": 270,
                                "column": 20
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9422,
                              "end": 9425,
                              "loc": {
                                "start": {
                                  "line": 270,
                                  "column": 17
                                },
                                "end": {
                                  "line": 270,
                                  "column": 20
                                }
                              },
                              "name": "pos"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 9429,
                        "end": 9437,
                        "loc": {
                          "start": {
                            "line": 270,
                            "column": 24
                          },
                          "end": {
                            "line": 270,
                            "column": 32
                          }
                        },
                        "name": "posArray"
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 9451,
                        "end": 9469,
                        "loc": {
                          "start": {
                            "line": 271,
                            "column": 12
                          },
                          "end": {
                            "line": 271,
                            "column": 30
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 9451,
                          "end": 9468,
                          "loc": {
                            "start": {
                              "line": 271,
                              "column": 12
                            },
                            "end": {
                              "line": 271,
                              "column": 29
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9451,
                            "end": 9458,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 12
                              },
                              "end": {
                                "line": 271,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9451,
                              "end": 9454,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 12
                                },
                                "end": {
                                  "line": 271,
                                  "column": 15
                                }
                              },
                              "name": "pos"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9455,
                              "end": 9458,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 16
                                },
                                "end": {
                                  "line": 271,
                                  "column": 19
                                }
                              },
                              "name": "add"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9459,
                              "end": 9467,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 20
                                },
                                "end": {
                                  "line": 271,
                                  "column": 28
                                }
                              },
                              "name": "keyPoint"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 9478,
                      "end": 9494,
                      "loc": {
                        "start": {
                          "line": 272,
                          "column": 8
                        },
                        "end": {
                          "line": 272,
                          "column": 24
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 9485,
                        "end": 9493,
                        "loc": {
                          "start": {
                            "line": 272,
                            "column": 15
                          },
                          "end": {
                            "line": 272,
                            "column": 23
                          }
                        },
                        "name": "posArray"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9505,
              "end": 10335,
              "loc": {
                "start": {
                  "line": 274,
                  "column": 4
                },
                "end": {
                  "line": 292,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9511,
                "end": 9521,
                "loc": {
                  "start": {
                    "line": 274,
                    "column": 10
                  },
                  "end": {
                    "line": 274,
                    "column": 20
                  }
                },
                "name": "dragObject"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9521,
                "end": 10335,
                "loc": {
                  "start": {
                    "line": 274,
                    "column": 20
                  },
                  "end": {
                    "line": 292,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9522,
                    "end": 9525,
                    "loc": {
                      "start": {
                        "line": 274,
                        "column": 21
                      },
                      "end": {
                        "line": 274,
                        "column": 24
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "Identifier",
                    "start": 9527,
                    "end": 9535,
                    "loc": {
                      "start": {
                        "line": 274,
                        "column": 26
                      },
                      "end": {
                        "line": 274,
                        "column": 34
                      }
                    },
                    "name": "posArray"
                  },
                  {
                    "type": "Identifier",
                    "start": 9537,
                    "end": 9545,
                    "loc": {
                      "start": {
                        "line": 274,
                        "column": 36
                      },
                      "end": {
                        "line": 274,
                        "column": 44
                      }
                    },
                    "name": "absolute"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9547,
                  "end": 10335,
                  "loc": {
                    "start": {
                      "line": 274,
                      "column": 46
                    },
                    "end": {
                      "line": 292,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 9557,
                      "end": 9594,
                      "loc": {
                        "start": {
                          "line": 275,
                          "column": 8
                        },
                        "end": {
                          "line": 275,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9557,
                        "end": 9593,
                        "loc": {
                          "start": {
                            "line": 275,
                            "column": 8
                          },
                          "end": {
                            "line": 275,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 9557,
                          "end": 9565,
                          "loc": {
                            "start": {
                              "line": 275,
                              "column": 8
                            },
                            "end": {
                              "line": 275,
                              "column": 16
                            }
                          },
                          "name": "posArray"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 9568,
                          "end": 9593,
                          "loc": {
                            "start": {
                              "line": 275,
                              "column": 19
                            },
                            "end": {
                              "line": 275,
                              "column": 44
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 9568,
                            "end": 9583,
                            "loc": {
                              "start": {
                                "line": 275,
                                "column": 19
                              },
                              "end": {
                                "line": 275,
                                "column": 34
                              }
                            },
                            "name": "convVectorArray"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9584,
                              "end": 9592,
                              "loc": {
                                "start": {
                                  "line": 275,
                                  "column": 35
                                },
                                "end": {
                                  "line": 275,
                                  "column": 43
                                }
                              },
                              "name": "posArray"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 9603,
                      "end": 9689,
                      "loc": {
                        "start": {
                          "line": 276,
                          "column": 8
                        },
                        "end": {
                          "line": 277,
                          "column": 71
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 9607,
                        "end": 9616,
                        "loc": {
                          "start": {
                            "line": 276,
                            "column": 12
                          },
                          "end": {
                            "line": 276,
                            "column": 21
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 9608,
                          "end": 9616,
                          "loc": {
                            "start": {
                              "line": 276,
                              "column": 13
                            },
                            "end": {
                              "line": 276,
                              "column": 21
                            }
                          },
                          "name": "absolute"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 9630,
                        "end": 9689,
                        "loc": {
                          "start": {
                            "line": 277,
                            "column": 12
                          },
                          "end": {
                            "line": 277,
                            "column": 71
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 9630,
                          "end": 9688,
                          "loc": {
                            "start": {
                              "line": 277,
                              "column": 12
                            },
                            "end": {
                              "line": 277,
                              "column": 70
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 9630,
                            "end": 9638,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 12
                              },
                              "end": {
                                "line": 277,
                                "column": 20
                              }
                            },
                            "name": "posArray"
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 9641,
                            "end": 9688,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 23
                              },
                              "end": {
                                "line": 277,
                                "column": 70
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9641,
                              "end": 9673,
                              "loc": {
                                "start": {
                                  "line": 277,
                                  "column": 23
                                },
                                "end": {
                                  "line": 277,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9641,
                                "end": 9645,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 27
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9646,
                                "end": 9673,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 55
                                  }
                                },
                                "name": "_dragPathRelativeToAbsolute"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 9674,
                                "end": 9677,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 59
                                  }
                                },
                                "name": "obj"
                              },
                              {
                                "type": "Identifier",
                                "start": 9679,
                                "end": 9687,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 69
                                  }
                                },
                                "name": "posArray"
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9698,
                      "end": 9776,
                      "loc": {
                        "start": {
                          "line": 278,
                          "column": 8
                        },
                        "end": {
                          "line": 278,
                          "column": 86
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9698,
                        "end": 9775,
                        "loc": {
                          "start": {
                            "line": 278,
                            "column": 8
                          },
                          "end": {
                            "line": 278,
                            "column": 85
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 9698,
                          "end": 9703,
                          "loc": {
                            "start": {
                              "line": 278,
                              "column": 8
                            },
                            "end": {
                              "line": 278,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 9704,
                            "end": 9724,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 14
                              },
                              "end": {
                                "line": 278,
                                "column": 34
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 9704,
                              "end": 9719,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 14
                                },
                                "end": {
                                  "line": 278,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9704,
                                "end": 9712,
                                "loc": {
                                  "start": {
                                    "line": 278,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 278,
                                    "column": 22
                                  }
                                },
                                "name": "posArray"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9713,
                                "end": 9719,
                                "loc": {
                                  "start": {
                                    "line": 278,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 278,
                                    "column": 29
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "operator": ">=",
                            "right": {
                              "type": "Literal",
                              "start": 9723,
                              "end": 9724,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 33
                                },
                                "end": {
                                  "line": 278,
                                  "column": 34
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 9726,
                            "end": 9774,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 36
                              },
                              "end": {
                                "line": 278,
                                "column": 84
                              }
                            },
                            "value": "Dragging object along less than two key points",
                            "rawValue": "Dragging object along less than two key points",
                            "raw": "\"Dragging object along less than two key points\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9786,
                      "end": 9817,
                      "loc": {
                        "start": {
                          "line": 280,
                          "column": 8
                        },
                        "end": {
                          "line": 280,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9786,
                        "end": 9816,
                        "loc": {
                          "start": {
                            "line": 280,
                            "column": 8
                          },
                          "end": {
                            "line": 280,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 9786,
                          "end": 9794,
                          "loc": {
                            "start": {
                              "line": 280,
                              "column": 8
                            },
                            "end": {
                              "line": 280,
                              "column": 16
                            }
                          },
                          "name": "posArray"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 9797,
                          "end": 9816,
                          "loc": {
                            "start": {
                              "line": 280,
                              "column": 19
                            },
                            "end": {
                              "line": 280,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9797,
                            "end": 9806,
                            "loc": {
                              "start": {
                                "line": 280,
                                "column": 19
                              },
                              "end": {
                                "line": 280,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 9797,
                              "end": 9799,
                              "loc": {
                                "start": {
                                  "line": 280,
                                  "column": 19
                                },
                                "end": {
                                  "line": 280,
                                  "column": 21
                                }
                              },
                              "elements": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9800,
                              "end": 9806,
                              "loc": {
                                "start": {
                                  "line": 280,
                                  "column": 22
                                },
                                "end": {
                                  "line": 280,
                                  "column": 28
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9807,
                              "end": 9815,
                              "loc": {
                                "start": {
                                  "line": 280,
                                  "column": 29
                                },
                                "end": {
                                  "line": 280,
                                  "column": 37
                                }
                              },
                              "name": "posArray"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9826,
                      "end": 10008,
                      "loc": {
                        "start": {
                          "line": 281,
                          "column": 8
                        },
                        "end": {
                          "line": 285,
                          "column": 9
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9830,
                          "end": 10008,
                          "loc": {
                            "start": {
                              "line": 281,
                              "column": 12
                            },
                            "end": {
                              "line": 285,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9830,
                            "end": 9844,
                            "loc": {
                              "start": {
                                "line": 281,
                                "column": 12
                              },
                              "end": {
                                "line": 281,
                                "column": 26
                              }
                            },
                            "name": "handleKeyPoint"
                          },
                          "init": {
                            "type": "ArrowFunctionExpression",
                            "start": 9847,
                            "end": 10008,
                            "loc": {
                              "start": {
                                "line": 281,
                                "column": 29
                              },
                              "end": {
                                "line": 285,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": true,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 9854,
                                "end": 9857,
                                "loc": {
                                  "start": {
                                    "line": 281,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 281,
                                    "column": 39
                                  }
                                },
                                "name": "pos"
                              },
                              {
                                "type": "Identifier",
                                "start": 9859,
                                "end": 9863,
                                "loc": {
                                  "start": {
                                    "line": 281,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 281,
                                    "column": 45
                                  }
                                },
                                "name": "type"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 9868,
                              "end": 10008,
                              "loc": {
                                "start": {
                                  "line": 281,
                                  "column": 50
                                },
                                "end": {
                                  "line": 285,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9882,
                                  "end": 9911,
                                  "loc": {
                                    "start": {
                                      "line": 282,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 282,
                                      "column": 41
                                    }
                                  },
                                  "expression": {
                                    "type": "AwaitExpression",
                                    "start": 9882,
                                    "end": 9910,
                                    "loc": {
                                      "start": {
                                        "line": 282,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 282,
                                        "column": 40
                                      }
                                    },
                                    "all": false,
                                    "argument": {
                                      "type": "CallExpression",
                                      "start": 9888,
                                      "end": 9910,
                                      "loc": {
                                        "start": {
                                          "line": 282,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 282,
                                          "column": 40
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 9888,
                                        "end": 9905,
                                        "loc": {
                                          "start": {
                                            "line": 282,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 282,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9888,
                                          "end": 9892,
                                          "loc": {
                                            "start": {
                                              "line": 282,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 282,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9893,
                                          "end": 9905,
                                          "loc": {
                                            "start": {
                                              "line": 282,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 282,
                                              "column": 35
                                            }
                                          },
                                          "name": "_mouseMoveTo"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 9906,
                                          "end": 9909,
                                          "loc": {
                                            "start": {
                                              "line": 282,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 282,
                                              "column": 39
                                            }
                                          },
                                          "name": "pos"
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9924,
                                  "end": 9967,
                                  "loc": {
                                    "start": {
                                      "line": 283,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 283,
                                      "column": 55
                                    }
                                  },
                                  "expression": {
                                    "type": "AwaitExpression",
                                    "start": 9924,
                                    "end": 9966,
                                    "loc": {
                                      "start": {
                                        "line": 283,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 283,
                                        "column": 54
                                      }
                                    },
                                    "all": false,
                                    "argument": {
                                      "type": "CallExpression",
                                      "start": 9930,
                                      "end": 9966,
                                      "loc": {
                                        "start": {
                                          "line": 283,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 283,
                                          "column": 54
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 9930,
                                        "end": 9951,
                                        "loc": {
                                          "start": {
                                            "line": 283,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 283,
                                            "column": 39
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9930,
                                          "end": 9934,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9935,
                                          "end": 9951,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 39
                                            }
                                          },
                                          "name": "_interactionEmit"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 9952,
                                          "end": 9955,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 43
                                            }
                                          },
                                          "name": "obj"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 9957,
                                          "end": 9961,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 49
                                            }
                                          },
                                          "name": "type"
                                        },
                                        {
                                          "type": "ObjectExpression",
                                          "start": 9963,
                                          "end": 9965,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 53
                                            }
                                          },
                                          "properties": []
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9980,
                                  "end": 9998,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 30
                                    }
                                  },
                                  "expression": {
                                    "type": "AwaitExpression",
                                    "start": 9980,
                                    "end": 9997,
                                    "loc": {
                                      "start": {
                                        "line": 284,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 284,
                                        "column": 29
                                      }
                                    },
                                    "all": false,
                                    "argument": {
                                      "type": "CallExpression",
                                      "start": 9986,
                                      "end": 9997,
                                      "loc": {
                                        "start": {
                                          "line": 284,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 284,
                                          "column": 29
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 9986,
                                        "end": 9995,
                                        "loc": {
                                          "start": {
                                            "line": 284,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 284,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9986,
                                          "end": 9990,
                                          "loc": {
                                            "start": {
                                              "line": 284,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 284,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9991,
                                          "end": 9995,
                                          "loc": {
                                            "start": {
                                              "line": 284,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 284,
                                              "column": 27
                                            }
                                          },
                                          "name": "tick"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10017,
                      "end": 10043,
                      "loc": {
                        "start": {
                          "line": 286,
                          "column": 8
                        },
                        "end": {
                          "line": 286,
                          "column": 34
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10021,
                          "end": 10042,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 12
                            },
                            "end": {
                              "line": 286,
                              "column": 33
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10021,
                            "end": 10024,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 12
                              },
                              "end": {
                                "line": 286,
                                "column": 15
                              }
                            },
                            "name": "len"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 10027,
                            "end": 10042,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 18
                              },
                              "end": {
                                "line": 286,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 10027,
                              "end": 10035,
                              "loc": {
                                "start": {
                                  "line": 286,
                                  "column": 18
                                },
                                "end": {
                                  "line": 286,
                                  "column": 26
                                }
                              },
                              "name": "posArray"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10036,
                              "end": 10042,
                              "loc": {
                                "start": {
                                  "line": 286,
                                  "column": 27
                                },
                                "end": {
                                  "line": 286,
                                  "column": 33
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10053,
                      "end": 10123,
                      "loc": {
                        "start": {
                          "line": 288,
                          "column": 8
                        },
                        "end": {
                          "line": 288,
                          "column": 78
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 10053,
                        "end": 10122,
                        "loc": {
                          "start": {
                            "line": 288,
                            "column": 8
                          },
                          "end": {
                            "line": 288,
                            "column": 77
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 10059,
                          "end": 10122,
                          "loc": {
                            "start": {
                              "line": 288,
                              "column": 14
                            },
                            "end": {
                              "line": 288,
                              "column": 77
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 10059,
                            "end": 10073,
                            "loc": {
                              "start": {
                                "line": 288,
                                "column": 14
                              },
                              "end": {
                                "line": 288,
                                "column": 28
                              }
                            },
                            "name": "handleKeyPoint"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 10074,
                              "end": 10085,
                              "loc": {
                                "start": {
                                  "line": 288,
                                  "column": 29
                                },
                                "end": {
                                  "line": 288,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10074,
                                "end": 10082,
                                "loc": {
                                  "start": {
                                    "line": 288,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 288,
                                    "column": 37
                                  }
                                },
                                "name": "posArray"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 10083,
                                "end": 10084,
                                "loc": {
                                  "start": {
                                    "line": 288,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 288,
                                    "column": 39
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            },
                            {
                              "type": "MemberExpression",
                              "start": 10087,
                              "end": 10121,
                              "loc": {
                                "start": {
                                  "line": 288,
                                  "column": 42
                                },
                                "end": {
                                  "line": 288,
                                  "column": 76
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 10087,
                                "end": 10114,
                                "loc": {
                                  "start": {
                                    "line": 288,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 288,
                                    "column": 69
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10087,
                                  "end": 10102,
                                  "loc": {
                                    "start": {
                                      "line": 288,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 288,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10087,
                                    "end": 10095,
                                    "loc": {
                                      "start": {
                                        "line": 288,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 288,
                                        "column": 50
                                      }
                                    },
                                    "name": "Object3D"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10096,
                                    "end": 10102,
                                    "loc": {
                                      "start": {
                                        "line": 288,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 288,
                                        "column": 57
                                      }
                                    },
                                    "name": "Events"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10103,
                                  "end": 10114,
                                  "loc": {
                                    "start": {
                                      "line": 288,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 288,
                                      "column": 69
                                    }
                                  },
                                  "name": "Interaction"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10115,
                                "end": 10121,
                                "loc": {
                                  "start": {
                                    "line": 288,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 288,
                                    "column": 76
                                  }
                                },
                                "name": "Picked"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ForStatement",
                      "start": 10132,
                      "end": 10245,
                      "loc": {
                        "start": {
                          "line": 289,
                          "column": 8
                        },
                        "end": {
                          "line": 290,
                          "column": 83
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 10137,
                        "end": 10146,
                        "loc": {
                          "start": {
                            "line": 289,
                            "column": 13
                          },
                          "end": {
                            "line": 289,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 10141,
                            "end": 10146,
                            "loc": {
                              "start": {
                                "line": 289,
                                "column": 17
                              },
                              "end": {
                                "line": 289,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 10141,
                              "end": 10142,
                              "loc": {
                                "start": {
                                  "line": 289,
                                  "column": 17
                                },
                                "end": {
                                  "line": 289,
                                  "column": 18
                                }
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "Literal",
                              "start": 10145,
                              "end": 10146,
                              "loc": {
                                "start": {
                                  "line": 289,
                                  "column": 21
                                },
                                "end": {
                                  "line": 289,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 10148,
                        "end": 10155,
                        "loc": {
                          "start": {
                            "line": 289,
                            "column": 24
                          },
                          "end": {
                            "line": 289,
                            "column": 31
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 10148,
                          "end": 10149,
                          "loc": {
                            "start": {
                              "line": 289,
                              "column": 24
                            },
                            "end": {
                              "line": 289,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "Identifier",
                          "start": 10152,
                          "end": 10155,
                          "loc": {
                            "start": {
                              "line": 289,
                              "column": 28
                            },
                            "end": {
                              "line": 289,
                              "column": 31
                            }
                          },
                          "name": "len"
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 10157,
                        "end": 10160,
                        "loc": {
                          "start": {
                            "line": 289,
                            "column": 33
                          },
                          "end": {
                            "line": 289,
                            "column": 36
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 10157,
                          "end": 10158,
                          "loc": {
                            "start": {
                              "line": 289,
                              "column": 33
                            },
                            "end": {
                              "line": 289,
                              "column": 34
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 10174,
                        "end": 10245,
                        "loc": {
                          "start": {
                            "line": 290,
                            "column": 12
                          },
                          "end": {
                            "line": 290,
                            "column": 83
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 10174,
                          "end": 10244,
                          "loc": {
                            "start": {
                              "line": 290,
                              "column": 12
                            },
                            "end": {
                              "line": 290,
                              "column": 82
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 10180,
                            "end": 10244,
                            "loc": {
                              "start": {
                                "line": 290,
                                "column": 18
                              },
                              "end": {
                                "line": 290,
                                "column": 82
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 10180,
                              "end": 10194,
                              "loc": {
                                "start": {
                                  "line": 290,
                                  "column": 18
                                },
                                "end": {
                                  "line": 290,
                                  "column": 32
                                }
                              },
                              "name": "handleKeyPoint"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 10195,
                                "end": 10206,
                                "loc": {
                                  "start": {
                                    "line": 290,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 290,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 10195,
                                  "end": 10203,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 41
                                    }
                                  },
                                  "name": "posArray"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10204,
                                  "end": 10205,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 43
                                    }
                                  },
                                  "name": "i"
                                },
                                "computed": true
                              },
                              {
                                "type": "MemberExpression",
                                "start": 10208,
                                "end": 10243,
                                "loc": {
                                  "start": {
                                    "line": 290,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 290,
                                    "column": 81
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10208,
                                  "end": 10235,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 73
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10208,
                                    "end": 10223,
                                    "loc": {
                                      "start": {
                                        "line": 290,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 290,
                                        "column": 61
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10208,
                                      "end": 10216,
                                      "loc": {
                                        "start": {
                                          "line": 290,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 290,
                                          "column": 54
                                        }
                                      },
                                      "name": "Object3D"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10217,
                                      "end": 10223,
                                      "loc": {
                                        "start": {
                                          "line": 290,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 290,
                                          "column": 61
                                        }
                                      },
                                      "name": "Events"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10224,
                                    "end": 10235,
                                    "loc": {
                                      "start": {
                                        "line": 290,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 290,
                                        "column": 73
                                      }
                                    },
                                    "name": "Interaction"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10236,
                                  "end": 10243,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 74
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 81
                                    }
                                  },
                                  "name": "Dragged"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10254,
                      "end": 10329,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 8
                        },
                        "end": {
                          "line": 291,
                          "column": 83
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 10254,
                        "end": 10328,
                        "loc": {
                          "start": {
                            "line": 291,
                            "column": 8
                          },
                          "end": {
                            "line": 291,
                            "column": 82
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 10260,
                          "end": 10328,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 14
                            },
                            "end": {
                              "line": 291,
                              "column": 82
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 10260,
                            "end": 10274,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 14
                              },
                              "end": {
                                "line": 291,
                                "column": 28
                              }
                            },
                            "name": "handleKeyPoint"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 10275,
                              "end": 10290,
                              "loc": {
                                "start": {
                                  "line": 291,
                                  "column": 29
                                },
                                "end": {
                                  "line": 291,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10275,
                                "end": 10283,
                                "loc": {
                                  "start": {
                                    "line": 291,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 37
                                  }
                                },
                                "name": "posArray"
                              },
                              "property": {
                                "type": "BinaryExpression",
                                "start": 10284,
                                "end": 10289,
                                "loc": {
                                  "start": {
                                    "line": 291,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 43
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 10284,
                                  "end": 10287,
                                  "loc": {
                                    "start": {
                                      "line": 291,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 41
                                    }
                                  },
                                  "name": "len"
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Literal",
                                  "start": 10288,
                                  "end": 10289,
                                  "loc": {
                                    "start": {
                                      "line": 291,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 43
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              "computed": true
                            },
                            {
                              "type": "MemberExpression",
                              "start": 10292,
                              "end": 10327,
                              "loc": {
                                "start": {
                                  "line": 291,
                                  "column": 46
                                },
                                "end": {
                                  "line": 291,
                                  "column": 81
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 10292,
                                "end": 10319,
                                "loc": {
                                  "start": {
                                    "line": 291,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 73
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10292,
                                  "end": 10307,
                                  "loc": {
                                    "start": {
                                      "line": 291,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 61
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10292,
                                    "end": 10300,
                                    "loc": {
                                      "start": {
                                        "line": 291,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 291,
                                        "column": 54
                                      }
                                    },
                                    "name": "Object3D"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10301,
                                    "end": 10307,
                                    "loc": {
                                      "start": {
                                        "line": 291,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 291,
                                        "column": 61
                                      }
                                    },
                                    "name": "Events"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10308,
                                  "end": 10319,
                                  "loc": {
                                    "start": {
                                      "line": 291,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 73
                                    }
                                  },
                                  "name": "Interaction"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10320,
                                "end": 10327,
                                "loc": {
                                  "start": {
                                    "line": 291,
                                    "column": 74
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 81
                                  }
                                },
                                "name": "Dropped"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 10340,
              "end": 10890,
              "loc": {
                "start": {
                  "line": 293,
                  "column": 4
                },
                "end": {
                  "line": 303,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10346,
                "end": 10361,
                "loc": {
                  "start": {
                    "line": 293,
                    "column": 10
                  },
                  "end": {
                    "line": 293,
                    "column": 25
                  }
                },
                "name": "dragSketchPoint"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10361,
                "end": 10890,
                "loc": {
                  "start": {
                    "line": 293,
                    "column": 25
                  },
                  "end": {
                    "line": 303,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 10362,
                    "end": 10365,
                    "loc": {
                      "start": {
                        "line": 293,
                        "column": 26
                      },
                      "end": {
                        "line": 293,
                        "column": 29
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "Identifier",
                    "start": 10367,
                    "end": 10375,
                    "loc": {
                      "start": {
                        "line": 293,
                        "column": 31
                      },
                      "end": {
                        "line": 293,
                        "column": 39
                      }
                    },
                    "name": "posArray"
                  },
                  {
                    "type": "Identifier",
                    "start": 10377,
                    "end": 10385,
                    "loc": {
                      "start": {
                        "line": 293,
                        "column": 41
                      },
                      "end": {
                        "line": 293,
                        "column": 49
                      }
                    },
                    "name": "absolute"
                  },
                  {
                    "type": "Identifier",
                    "start": 10387,
                    "end": 10393,
                    "loc": {
                      "start": {
                        "line": 293,
                        "column": 51
                      },
                      "end": {
                        "line": 293,
                        "column": 57
                      }
                    },
                    "name": "strict"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 10395,
                  "end": 10890,
                  "loc": {
                    "start": {
                      "line": 293,
                      "column": 59
                    },
                    "end": {
                      "line": 303,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 10405,
                      "end": 10442,
                      "loc": {
                        "start": {
                          "line": 294,
                          "column": 8
                        },
                        "end": {
                          "line": 294,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 10405,
                        "end": 10441,
                        "loc": {
                          "start": {
                            "line": 294,
                            "column": 8
                          },
                          "end": {
                            "line": 294,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 10405,
                          "end": 10413,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 8
                            },
                            "end": {
                              "line": 294,
                              "column": 16
                            }
                          },
                          "name": "posArray"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 10416,
                          "end": 10441,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 19
                            },
                            "end": {
                              "line": 294,
                              "column": 44
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 10416,
                            "end": 10431,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 19
                              },
                              "end": {
                                "line": 294,
                                "column": 34
                              }
                            },
                            "name": "convVectorArray"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 10432,
                              "end": 10440,
                              "loc": {
                                "start": {
                                  "line": 294,
                                  "column": 35
                                },
                                "end": {
                                  "line": 294,
                                  "column": 43
                                }
                              },
                              "name": "posArray"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10451,
                      "end": 10518,
                      "loc": {
                        "start": {
                          "line": 295,
                          "column": 8
                        },
                        "end": {
                          "line": 295,
                          "column": 75
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10451,
                        "end": 10517,
                        "loc": {
                          "start": {
                            "line": 295,
                            "column": 8
                          },
                          "end": {
                            "line": 295,
                            "column": 74
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 10451,
                          "end": 10456,
                          "loc": {
                            "start": {
                              "line": 295,
                              "column": 8
                            },
                            "end": {
                              "line": 295,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 10457,
                            "end": 10483,
                            "loc": {
                              "start": {
                                "line": 295,
                                "column": 14
                              },
                              "end": {
                                "line": 295,
                                "column": 40
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 10457,
                              "end": 10460,
                              "loc": {
                                "start": {
                                  "line": 295,
                                  "column": 14
                                },
                                "end": {
                                  "line": 295,
                                  "column": 17
                                }
                              },
                              "name": "obj"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 10472,
                              "end": 10483,
                              "loc": {
                                "start": {
                                  "line": 295,
                                  "column": 29
                                },
                                "end": {
                                  "line": 295,
                                  "column": 40
                                }
                              },
                              "name": "SketchPoint"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 10485,
                            "end": 10516,
                            "loc": {
                              "start": {
                                "line": 295,
                                "column": 42
                              },
                              "end": {
                                "line": 295,
                                "column": 73
                              }
                            },
                            "value": "Dragged object is not a point",
                            "rawValue": "Dragged object is not a point",
                            "raw": "\"Dragged object is not a point\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10527,
                      "end": 10591,
                      "loc": {
                        "start": {
                          "line": 296,
                          "column": 8
                        },
                        "end": {
                          "line": 296,
                          "column": 72
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10531,
                          "end": 10590,
                          "loc": {
                            "start": {
                              "line": 296,
                              "column": 12
                            },
                            "end": {
                              "line": 296,
                              "column": 71
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10531,
                            "end": 10538,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 12
                              },
                              "end": {
                                "line": 296,
                                "column": 19
                              }
                            },
                            "name": "currPos"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 10541,
                            "end": 10590,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 22
                              },
                              "end": {
                                "line": 296,
                                "column": 71
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10545,
                              "end": 10558,
                              "loc": {
                                "start": {
                                  "line": 296,
                                  "column": 26
                                },
                                "end": {
                                  "line": 296,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10545,
                                "end": 10550,
                                "loc": {
                                  "start": {
                                    "line": 296,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 296,
                                    "column": 31
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10551,
                                "end": 10558,
                                "loc": {
                                  "start": {
                                    "line": 296,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 296,
                                    "column": 39
                                  }
                                },
                                "name": "Vector2"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 10559,
                                "end": 10573,
                                "loc": {
                                  "start": {
                                    "line": 296,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 296,
                                    "column": 54
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10559,
                                  "end": 10571,
                                  "loc": {
                                    "start": {
                                      "line": 296,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 296,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10559,
                                    "end": 10562,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 43
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10563,
                                    "end": 10571,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 52
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10572,
                                  "end": 10573,
                                  "loc": {
                                    "start": {
                                      "line": 296,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 296,
                                      "column": 54
                                    }
                                  },
                                  "name": "x"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 10575,
                                "end": 10589,
                                "loc": {
                                  "start": {
                                    "line": 296,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 296,
                                    "column": 70
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10575,
                                  "end": 10587,
                                  "loc": {
                                    "start": {
                                      "line": 296,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 296,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10575,
                                    "end": 10578,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 59
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10579,
                                    "end": 10587,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 68
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10588,
                                  "end": 10589,
                                  "loc": {
                                    "start": {
                                      "line": 296,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 296,
                                      "column": 70
                                    }
                                  },
                                  "name": "y"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 10600,
                      "end": 10828,
                      "loc": {
                        "start": {
                          "line": 297,
                          "column": 8
                        },
                        "end": {
                          "line": 301,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 10604,
                        "end": 10612,
                        "loc": {
                          "start": {
                            "line": 297,
                            "column": 12
                          },
                          "end": {
                            "line": 297,
                            "column": 20
                          }
                        },
                        "name": "absolute"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 10614,
                        "end": 10828,
                        "loc": {
                          "start": {
                            "line": 297,
                            "column": 22
                          },
                          "end": {
                            "line": 301,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 10628,
                            "end": 10695,
                            "loc": {
                              "start": {
                                "line": 298,
                                "column": 12
                              },
                              "end": {
                                "line": 299,
                                "column": 54
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 10632,
                              "end": 10639,
                              "loc": {
                                "start": {
                                  "line": 298,
                                  "column": 16
                                },
                                "end": {
                                  "line": 298,
                                  "column": 23
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 10633,
                                "end": 10639,
                                "loc": {
                                  "start": {
                                    "line": 298,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 298,
                                    "column": 23
                                  }
                                },
                                "name": "strict"
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 10657,
                              "end": 10695,
                              "loc": {
                                "start": {
                                  "line": 299,
                                  "column": 16
                                },
                                "end": {
                                  "line": 299,
                                  "column": 54
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 10657,
                                "end": 10694,
                                "loc": {
                                  "start": {
                                    "line": 299,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 299,
                                    "column": 53
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 10657,
                                  "end": 10665,
                                  "loc": {
                                    "start": {
                                      "line": 299,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 299,
                                      "column": 24
                                    }
                                  },
                                  "name": "posArray"
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 10668,
                                  "end": 10694,
                                  "loc": {
                                    "start": {
                                      "line": 299,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 299,
                                      "column": 53
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 10668,
                                    "end": 10684,
                                    "loc": {
                                      "start": {
                                        "line": 299,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 299,
                                        "column": 43
                                      }
                                    },
                                    "object": {
                                      "type": "ArrayExpression",
                                      "start": 10668,
                                      "end": 10677,
                                      "loc": {
                                        "start": {
                                          "line": 299,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 299,
                                          "column": 36
                                        }
                                      },
                                      "elements": [
                                        {
                                          "type": "Identifier",
                                          "start": 10669,
                                          "end": 10676,
                                          "loc": {
                                            "start": {
                                              "line": 299,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 299,
                                              "column": 35
                                            }
                                          },
                                          "name": "currPos"
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10678,
                                      "end": 10684,
                                      "loc": {
                                        "start": {
                                          "line": 299,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 299,
                                          "column": 43
                                        }
                                      },
                                      "name": "concat"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 10685,
                                      "end": 10693,
                                      "loc": {
                                        "start": {
                                          "line": 299,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 299,
                                          "column": 52
                                        }
                                      },
                                      "name": "posArray"
                                    }
                                  ]
                                }
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10708,
                            "end": 10818,
                            "loc": {
                              "start": {
                                "line": 300,
                                "column": 12
                              },
                              "end": {
                                "line": 300,
                                "column": 122
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 10708,
                              "end": 10817,
                              "loc": {
                                "start": {
                                  "line": 300,
                                  "column": 12
                                },
                                "end": {
                                  "line": 300,
                                  "column": 121
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 10708,
                                "end": 10713,
                                "loc": {
                                  "start": {
                                    "line": 300,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 300,
                                    "column": 17
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 10714,
                                  "end": 10769,
                                  "loc": {
                                    "start": {
                                      "line": 300,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 300,
                                      "column": 73
                                    }
                                  },
                                  "left": {
                                    "type": "CallExpression",
                                    "start": 10714,
                                    "end": 10745,
                                    "loc": {
                                      "start": {
                                        "line": 300,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 300,
                                        "column": 49
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 10714,
                                      "end": 10732,
                                      "loc": {
                                        "start": {
                                          "line": 300,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 300,
                                          "column": 36
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10714,
                                        "end": 10721,
                                        "loc": {
                                          "start": {
                                            "line": 300,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 300,
                                            "column": 25
                                          }
                                        },
                                        "name": "currPos"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10722,
                                        "end": 10732,
                                        "loc": {
                                          "start": {
                                            "line": 300,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 300,
                                            "column": 36
                                          }
                                        },
                                        "name": "distanceTo"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 10733,
                                        "end": 10744,
                                        "loc": {
                                          "start": {
                                            "line": 300,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 300,
                                            "column": 48
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 10733,
                                          "end": 10741,
                                          "loc": {
                                            "start": {
                                              "line": 300,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 300,
                                              "column": 45
                                            }
                                          },
                                          "name": "posArray"
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 10742,
                                          "end": 10743,
                                          "loc": {
                                            "start": {
                                              "line": 300,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 300,
                                              "column": 47
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      }
                                    ]
                                  },
                                  "operator": "<=",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 10749,
                                    "end": 10769,
                                    "loc": {
                                      "start": {
                                        "line": 300,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 300,
                                        "column": 73
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10749,
                                      "end": 10753,
                                      "loc": {
                                        "start": {
                                          "line": 300,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 300,
                                          "column": 57
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10754,
                                      "end": 10769,
                                      "loc": {
                                        "start": {
                                          "line": 300,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 300,
                                          "column": 73
                                        }
                                      },
                                      "name": "linearTolerance"
                                    },
                                    "computed": false
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 10771,
                                  "end": 10816,
                                  "loc": {
                                    "start": {
                                      "line": 300,
                                      "column": 75
                                    },
                                    "end": {
                                      "line": 300,
                                      "column": 120
                                    }
                                  },
                                  "value": "Dragging point starting from wrong position",
                                  "rawValue": "Dragging point starting from wrong position",
                                  "raw": "\"Dragging point starting from wrong position\""
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10837,
                      "end": 10884,
                      "loc": {
                        "start": {
                          "line": 302,
                          "column": 8
                        },
                        "end": {
                          "line": 302,
                          "column": 55
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 10837,
                        "end": 10883,
                        "loc": {
                          "start": {
                            "line": 302,
                            "column": 8
                          },
                          "end": {
                            "line": 302,
                            "column": 54
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 10843,
                          "end": 10883,
                          "loc": {
                            "start": {
                              "line": 302,
                              "column": 14
                            },
                            "end": {
                              "line": 302,
                              "column": 54
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10843,
                            "end": 10858,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 14
                              },
                              "end": {
                                "line": 302,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 10843,
                              "end": 10847,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 14
                                },
                                "end": {
                                  "line": 302,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10848,
                              "end": 10858,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 19
                                },
                                "end": {
                                  "line": 302,
                                  "column": 29
                                }
                              },
                              "name": "dragObject"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 10859,
                              "end": 10862,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 30
                                },
                                "end": {
                                  "line": 302,
                                  "column": 33
                                }
                              },
                              "name": "obj"
                            },
                            {
                              "type": "Identifier",
                              "start": 10864,
                              "end": 10872,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 35
                                },
                                "end": {
                                  "line": 302,
                                  "column": 43
                                }
                              },
                              "name": "posArray"
                            },
                            {
                              "type": "Identifier",
                              "start": 10874,
                              "end": 10882,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 45
                                },
                                "end": {
                                  "line": 302,
                                  "column": 53
                                }
                              },
                              "name": "absolute"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 10895,
              "end": 11065,
              "loc": {
                "start": {
                  "line": 304,
                  "column": 4
                },
                "end": {
                  "line": 307,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10901,
                "end": 10915,
                "loc": {
                  "start": {
                    "line": 304,
                    "column": 10
                  },
                  "end": {
                    "line": 304,
                    "column": 24
                  }
                },
                "name": "dragSketchLine"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10915,
                "end": 11065,
                "loc": {
                  "start": {
                    "line": 304,
                    "column": 24
                  },
                  "end": {
                    "line": 307,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 10916,
                    "end": 10919,
                    "loc": {
                      "start": {
                        "line": 304,
                        "column": 25
                      },
                      "end": {
                        "line": 304,
                        "column": 28
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "Identifier",
                    "start": 10921,
                    "end": 10929,
                    "loc": {
                      "start": {
                        "line": 304,
                        "column": 30
                      },
                      "end": {
                        "line": 304,
                        "column": 38
                      }
                    },
                    "name": "posArray"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 10931,
                  "end": 11065,
                  "loc": {
                    "start": {
                      "line": 304,
                      "column": 40
                    },
                    "end": {
                      "line": 307,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 10941,
                      "end": 11006,
                      "loc": {
                        "start": {
                          "line": 305,
                          "column": 8
                        },
                        "end": {
                          "line": 305,
                          "column": 73
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10941,
                        "end": 11005,
                        "loc": {
                          "start": {
                            "line": 305,
                            "column": 8
                          },
                          "end": {
                            "line": 305,
                            "column": 72
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 10941,
                          "end": 10946,
                          "loc": {
                            "start": {
                              "line": 305,
                              "column": 8
                            },
                            "end": {
                              "line": 305,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 10947,
                            "end": 10972,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 14
                              },
                              "end": {
                                "line": 305,
                                "column": 39
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 10947,
                              "end": 10950,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 14
                                },
                                "end": {
                                  "line": 305,
                                  "column": 17
                                }
                              },
                              "name": "obj"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 10962,
                              "end": 10972,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 29
                                },
                                "end": {
                                  "line": 305,
                                  "column": 39
                                }
                              },
                              "name": "SketchLine"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 10974,
                            "end": 11004,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 41
                              },
                              "end": {
                                "line": 305,
                                "column": 71
                              }
                            },
                            "value": "Dragged object is not a line",
                            "rawValue": "Dragged object is not a line",
                            "raw": "\"Dragged object is not a line\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11015,
                      "end": 11059,
                      "loc": {
                        "start": {
                          "line": 306,
                          "column": 8
                        },
                        "end": {
                          "line": 306,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 11015,
                        "end": 11058,
                        "loc": {
                          "start": {
                            "line": 306,
                            "column": 8
                          },
                          "end": {
                            "line": 306,
                            "column": 51
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 11021,
                          "end": 11058,
                          "loc": {
                            "start": {
                              "line": 306,
                              "column": 14
                            },
                            "end": {
                              "line": 306,
                              "column": 51
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11021,
                            "end": 11036,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 14
                              },
                              "end": {
                                "line": 306,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11021,
                              "end": 11025,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 14
                                },
                                "end": {
                                  "line": 306,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11026,
                              "end": 11036,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 19
                                },
                                "end": {
                                  "line": 306,
                                  "column": 29
                                }
                              },
                              "name": "dragObject"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 11037,
                              "end": 11040,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 30
                                },
                                "end": {
                                  "line": 306,
                                  "column": 33
                                }
                              },
                              "name": "obj"
                            },
                            {
                              "type": "Identifier",
                              "start": 11042,
                              "end": 11050,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 35
                                },
                                "end": {
                                  "line": 306,
                                  "column": 43
                                }
                              },
                              "name": "posArray"
                            },
                            {
                              "type": "Literal",
                              "start": 11052,
                              "end": 11057,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 45
                                },
                                "end": {
                                  "line": 306,
                                  "column": 50
                                }
                              },
                              "value": false,
                              "rawValue": false,
                              "raw": "false"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11070,
              "end": 11237,
              "loc": {
                "start": {
                  "line": 308,
                  "column": 4
                },
                "end": {
                  "line": 311,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11076,
                "end": 11089,
                "loc": {
                  "start": {
                    "line": 308,
                    "column": 10
                  },
                  "end": {
                    "line": 308,
                    "column": 23
                  }
                },
                "name": "dragSketchArc"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11089,
                "end": 11237,
                "loc": {
                  "start": {
                    "line": 308,
                    "column": 23
                  },
                  "end": {
                    "line": 311,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11090,
                    "end": 11093,
                    "loc": {
                      "start": {
                        "line": 308,
                        "column": 24
                      },
                      "end": {
                        "line": 308,
                        "column": 27
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "Identifier",
                    "start": 11095,
                    "end": 11103,
                    "loc": {
                      "start": {
                        "line": 308,
                        "column": 29
                      },
                      "end": {
                        "line": 308,
                        "column": 37
                      }
                    },
                    "name": "posArray"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11105,
                  "end": 11237,
                  "loc": {
                    "start": {
                      "line": 308,
                      "column": 39
                    },
                    "end": {
                      "line": 311,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 11115,
                      "end": 11178,
                      "loc": {
                        "start": {
                          "line": 309,
                          "column": 8
                        },
                        "end": {
                          "line": 309,
                          "column": 71
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11115,
                        "end": 11177,
                        "loc": {
                          "start": {
                            "line": 309,
                            "column": 8
                          },
                          "end": {
                            "line": 309,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 11115,
                          "end": 11120,
                          "loc": {
                            "start": {
                              "line": 309,
                              "column": 8
                            },
                            "end": {
                              "line": 309,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 11121,
                            "end": 11145,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 14
                              },
                              "end": {
                                "line": 309,
                                "column": 38
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 11121,
                              "end": 11124,
                              "loc": {
                                "start": {
                                  "line": 309,
                                  "column": 14
                                },
                                "end": {
                                  "line": 309,
                                  "column": 17
                                }
                              },
                              "name": "obj"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 11136,
                              "end": 11145,
                              "loc": {
                                "start": {
                                  "line": 309,
                                  "column": 29
                                },
                                "end": {
                                  "line": 309,
                                  "column": 38
                                }
                              },
                              "name": "SketchArc"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 11147,
                            "end": 11176,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 40
                              },
                              "end": {
                                "line": 309,
                                "column": 69
                              }
                            },
                            "value": "Dragged object is not a arc",
                            "rawValue": "Dragged object is not a arc",
                            "raw": "\"Dragged object is not a arc\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11187,
                      "end": 11231,
                      "loc": {
                        "start": {
                          "line": 310,
                          "column": 8
                        },
                        "end": {
                          "line": 310,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 11187,
                        "end": 11230,
                        "loc": {
                          "start": {
                            "line": 310,
                            "column": 8
                          },
                          "end": {
                            "line": 310,
                            "column": 51
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 11193,
                          "end": 11230,
                          "loc": {
                            "start": {
                              "line": 310,
                              "column": 14
                            },
                            "end": {
                              "line": 310,
                              "column": 51
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11193,
                            "end": 11208,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 14
                              },
                              "end": {
                                "line": 310,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11193,
                              "end": 11197,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 14
                                },
                                "end": {
                                  "line": 310,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11198,
                              "end": 11208,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 19
                                },
                                "end": {
                                  "line": 310,
                                  "column": 29
                                }
                              },
                              "name": "dragObject"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 11209,
                              "end": 11212,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 30
                                },
                                "end": {
                                  "line": 310,
                                  "column": 33
                                }
                              },
                              "name": "obj"
                            },
                            {
                              "type": "Identifier",
                              "start": 11214,
                              "end": 11222,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 35
                                },
                                "end": {
                                  "line": 310,
                                  "column": 43
                                }
                              },
                              "name": "posArray"
                            },
                            {
                              "type": "Literal",
                              "start": 11224,
                              "end": 11229,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 45
                                },
                                "end": {
                                  "line": 310,
                                  "column": 50
                                }
                              },
                              "value": false,
                              "rawValue": false,
                              "raw": "false"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11242,
              "end": 11528,
              "loc": {
                "start": {
                  "line": 312,
                  "column": 4
                },
                "end": {
                  "line": 319,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11248,
                "end": 11259,
                "loc": {
                  "start": {
                    "line": 312,
                    "column": 10
                  },
                  "end": {
                    "line": 312,
                    "column": 21
                  }
                },
                "name": "hoverObject"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11259,
                "end": 11528,
                "loc": {
                  "start": {
                    "line": 312,
                    "column": 21
                  },
                  "end": {
                    "line": 319,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11260,
                    "end": 11263,
                    "loc": {
                      "start": {
                        "line": 312,
                        "column": 22
                      },
                      "end": {
                        "line": 312,
                        "column": 25
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11265,
                  "end": 11528,
                  "loc": {
                    "start": {
                      "line": 312,
                      "column": 27
                    },
                    "end": {
                      "line": 319,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 11275,
                      "end": 11320,
                      "loc": {
                        "start": {
                          "line": 313,
                          "column": 8
                        },
                        "end": {
                          "line": 314,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 11279,
                        "end": 11299,
                        "loc": {
                          "start": {
                            "line": 313,
                            "column": 12
                          },
                          "end": {
                            "line": 313,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 11279,
                          "end": 11282,
                          "loc": {
                            "start": {
                              "line": 313,
                              "column": 12
                            },
                            "end": {
                              "line": 313,
                              "column": 15
                            }
                          },
                          "name": "obj"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 11283,
                          "end": 11299,
                          "loc": {
                            "start": {
                              "line": 313,
                              "column": 16
                            },
                            "end": {
                              "line": 313,
                              "column": 32
                            }
                          },
                          "name": "_testing_hovered"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 11313,
                        "end": 11320,
                        "loc": {
                          "start": {
                            "line": 314,
                            "column": 12
                          },
                          "end": {
                            "line": 314,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11329,
                      "end": 11375,
                      "loc": {
                        "start": {
                          "line": 315,
                          "column": 8
                        },
                        "end": {
                          "line": 315,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 11329,
                        "end": 11374,
                        "loc": {
                          "start": {
                            "line": 315,
                            "column": 8
                          },
                          "end": {
                            "line": 315,
                            "column": 53
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 11335,
                          "end": 11374,
                          "loc": {
                            "start": {
                              "line": 315,
                              "column": 14
                            },
                            "end": {
                              "line": 315,
                              "column": 53
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11335,
                            "end": 11352,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 14
                              },
                              "end": {
                                "line": 315,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11335,
                              "end": 11339,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 14
                                },
                                "end": {
                                  "line": 315,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11340,
                              "end": 11352,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 19
                                },
                                "end": {
                                  "line": 315,
                                  "column": 31
                                }
                              },
                              "name": "_mouseMoveTo"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 11353,
                              "end": 11373,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 32
                                },
                                "end": {
                                  "line": 315,
                                  "column": 52
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11353,
                                "end": 11368,
                                "loc": {
                                  "start": {
                                    "line": 315,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 315,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11353,
                                  "end": 11357,
                                  "loc": {
                                    "start": {
                                      "line": 315,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 315,
                                      "column": 36
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11358,
                                  "end": 11368,
                                  "loc": {
                                    "start": {
                                      "line": 315,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 315,
                                      "column": 47
                                    }
                                  },
                                  "name": "getPointOn"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 11369,
                                  "end": 11372,
                                  "loc": {
                                    "start": {
                                      "line": 315,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 315,
                                      "column": 51
                                    }
                                  },
                                  "name": "obj"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11384,
                      "end": 11458,
                      "loc": {
                        "start": {
                          "line": 316,
                          "column": 8
                        },
                        "end": {
                          "line": 316,
                          "column": 82
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 11384,
                        "end": 11457,
                        "loc": {
                          "start": {
                            "line": 316,
                            "column": 8
                          },
                          "end": {
                            "line": 316,
                            "column": 81
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 11390,
                          "end": 11457,
                          "loc": {
                            "start": {
                              "line": 316,
                              "column": 14
                            },
                            "end": {
                              "line": 316,
                              "column": 81
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11390,
                            "end": 11411,
                            "loc": {
                              "start": {
                                "line": 316,
                                "column": 14
                              },
                              "end": {
                                "line": 316,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11390,
                              "end": 11394,
                              "loc": {
                                "start": {
                                  "line": 316,
                                  "column": 14
                                },
                                "end": {
                                  "line": 316,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11395,
                              "end": 11411,
                              "loc": {
                                "start": {
                                  "line": 316,
                                  "column": 19
                                },
                                "end": {
                                  "line": 316,
                                  "column": 35
                                }
                              },
                              "name": "_interactionEmit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 11412,
                              "end": 11415,
                              "loc": {
                                "start": {
                                  "line": 316,
                                  "column": 36
                                },
                                "end": {
                                  "line": 316,
                                  "column": 39
                                }
                              },
                              "name": "obj"
                            },
                            {
                              "type": "MemberExpression",
                              "start": 11417,
                              "end": 11452,
                              "loc": {
                                "start": {
                                  "line": 316,
                                  "column": 41
                                },
                                "end": {
                                  "line": 316,
                                  "column": 76
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 11417,
                                "end": 11444,
                                "loc": {
                                  "start": {
                                    "line": 316,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 316,
                                    "column": 68
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11417,
                                  "end": 11432,
                                  "loc": {
                                    "start": {
                                      "line": 316,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 316,
                                      "column": 56
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11417,
                                    "end": 11425,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 49
                                      }
                                    },
                                    "name": "Object3D"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11426,
                                    "end": 11432,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 56
                                      }
                                    },
                                    "name": "Events"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11433,
                                  "end": 11444,
                                  "loc": {
                                    "start": {
                                      "line": 316,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 316,
                                      "column": 68
                                    }
                                  },
                                  "name": "Interaction"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11445,
                                "end": 11452,
                                "loc": {
                                  "start": {
                                    "line": 316,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 316,
                                    "column": 76
                                  }
                                },
                                "name": "Hovered"
                              },
                              "computed": false
                            },
                            {
                              "type": "ObjectExpression",
                              "start": 11454,
                              "end": 11456,
                              "loc": {
                                "start": {
                                  "line": 316,
                                  "column": 78
                                },
                                "end": {
                                  "line": 316,
                                  "column": 80
                                }
                              },
                              "properties": []
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11467,
                      "end": 11495,
                      "loc": {
                        "start": {
                          "line": 317,
                          "column": 8
                        },
                        "end": {
                          "line": 317,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 11467,
                        "end": 11494,
                        "loc": {
                          "start": {
                            "line": 317,
                            "column": 8
                          },
                          "end": {
                            "line": 317,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 11467,
                          "end": 11487,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 8
                            },
                            "end": {
                              "line": 317,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11467,
                            "end": 11470,
                            "loc": {
                              "start": {
                                "line": 317,
                                "column": 8
                              },
                              "end": {
                                "line": 317,
                                "column": 11
                              }
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11471,
                            "end": 11487,
                            "loc": {
                              "start": {
                                "line": 317,
                                "column": 12
                              },
                              "end": {
                                "line": 317,
                                "column": 28
                              }
                            },
                            "name": "_testing_hovered"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 11490,
                          "end": 11494,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 31
                            },
                            "end": {
                              "line": 317,
                              "column": 35
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11504,
                      "end": 11522,
                      "loc": {
                        "start": {
                          "line": 318,
                          "column": 8
                        },
                        "end": {
                          "line": 318,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 11504,
                        "end": 11521,
                        "loc": {
                          "start": {
                            "line": 318,
                            "column": 8
                          },
                          "end": {
                            "line": 318,
                            "column": 25
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 11510,
                          "end": 11521,
                          "loc": {
                            "start": {
                              "line": 318,
                              "column": 14
                            },
                            "end": {
                              "line": 318,
                              "column": 25
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11510,
                            "end": 11519,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 14
                              },
                              "end": {
                                "line": 318,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11510,
                              "end": 11514,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 14
                                },
                                "end": {
                                  "line": 318,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11515,
                              "end": 11519,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 19
                                },
                                "end": {
                                  "line": 318,
                                  "column": 23
                                }
                              },
                              "name": "tick"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11533,
              "end": 11818,
              "loc": {
                "start": {
                  "line": 320,
                  "column": 4
                },
                "end": {
                  "line": 327,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11539,
                "end": 11552,
                "loc": {
                  "start": {
                    "line": 320,
                    "column": 10
                  },
                  "end": {
                    "line": 320,
                    "column": 23
                  }
                },
                "name": "unhoverObject"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11552,
                "end": 11818,
                "loc": {
                  "start": {
                    "line": 320,
                    "column": 23
                  },
                  "end": {
                    "line": 327,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11553,
                    "end": 11556,
                    "loc": {
                      "start": {
                        "line": 320,
                        "column": 24
                      },
                      "end": {
                        "line": 320,
                        "column": 27
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11558,
                  "end": 11818,
                  "loc": {
                    "start": {
                      "line": 320,
                      "column": 29
                    },
                    "end": {
                      "line": 327,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 11568,
                      "end": 11614,
                      "loc": {
                        "start": {
                          "line": 321,
                          "column": 8
                        },
                        "end": {
                          "line": 322,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 11572,
                        "end": 11593,
                        "loc": {
                          "start": {
                            "line": 321,
                            "column": 12
                          },
                          "end": {
                            "line": 321,
                            "column": 33
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 11573,
                          "end": 11593,
                          "loc": {
                            "start": {
                              "line": 321,
                              "column": 13
                            },
                            "end": {
                              "line": 321,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11573,
                            "end": 11576,
                            "loc": {
                              "start": {
                                "line": 321,
                                "column": 13
                              },
                              "end": {
                                "line": 321,
                                "column": 16
                              }
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11577,
                            "end": 11593,
                            "loc": {
                              "start": {
                                "line": 321,
                                "column": 17
                              },
                              "end": {
                                "line": 321,
                                "column": 33
                              }
                            },
                            "name": "_testing_hovered"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 11607,
                        "end": 11614,
                        "loc": {
                          "start": {
                            "line": 322,
                            "column": 12
                          },
                          "end": {
                            "line": 322,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11623,
                      "end": 11663,
                      "loc": {
                        "start": {
                          "line": 323,
                          "column": 8
                        },
                        "end": {
                          "line": 323,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 11623,
                        "end": 11662,
                        "loc": {
                          "start": {
                            "line": 323,
                            "column": 8
                          },
                          "end": {
                            "line": 323,
                            "column": 47
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 11629,
                          "end": 11662,
                          "loc": {
                            "start": {
                              "line": 323,
                              "column": 14
                            },
                            "end": {
                              "line": 323,
                              "column": 47
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11629,
                            "end": 11646,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 14
                              },
                              "end": {
                                "line": 323,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11629,
                              "end": 11633,
                              "loc": {
                                "start": {
                                  "line": 323,
                                  "column": 14
                                },
                                "end": {
                                  "line": 323,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11634,
                              "end": 11646,
                              "loc": {
                                "start": {
                                  "line": 323,
                                  "column": 19
                                },
                                "end": {
                                  "line": 323,
                                  "column": 31
                                }
                              },
                              "name": "_mouseMoveTo"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 11647,
                              "end": 11661,
                              "loc": {
                                "start": {
                                  "line": 323,
                                  "column": 32
                                },
                                "end": {
                                  "line": 323,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 11647,
                                "end": 11651,
                                "loc": {
                                  "start": {
                                    "line": 323,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 323,
                                    "column": 36
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11652,
                                "end": 11661,
                                "loc": {
                                  "start": {
                                    "line": 323,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 323,
                                    "column": 46
                                  }
                                },
                                "name": "safePoint"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11672,
                      "end": 11748,
                      "loc": {
                        "start": {
                          "line": 324,
                          "column": 8
                        },
                        "end": {
                          "line": 324,
                          "column": 84
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 11672,
                        "end": 11747,
                        "loc": {
                          "start": {
                            "line": 324,
                            "column": 8
                          },
                          "end": {
                            "line": 324,
                            "column": 83
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 11678,
                          "end": 11747,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 14
                            },
                            "end": {
                              "line": 324,
                              "column": 83
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11678,
                            "end": 11699,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 14
                              },
                              "end": {
                                "line": 324,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11678,
                              "end": 11682,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 14
                                },
                                "end": {
                                  "line": 324,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11683,
                              "end": 11699,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 19
                                },
                                "end": {
                                  "line": 324,
                                  "column": 35
                                }
                              },
                              "name": "_interactionEmit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 11700,
                              "end": 11703,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 36
                                },
                                "end": {
                                  "line": 324,
                                  "column": 39
                                }
                              },
                              "name": "obj"
                            },
                            {
                              "type": "MemberExpression",
                              "start": 11705,
                              "end": 11742,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 41
                                },
                                "end": {
                                  "line": 324,
                                  "column": 78
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 11705,
                                "end": 11732,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 68
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11705,
                                  "end": 11720,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 56
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11705,
                                    "end": 11713,
                                    "loc": {
                                      "start": {
                                        "line": 324,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 324,
                                        "column": 49
                                      }
                                    },
                                    "name": "Object3D"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11714,
                                    "end": 11720,
                                    "loc": {
                                      "start": {
                                        "line": 324,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 324,
                                        "column": 56
                                      }
                                    },
                                    "name": "Events"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11721,
                                  "end": 11732,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 68
                                    }
                                  },
                                  "name": "Interaction"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11733,
                                "end": 11742,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 78
                                  }
                                },
                                "name": "Unhovered"
                              },
                              "computed": false
                            },
                            {
                              "type": "ObjectExpression",
                              "start": 11744,
                              "end": 11746,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 80
                                },
                                "end": {
                                  "line": 324,
                                  "column": 82
                                }
                              },
                              "properties": []
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11757,
                      "end": 11785,
                      "loc": {
                        "start": {
                          "line": 325,
                          "column": 8
                        },
                        "end": {
                          "line": 325,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "UnaryExpression",
                        "start": 11757,
                        "end": 11784,
                        "loc": {
                          "start": {
                            "line": 325,
                            "column": 8
                          },
                          "end": {
                            "line": 325,
                            "column": 35
                          }
                        },
                        "operator": "delete",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 11764,
                          "end": 11784,
                          "loc": {
                            "start": {
                              "line": 325,
                              "column": 15
                            },
                            "end": {
                              "line": 325,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11764,
                            "end": 11767,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 15
                              },
                              "end": {
                                "line": 325,
                                "column": 18
                              }
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11768,
                            "end": 11784,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 19
                              },
                              "end": {
                                "line": 325,
                                "column": 35
                              }
                            },
                            "name": "_testing_hovered"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11794,
                      "end": 11812,
                      "loc": {
                        "start": {
                          "line": 326,
                          "column": 8
                        },
                        "end": {
                          "line": 326,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 11794,
                        "end": 11811,
                        "loc": {
                          "start": {
                            "line": 326,
                            "column": 8
                          },
                          "end": {
                            "line": 326,
                            "column": 25
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 11800,
                          "end": 11811,
                          "loc": {
                            "start": {
                              "line": 326,
                              "column": 14
                            },
                            "end": {
                              "line": 326,
                              "column": 25
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11800,
                            "end": 11809,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 14
                              },
                              "end": {
                                "line": 326,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11800,
                              "end": 11804,
                              "loc": {
                                "start": {
                                  "line": 326,
                                  "column": 14
                                },
                                "end": {
                                  "line": 326,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11805,
                              "end": 11809,
                              "loc": {
                                "start": {
                                  "line": 326,
                                  "column": 19
                                },
                                "end": {
                                  "line": 326,
                                  "column": 23
                                }
                              },
                              "name": "tick"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "drawing objects",
                  "start": 11824,
                  "end": 11841,
                  "loc": {
                    "start": {
                      "line": 329,
                      "column": 4
                    },
                    "end": {
                      "line": 329,
                      "column": 21
                    }
                  },
                  "range": [
                    11824,
                    11841
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 11846,
              "end": 12362,
              "loc": {
                "start": {
                  "line": 330,
                  "column": 4
                },
                "end": {
                  "line": 343,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11852,
                "end": 11863,
                "loc": {
                  "start": {
                    "line": 330,
                    "column": 10
                  },
                  "end": {
                    "line": 330,
                    "column": 21
                  }
                },
                "name": "_drawSimple"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11863,
                "end": 12362,
                "loc": {
                  "start": {
                    "line": 330,
                    "column": 21
                  },
                  "end": {
                    "line": 343,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11864,
                    "end": 11868,
                    "loc": {
                      "start": {
                        "line": 330,
                        "column": 22
                      },
                      "end": {
                        "line": 330,
                        "column": 26
                      }
                    },
                    "name": "tool"
                  },
                  {
                    "type": "Identifier",
                    "start": 11870,
                    "end": 11874,
                    "loc": {
                      "start": {
                        "line": 330,
                        "column": 28
                      },
                      "end": {
                        "line": 330,
                        "column": 32
                      }
                    },
                    "name": "type"
                  },
                  {
                    "type": "Identifier",
                    "start": 11876,
                    "end": 11885,
                    "loc": {
                      "start": {
                        "line": 330,
                        "column": 34
                      },
                      "end": {
                        "line": 330,
                        "column": 43
                      }
                    },
                    "name": "positions"
                  },
                  {
                    "type": "Identifier",
                    "start": 11887,
                    "end": 11891,
                    "loc": {
                      "start": {
                        "line": 330,
                        "column": 45
                      },
                      "end": {
                        "line": 330,
                        "column": 49
                      }
                    },
                    "name": "name"
                  },
                  {
                    "type": "Identifier",
                    "start": 11893,
                    "end": 11905,
                    "loc": {
                      "start": {
                        "line": 330,
                        "column": 51
                      },
                      "end": {
                        "line": 330,
                        "column": 63
                      }
                    },
                    "name": "leaveHandler"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11907,
                  "end": 12362,
                  "loc": {
                    "start": {
                      "line": 330,
                      "column": 65
                    },
                    "end": {
                      "line": 343,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 11917,
                      "end": 11956,
                      "loc": {
                        "start": {
                          "line": 331,
                          "column": 8
                        },
                        "end": {
                          "line": 331,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 11917,
                        "end": 11955,
                        "loc": {
                          "start": {
                            "line": 331,
                            "column": 8
                          },
                          "end": {
                            "line": 331,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 11917,
                          "end": 11926,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 8
                            },
                            "end": {
                              "line": 331,
                              "column": 17
                            }
                          },
                          "name": "positions"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 11929,
                          "end": 11955,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 20
                            },
                            "end": {
                              "line": 331,
                              "column": 46
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 11929,
                            "end": 11944,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 20
                              },
                              "end": {
                                "line": 331,
                                "column": 35
                              }
                            },
                            "name": "convVectorArray"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 11945,
                              "end": 11954,
                              "loc": {
                                "start": {
                                  "line": 331,
                                  "column": 36
                                },
                                "end": {
                                  "line": 331,
                                  "column": 45
                                }
                              },
                              "name": "positions"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11965,
                      "end": 11993,
                      "loc": {
                        "start": {
                          "line": 332,
                          "column": 8
                        },
                        "end": {
                          "line": 332,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 11965,
                        "end": 11992,
                        "loc": {
                          "start": {
                            "line": 332,
                            "column": 8
                          },
                          "end": {
                            "line": 332,
                            "column": 35
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 11971,
                          "end": 11992,
                          "loc": {
                            "start": {
                              "line": 332,
                              "column": 14
                            },
                            "end": {
                              "line": 332,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11971,
                            "end": 11986,
                            "loc": {
                              "start": {
                                "line": 332,
                                "column": 14
                              },
                              "end": {
                                "line": 332,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11971,
                              "end": 11975,
                              "loc": {
                                "start": {
                                  "line": 332,
                                  "column": 14
                                },
                                "end": {
                                  "line": 332,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11976,
                              "end": 11986,
                              "loc": {
                                "start": {
                                  "line": 332,
                                  "column": 19
                                },
                                "end": {
                                  "line": 332,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 11987,
                              "end": 11991,
                              "loc": {
                                "start": {
                                  "line": 332,
                                  "column": 30
                                },
                                "end": {
                                  "line": 332,
                                  "column": 34
                                }
                              },
                              "name": "tool"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12002,
                      "end": 12171,
                      "loc": {
                        "start": {
                          "line": 333,
                          "column": 8
                        },
                        "end": {
                          "line": 336,
                          "column": 11
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12006,
                          "end": 12170,
                          "loc": {
                            "start": {
                              "line": 333,
                              "column": 12
                            },
                            "end": {
                              "line": 336,
                              "column": 10
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12006,
                            "end": 12011,
                            "loc": {
                              "start": {
                                "line": 333,
                                "column": 12
                              },
                              "end": {
                                "line": 333,
                                "column": 17
                              }
                            },
                            "name": "added"
                          },
                          "init": {
                            "type": "AwaitExpression",
                            "start": 12014,
                            "end": 12170,
                            "loc": {
                              "start": {
                                "line": 333,
                                "column": 20
                              },
                              "end": {
                                "line": 336,
                                "column": 10
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 12020,
                              "end": 12170,
                              "loc": {
                                "start": {
                                  "line": 333,
                                  "column": 26
                                },
                                "end": {
                                  "line": 336,
                                  "column": 10
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12020,
                                "end": 12035,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 41
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12020,
                                  "end": 12024,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 30
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12025,
                                  "end": 12035,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 41
                                    }
                                  },
                                  "name": "trackAdded"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 12036,
                                  "end": 12169,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 9
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": true,
                                  "params": [],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 12048,
                                    "end": 12169,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 336,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ForStatement",
                                        "start": 12062,
                                        "end": 12159,
                                        "loc": {
                                          "start": {
                                            "line": 334,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 335,
                                            "column": 54
                                          }
                                        },
                                        "init": {
                                          "type": "VariableDeclaration",
                                          "start": 12067,
                                          "end": 12076,
                                          "loc": {
                                            "start": {
                                              "line": 334,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 334,
                                              "column": 26
                                            }
                                          },
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "start": 12071,
                                              "end": 12076,
                                              "loc": {
                                                "start": {
                                                  "line": 334,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 334,
                                                  "column": 26
                                                }
                                              },
                                              "id": {
                                                "type": "Identifier",
                                                "start": 12071,
                                                "end": 12072,
                                                "loc": {
                                                  "start": {
                                                    "line": 334,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 334,
                                                    "column": 22
                                                  }
                                                },
                                                "name": "i"
                                              },
                                              "init": {
                                                "type": "Literal",
                                                "start": 12075,
                                                "end": 12076,
                                                "loc": {
                                                  "start": {
                                                    "line": 334,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 334,
                                                    "column": 26
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              }
                                            }
                                          ],
                                          "kind": "let"
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 12078,
                                          "end": 12098,
                                          "loc": {
                                            "start": {
                                              "line": 334,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 334,
                                              "column": 48
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 12078,
                                            "end": 12079,
                                            "loc": {
                                              "start": {
                                                "line": 334,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 334,
                                                "column": 29
                                              }
                                            },
                                            "name": "i"
                                          },
                                          "operator": "<",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 12082,
                                            "end": 12098,
                                            "loc": {
                                              "start": {
                                                "line": 334,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 334,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 12082,
                                              "end": 12091,
                                              "loc": {
                                                "start": {
                                                  "line": 334,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 334,
                                                  "column": 41
                                                }
                                              },
                                              "name": "positions"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 12092,
                                              "end": 12098,
                                              "loc": {
                                                "start": {
                                                  "line": 334,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 334,
                                                  "column": 48
                                                }
                                              },
                                              "name": "length"
                                            },
                                            "computed": false
                                          }
                                        },
                                        "update": {
                                          "type": "UpdateExpression",
                                          "start": 12100,
                                          "end": 12103,
                                          "loc": {
                                            "start": {
                                              "line": 334,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 334,
                                              "column": 53
                                            }
                                          },
                                          "operator": "++",
                                          "prefix": false,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 12100,
                                            "end": 12101,
                                            "loc": {
                                              "start": {
                                                "line": 334,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 334,
                                                "column": 51
                                              }
                                            },
                                            "name": "i"
                                          }
                                        },
                                        "body": {
                                          "type": "ExpressionStatement",
                                          "start": 12121,
                                          "end": 12159,
                                          "loc": {
                                            "start": {
                                              "line": 335,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 335,
                                              "column": 54
                                            }
                                          },
                                          "expression": {
                                            "type": "AwaitExpression",
                                            "start": 12121,
                                            "end": 12158,
                                            "loc": {
                                              "start": {
                                                "line": 335,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 335,
                                                "column": 53
                                              }
                                            },
                                            "all": false,
                                            "argument": {
                                              "type": "CallExpression",
                                              "start": 12127,
                                              "end": 12158,
                                              "loc": {
                                                "start": {
                                                  "line": 335,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 335,
                                                  "column": 53
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 12127,
                                                "end": 12144,
                                                "loc": {
                                                  "start": {
                                                    "line": 335,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 335,
                                                    "column": 39
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 12127,
                                                  "end": 12131,
                                                  "loc": {
                                                    "start": {
                                                      "line": 335,
                                                      "column": 22
                                                    },
                                                    "end": {
                                                      "line": 335,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 12132,
                                                  "end": 12144,
                                                  "loc": {
                                                    "start": {
                                                      "line": 335,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 335,
                                                      "column": 39
                                                    }
                                                  },
                                                  "name": "mouseClickAt"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "MemberExpression",
                                                  "start": 12145,
                                                  "end": 12157,
                                                  "loc": {
                                                    "start": {
                                                      "line": 335,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 335,
                                                      "column": 52
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 12145,
                                                    "end": 12154,
                                                    "loc": {
                                                      "start": {
                                                        "line": 335,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 335,
                                                        "column": 49
                                                      }
                                                    },
                                                    "name": "positions"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 12155,
                                                    "end": 12156,
                                                    "loc": {
                                                      "start": {
                                                        "line": 335,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 335,
                                                        "column": 51
                                                      }
                                                    },
                                                    "name": "i"
                                                  },
                                                  "computed": true
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12180,
                      "end": 12218,
                      "loc": {
                        "start": {
                          "line": 337,
                          "column": 8
                        },
                        "end": {
                          "line": 337,
                          "column": 46
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12184,
                          "end": 12217,
                          "loc": {
                            "start": {
                              "line": 337,
                              "column": 12
                            },
                            "end": {
                              "line": 337,
                              "column": 45
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12184,
                            "end": 12187,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 12
                              },
                              "end": {
                                "line": 337,
                                "column": 15
                              }
                            },
                            "name": "obj"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 12190,
                            "end": 12217,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 18
                              },
                              "end": {
                                "line": 337,
                                "column": 45
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12190,
                              "end": 12215,
                              "loc": {
                                "start": {
                                  "line": 337,
                                  "column": 18
                                },
                                "end": {
                                  "line": 337,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 12190,
                                "end": 12208,
                                "loc": {
                                  "start": {
                                    "line": 337,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 337,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 12190,
                                  "end": 12202,
                                  "loc": {
                                    "start": {
                                      "line": 337,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 337,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12190,
                                    "end": 12195,
                                    "loc": {
                                      "start": {
                                        "line": 337,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 337,
                                        "column": 23
                                      }
                                    },
                                    "name": "added"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12196,
                                    "end": 12202,
                                    "loc": {
                                      "start": {
                                        "line": 337,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 337,
                                        "column": 30
                                      }
                                    },
                                    "name": "ofType"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 12203,
                                    "end": 12207,
                                    "loc": {
                                      "start": {
                                        "line": 337,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 337,
                                        "column": 35
                                      }
                                    },
                                    "name": "type"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12209,
                                "end": 12215,
                                "loc": {
                                  "start": {
                                    "line": 337,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 337,
                                    "column": 43
                                  }
                                },
                                "name": "single"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 12227,
                      "end": 12272,
                      "loc": {
                        "start": {
                          "line": 338,
                          "column": 8
                        },
                        "end": {
                          "line": 339,
                          "column": 35
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 12231,
                        "end": 12235,
                        "loc": {
                          "start": {
                            "line": 338,
                            "column": 12
                          },
                          "end": {
                            "line": 338,
                            "column": 16
                          }
                        },
                        "name": "name"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12249,
                        "end": 12272,
                        "loc": {
                          "start": {
                            "line": 339,
                            "column": 12
                          },
                          "end": {
                            "line": 339,
                            "column": 35
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 12249,
                          "end": 12271,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 12
                            },
                            "end": {
                              "line": 339,
                              "column": 34
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 12249,
                            "end": 12260,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 12
                              },
                              "end": {
                                "line": 339,
                                "column": 23
                              }
                            },
                            "name": "setTestName"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 12261,
                              "end": 12264,
                              "loc": {
                                "start": {
                                  "line": 339,
                                  "column": 24
                                },
                                "end": {
                                  "line": 339,
                                  "column": 27
                                }
                              },
                              "name": "obj"
                            },
                            {
                              "type": "Identifier",
                              "start": 12266,
                              "end": 12270,
                              "loc": {
                                "start": {
                                  "line": 339,
                                  "column": 29
                                },
                                "end": {
                                  "line": 339,
                                  "column": 33
                                }
                              },
                              "name": "name"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 12281,
                      "end": 12336,
                      "loc": {
                        "start": {
                          "line": 340,
                          "column": 8
                        },
                        "end": {
                          "line": 341,
                          "column": 36
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 12285,
                        "end": 12298,
                        "loc": {
                          "start": {
                            "line": 340,
                            "column": 12
                          },
                          "end": {
                            "line": 340,
                            "column": 25
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 12286,
                          "end": 12298,
                          "loc": {
                            "start": {
                              "line": 340,
                              "column": 13
                            },
                            "end": {
                              "line": 340,
                              "column": 25
                            }
                          },
                          "name": "leaveHandler"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12312,
                        "end": 12336,
                        "loc": {
                          "start": {
                            "line": 341,
                            "column": 12
                          },
                          "end": {
                            "line": 341,
                            "column": 36
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 12312,
                          "end": 12335,
                          "loc": {
                            "start": {
                              "line": 341,
                              "column": 12
                            },
                            "end": {
                              "line": 341,
                              "column": 35
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 12318,
                            "end": 12335,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 18
                              },
                              "end": {
                                "line": 341,
                                "column": 35
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12318,
                              "end": 12333,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 18
                                },
                                "end": {
                                  "line": 341,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 12318,
                                "end": 12322,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 22
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12323,
                                "end": 12333,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 33
                                  }
                                },
                                "name": "chooseTool"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 12345,
                      "end": 12356,
                      "loc": {
                        "start": {
                          "line": 342,
                          "column": 8
                        },
                        "end": {
                          "line": 342,
                          "column": 19
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 12352,
                        "end": 12355,
                        "loc": {
                          "start": {
                            "line": 342,
                            "column": 15
                          },
                          "end": {
                            "line": 342,
                            "column": 18
                          }
                        },
                        "name": "obj"
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "drawing objects",
                  "start": 11824,
                  "end": 11841,
                  "loc": {
                    "start": {
                      "line": 329,
                      "column": 4
                    },
                    "end": {
                      "line": 329,
                      "column": 21
                    }
                  },
                  "range": [
                    11824,
                    11841
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 12367,
              "end": 12475,
              "loc": {
                "start": {
                  "line": 344,
                  "column": 4
                },
                "end": {
                  "line": 346,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12373,
                "end": 12382,
                "loc": {
                  "start": {
                    "line": 344,
                    "column": 10
                  },
                  "end": {
                    "line": 344,
                    "column": 19
                  }
                },
                "name": "drawPoint"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12382,
                "end": 12475,
                "loc": {
                  "start": {
                    "line": 344,
                    "column": 19
                  },
                  "end": {
                    "line": 346,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12383,
                    "end": 12386,
                    "loc": {
                      "start": {
                        "line": 344,
                        "column": 20
                      },
                      "end": {
                        "line": 344,
                        "column": 23
                      }
                    },
                    "name": "pos"
                  },
                  {
                    "type": "Identifier",
                    "start": 12388,
                    "end": 12392,
                    "loc": {
                      "start": {
                        "line": 344,
                        "column": 25
                      },
                      "end": {
                        "line": 344,
                        "column": 29
                      }
                    },
                    "name": "name"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12394,
                  "end": 12475,
                  "loc": {
                    "start": {
                      "line": 344,
                      "column": 31
                    },
                    "end": {
                      "line": 346,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 12404,
                      "end": 12469,
                      "loc": {
                        "start": {
                          "line": 345,
                          "column": 8
                        },
                        "end": {
                          "line": 345,
                          "column": 73
                        }
                      },
                      "argument": {
                        "type": "AwaitExpression",
                        "start": 12411,
                        "end": 12468,
                        "loc": {
                          "start": {
                            "line": 345,
                            "column": 15
                          },
                          "end": {
                            "line": 345,
                            "column": 72
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 12417,
                          "end": 12468,
                          "loc": {
                            "start": {
                              "line": 345,
                              "column": 21
                            },
                            "end": {
                              "line": 345,
                              "column": 72
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12417,
                            "end": 12433,
                            "loc": {
                              "start": {
                                "line": 345,
                                "column": 21
                              },
                              "end": {
                                "line": 345,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12417,
                              "end": 12421,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 21
                                },
                                "end": {
                                  "line": 345,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12422,
                              "end": 12433,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 26
                                },
                                "end": {
                                  "line": 345,
                                  "column": 37
                                }
                              },
                              "name": "_drawSimple"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 12434,
                              "end": 12441,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 38
                                },
                                "end": {
                                  "line": 345,
                                  "column": 45
                                }
                              },
                              "value": "point",
                              "rawValue": "point",
                              "raw": "'point'"
                            },
                            {
                              "type": "Identifier",
                              "start": 12443,
                              "end": 12454,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 47
                                },
                                "end": {
                                  "line": 345,
                                  "column": 58
                                }
                              },
                              "name": "SketchPoint"
                            },
                            {
                              "type": "ArrayExpression",
                              "start": 12456,
                              "end": 12461,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 60
                                },
                                "end": {
                                  "line": 345,
                                  "column": 65
                                }
                              },
                              "elements": [
                                {
                                  "type": "Identifier",
                                  "start": 12457,
                                  "end": 12460,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 64
                                    }
                                  },
                                  "name": "pos"
                                }
                              ]
                            },
                            {
                              "type": "Identifier",
                              "start": 12463,
                              "end": 12467,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 67
                                },
                                "end": {
                                  "line": 345,
                                  "column": 71
                                }
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12480,
              "end": 12599,
              "loc": {
                "start": {
                  "line": 347,
                  "column": 4
                },
                "end": {
                  "line": 349,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12486,
                "end": 12494,
                "loc": {
                  "start": {
                    "line": 347,
                    "column": 10
                  },
                  "end": {
                    "line": 347,
                    "column": 18
                  }
                },
                "name": "drawLine"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12494,
                "end": 12599,
                "loc": {
                  "start": {
                    "line": 347,
                    "column": 18
                  },
                  "end": {
                    "line": 349,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12495,
                    "end": 12500,
                    "loc": {
                      "start": {
                        "line": 347,
                        "column": 19
                      },
                      "end": {
                        "line": 347,
                        "column": 24
                      }
                    },
                    "name": "start"
                  },
                  {
                    "type": "Identifier",
                    "start": 12502,
                    "end": 12505,
                    "loc": {
                      "start": {
                        "line": 347,
                        "column": 26
                      },
                      "end": {
                        "line": 347,
                        "column": 29
                      }
                    },
                    "name": "end"
                  },
                  {
                    "type": "Identifier",
                    "start": 12507,
                    "end": 12511,
                    "loc": {
                      "start": {
                        "line": 347,
                        "column": 31
                      },
                      "end": {
                        "line": 347,
                        "column": 35
                      }
                    },
                    "name": "name"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12513,
                  "end": 12599,
                  "loc": {
                    "start": {
                      "line": 347,
                      "column": 37
                    },
                    "end": {
                      "line": 349,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 12523,
                      "end": 12593,
                      "loc": {
                        "start": {
                          "line": 348,
                          "column": 8
                        },
                        "end": {
                          "line": 348,
                          "column": 78
                        }
                      },
                      "argument": {
                        "type": "AwaitExpression",
                        "start": 12530,
                        "end": 12592,
                        "loc": {
                          "start": {
                            "line": 348,
                            "column": 15
                          },
                          "end": {
                            "line": 348,
                            "column": 77
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 12536,
                          "end": 12592,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 21
                            },
                            "end": {
                              "line": 348,
                              "column": 77
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12536,
                            "end": 12552,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 21
                              },
                              "end": {
                                "line": 348,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12536,
                              "end": 12540,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 21
                                },
                                "end": {
                                  "line": 348,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12541,
                              "end": 12552,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 26
                                },
                                "end": {
                                  "line": 348,
                                  "column": 37
                                }
                              },
                              "name": "_drawSimple"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 12553,
                              "end": 12559,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 38
                                },
                                "end": {
                                  "line": 348,
                                  "column": 44
                                }
                              },
                              "value": "line",
                              "rawValue": "line",
                              "raw": "'line'"
                            },
                            {
                              "type": "Identifier",
                              "start": 12561,
                              "end": 12571,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 46
                                },
                                "end": {
                                  "line": 348,
                                  "column": 56
                                }
                              },
                              "name": "SketchLine"
                            },
                            {
                              "type": "ArrayExpression",
                              "start": 12573,
                              "end": 12585,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 58
                                },
                                "end": {
                                  "line": 348,
                                  "column": 70
                                }
                              },
                              "elements": [
                                {
                                  "type": "Identifier",
                                  "start": 12574,
                                  "end": 12579,
                                  "loc": {
                                    "start": {
                                      "line": 348,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 348,
                                      "column": 64
                                    }
                                  },
                                  "name": "start"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 12581,
                                  "end": 12584,
                                  "loc": {
                                    "start": {
                                      "line": 348,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 348,
                                      "column": 69
                                    }
                                  },
                                  "name": "end"
                                }
                              ]
                            },
                            {
                              "type": "Identifier",
                              "start": 12587,
                              "end": 12591,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 72
                                },
                                "end": {
                                  "line": 348,
                                  "column": 76
                                }
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "deleting stuff",
                  "start": 12605,
                  "end": 12621,
                  "loc": {
                    "start": {
                      "line": 351,
                      "column": 4
                    },
                    "end": {
                      "line": 351,
                      "column": 20
                    }
                  },
                  "range": [
                    12605,
                    12621
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 12626,
              "end": 12960,
              "loc": {
                "start": {
                  "line": 352,
                  "column": 4
                },
                "end": {
                  "line": 360,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12632,
                "end": 12644,
                "loc": {
                  "start": {
                    "line": 352,
                    "column": 10
                  },
                  "end": {
                    "line": 352,
                    "column": 22
                  }
                },
                "name": "deleteObject"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12644,
                "end": 12960,
                "loc": {
                  "start": {
                    "line": 352,
                    "column": 22
                  },
                  "end": {
                    "line": 360,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12645,
                    "end": 12648,
                    "loc": {
                      "start": {
                        "line": 352,
                        "column": 23
                      },
                      "end": {
                        "line": 352,
                        "column": 26
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "Identifier",
                    "start": 12650,
                    "end": 12662,
                    "loc": {
                      "start": {
                        "line": 352,
                        "column": 28
                      },
                      "end": {
                        "line": 352,
                        "column": 40
                      }
                    },
                    "name": "leaveHandler"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12664,
                  "end": 12960,
                  "loc": {
                    "start": {
                      "line": 352,
                      "column": 42
                    },
                    "end": {
                      "line": 360,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 12674,
                      "end": 12706,
                      "loc": {
                        "start": {
                          "line": 353,
                          "column": 8
                        },
                        "end": {
                          "line": 353,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 12674,
                        "end": 12705,
                        "loc": {
                          "start": {
                            "line": 353,
                            "column": 8
                          },
                          "end": {
                            "line": 353,
                            "column": 39
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 12680,
                          "end": 12705,
                          "loc": {
                            "start": {
                              "line": 353,
                              "column": 14
                            },
                            "end": {
                              "line": 353,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12680,
                            "end": 12695,
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 14
                              },
                              "end": {
                                "line": 353,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12680,
                              "end": 12684,
                              "loc": {
                                "start": {
                                  "line": 353,
                                  "column": 14
                                },
                                "end": {
                                  "line": 353,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12685,
                              "end": 12695,
                              "loc": {
                                "start": {
                                  "line": 353,
                                  "column": 19
                                },
                                "end": {
                                  "line": 353,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 12696,
                              "end": 12704,
                              "loc": {
                                "start": {
                                  "line": 353,
                                  "column": 30
                                },
                                "end": {
                                  "line": 353,
                                  "column": 38
                                }
                              },
                              "value": "delete",
                              "rawValue": "delete",
                              "raw": "'delete'"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12715,
                      "end": 12819,
                      "loc": {
                        "start": {
                          "line": 354,
                          "column": 8
                        },
                        "end": {
                          "line": 356,
                          "column": 11
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12719,
                          "end": 12818,
                          "loc": {
                            "start": {
                              "line": 354,
                              "column": 12
                            },
                            "end": {
                              "line": 356,
                              "column": 10
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12719,
                            "end": 12726,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 12
                              },
                              "end": {
                                "line": 354,
                                "column": 19
                              }
                            },
                            "name": "removed"
                          },
                          "init": {
                            "type": "AwaitExpression",
                            "start": 12729,
                            "end": 12818,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 22
                              },
                              "end": {
                                "line": 356,
                                "column": 10
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 12735,
                              "end": 12818,
                              "loc": {
                                "start": {
                                  "line": 354,
                                  "column": 28
                                },
                                "end": {
                                  "line": 356,
                                  "column": 10
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12735,
                                "end": 12752,
                                "loc": {
                                  "start": {
                                    "line": 354,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 354,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12735,
                                  "end": 12739,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 32
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12740,
                                  "end": 12752,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 45
                                    }
                                  },
                                  "name": "trackRemoved"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 12753,
                                  "end": 12817,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 9
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": true,
                                  "params": [],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 12765,
                                    "end": 12817,
                                    "loc": {
                                      "start": {
                                        "line": 354,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 356,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 12779,
                                        "end": 12807,
                                        "loc": {
                                          "start": {
                                            "line": 355,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 355,
                                            "column": 40
                                          }
                                        },
                                        "expression": {
                                          "type": "AwaitExpression",
                                          "start": 12779,
                                          "end": 12806,
                                          "loc": {
                                            "start": {
                                              "line": 355,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 355,
                                              "column": 39
                                            }
                                          },
                                          "all": false,
                                          "argument": {
                                            "type": "CallExpression",
                                            "start": 12785,
                                            "end": 12806,
                                            "loc": {
                                              "start": {
                                                "line": 355,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 355,
                                                "column": 39
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 12785,
                                              "end": 12801,
                                              "loc": {
                                                "start": {
                                                  "line": 355,
                                                  "column": 18
                                                },
                                                "end": {
                                                  "line": 355,
                                                  "column": 34
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 12785,
                                                "end": 12789,
                                                "loc": {
                                                  "start": {
                                                    "line": 355,
                                                    "column": 18
                                                  },
                                                  "end": {
                                                    "line": 355,
                                                    "column": 22
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 12790,
                                                "end": 12801,
                                                "loc": {
                                                  "start": {
                                                    "line": 355,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 355,
                                                    "column": 34
                                                  }
                                                },
                                                "name": "clickObject"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 12802,
                                                "end": 12805,
                                                "loc": {
                                                  "start": {
                                                    "line": 355,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 355,
                                                    "column": 38
                                                  }
                                                },
                                                "name": "obj"
                                              }
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12828,
                      "end": 12890,
                      "loc": {
                        "start": {
                          "line": 357,
                          "column": 8
                        },
                        "end": {
                          "line": 357,
                          "column": 70
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 12828,
                        "end": 12889,
                        "loc": {
                          "start": {
                            "line": 357,
                            "column": 8
                          },
                          "end": {
                            "line": 357,
                            "column": 69
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 12828,
                          "end": 12833,
                          "loc": {
                            "start": {
                              "line": 357,
                              "column": 8
                            },
                            "end": {
                              "line": 357,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 12834,
                            "end": 12861,
                            "loc": {
                              "start": {
                                "line": 357,
                                "column": 14
                              },
                              "end": {
                                "line": 357,
                                "column": 41
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 12834,
                              "end": 12854,
                              "loc": {
                                "start": {
                                  "line": 357,
                                  "column": 14
                                },
                                "end": {
                                  "line": 357,
                                  "column": 34
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12834,
                                "end": 12849,
                                "loc": {
                                  "start": {
                                    "line": 357,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 357,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12834,
                                  "end": 12841,
                                  "loc": {
                                    "start": {
                                      "line": 357,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 357,
                                      "column": 21
                                    }
                                  },
                                  "name": "removed"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12842,
                                  "end": 12849,
                                  "loc": {
                                    "start": {
                                      "line": 357,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 357,
                                      "column": 29
                                    }
                                  },
                                  "name": "indexOf"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 12850,
                                  "end": 12853,
                                  "loc": {
                                    "start": {
                                      "line": 357,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 357,
                                      "column": 33
                                    }
                                  },
                                  "name": "obj"
                                }
                              ]
                            },
                            "operator": "!==",
                            "right": {
                              "type": "UnaryExpression",
                              "start": 12859,
                              "end": 12861,
                              "loc": {
                                "start": {
                                  "line": 357,
                                  "column": 39
                                },
                                "end": {
                                  "line": 357,
                                  "column": 41
                                }
                              },
                              "operator": "-",
                              "prefix": true,
                              "argument": {
                                "type": "Literal",
                                "start": 12860,
                                "end": 12861,
                                "loc": {
                                  "start": {
                                    "line": 357,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 357,
                                    "column": 41
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              }
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 12863,
                            "end": 12888,
                            "loc": {
                              "start": {
                                "line": 357,
                                "column": 43
                              },
                              "end": {
                                "line": 357,
                                "column": 68
                              }
                            },
                            "value": "Failed to delete object",
                            "rawValue": "Failed to delete object",
                            "raw": "\"Failed to delete object\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 12899,
                      "end": 12954,
                      "loc": {
                        "start": {
                          "line": 358,
                          "column": 8
                        },
                        "end": {
                          "line": 359,
                          "column": 36
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 12903,
                        "end": 12916,
                        "loc": {
                          "start": {
                            "line": 358,
                            "column": 12
                          },
                          "end": {
                            "line": 358,
                            "column": 25
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 12904,
                          "end": 12916,
                          "loc": {
                            "start": {
                              "line": 358,
                              "column": 13
                            },
                            "end": {
                              "line": 358,
                              "column": 25
                            }
                          },
                          "name": "leaveHandler"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12930,
                        "end": 12954,
                        "loc": {
                          "start": {
                            "line": 359,
                            "column": 12
                          },
                          "end": {
                            "line": 359,
                            "column": 36
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 12930,
                          "end": 12953,
                          "loc": {
                            "start": {
                              "line": 359,
                              "column": 12
                            },
                            "end": {
                              "line": 359,
                              "column": 35
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 12936,
                            "end": 12953,
                            "loc": {
                              "start": {
                                "line": 359,
                                "column": 18
                              },
                              "end": {
                                "line": 359,
                                "column": 35
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12936,
                              "end": 12951,
                              "loc": {
                                "start": {
                                  "line": 359,
                                  "column": 18
                                },
                                "end": {
                                  "line": 359,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 12936,
                                "end": 12940,
                                "loc": {
                                  "start": {
                                    "line": 359,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 359,
                                    "column": 22
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12941,
                                "end": 12951,
                                "loc": {
                                  "start": {
                                    "line": 359,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 359,
                                    "column": 33
                                  }
                                },
                                "name": "chooseTool"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "alternate": null
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "deleting stuff",
                  "start": 12605,
                  "end": 12621,
                  "loc": {
                    "start": {
                      "line": 351,
                      "column": 4
                    },
                    "end": {
                      "line": 351,
                      "column": 20
                    }
                  },
                  "range": [
                    12605,
                    12621
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "wrappers around internal structure of geometric objects",
                  "start": 12966,
                  "end": 13023,
                  "loc": {
                    "start": {
                      "line": 362,
                      "column": 4
                    },
                    "end": {
                      "line": 362,
                      "column": 61
                    }
                  },
                  "range": [
                    12966,
                    13023
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 13028,
              "end": 13353,
              "loc": {
                "start": {
                  "line": 363,
                  "column": 4
                },
                "end": {
                  "line": 369,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13028,
                "end": 13039,
                "loc": {
                  "start": {
                    "line": 363,
                    "column": 4
                  },
                  "end": {
                    "line": 363,
                    "column": 15
                  }
                },
                "name": "getEndPoint",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13039,
                "end": 13353,
                "loc": {
                  "start": {
                    "line": 363,
                    "column": 15
                  },
                  "end": {
                    "line": 369,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13040,
                    "end": 13043,
                    "loc": {
                      "start": {
                        "line": 363,
                        "column": 16
                      },
                      "end": {
                        "line": 363,
                        "column": 19
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "Identifier",
                    "start": 13045,
                    "end": 13048,
                    "loc": {
                      "start": {
                        "line": 363,
                        "column": 21
                      },
                      "end": {
                        "line": 363,
                        "column": 24
                      }
                    },
                    "name": "idx"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13050,
                  "end": 13353,
                  "loc": {
                    "start": {
                      "line": 363,
                      "column": 26
                    },
                    "end": {
                      "line": 369,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 13060,
                      "end": 13176,
                      "loc": {
                        "start": {
                          "line": 364,
                          "column": 8
                        },
                        "end": {
                          "line": 364,
                          "column": 124
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 13060,
                        "end": 13175,
                        "loc": {
                          "start": {
                            "line": 364,
                            "column": 8
                          },
                          "end": {
                            "line": 364,
                            "column": 123
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 13060,
                          "end": 13065,
                          "loc": {
                            "start": {
                              "line": 364,
                              "column": 8
                            },
                            "end": {
                              "line": 364,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "LogicalExpression",
                            "start": 13066,
                            "end": 13119,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 14
                              },
                              "end": {
                                "line": 364,
                                "column": 67
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 13066,
                              "end": 13091,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 14
                                },
                                "end": {
                                  "line": 364,
                                  "column": 39
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 13066,
                                "end": 13069,
                                "loc": {
                                  "start": {
                                    "line": 364,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 364,
                                    "column": 17
                                  }
                                },
                                "name": "obj"
                              },
                              "operator": "instanceof",
                              "right": {
                                "type": "Identifier",
                                "start": 13081,
                                "end": 13091,
                                "loc": {
                                  "start": {
                                    "line": 364,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 364,
                                    "column": 39
                                  }
                                },
                                "name": "SketchLine"
                              }
                            },
                            "operator": "||",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 13095,
                              "end": 13119,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 43
                                },
                                "end": {
                                  "line": 364,
                                  "column": 67
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 13095,
                                "end": 13098,
                                "loc": {
                                  "start": {
                                    "line": 364,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 364,
                                    "column": 46
                                  }
                                },
                                "name": "obj"
                              },
                              "operator": "instanceof",
                              "right": {
                                "type": "Identifier",
                                "start": 13110,
                                "end": 13119,
                                "loc": {
                                  "start": {
                                    "line": 364,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 364,
                                    "column": 67
                                  }
                                },
                                "name": "SketchArc"
                              }
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 13121,
                            "end": 13174,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 69
                              },
                              "end": {
                                "line": 364,
                                "column": 122
                              }
                            },
                            "value": "Getting endpoint of something not being line or arc",
                            "rawValue": "Getting endpoint of something not being line or arc",
                            "raw": "\"Getting endpoint of something not being line or arc\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 13185,
                      "end": 13216,
                      "loc": {
                        "start": {
                          "line": 365,
                          "column": 8
                        },
                        "end": {
                          "line": 365,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 13189,
                        "end": 13206,
                        "loc": {
                          "start": {
                            "line": 365,
                            "column": 12
                          },
                          "end": {
                            "line": 365,
                            "column": 29
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 13189,
                          "end": 13192,
                          "loc": {
                            "start": {
                              "line": 365,
                              "column": 12
                            },
                            "end": {
                              "line": 365,
                              "column": 15
                            }
                          },
                          "name": "idx"
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 13197,
                          "end": 13206,
                          "loc": {
                            "start": {
                              "line": 365,
                              "column": 20
                            },
                            "end": {
                              "line": 365,
                              "column": 29
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 13208,
                        "end": 13216,
                        "loc": {
                          "start": {
                            "line": 365,
                            "column": 31
                          },
                          "end": {
                            "line": 365,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 13208,
                          "end": 13215,
                          "loc": {
                            "start": {
                              "line": 365,
                              "column": 31
                            },
                            "end": {
                              "line": 365,
                              "column": 38
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 13208,
                            "end": 13211,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 31
                              },
                              "end": {
                                "line": 365,
                                "column": 34
                              }
                            },
                            "name": "idx"
                          },
                          "right": {
                            "type": "Literal",
                            "start": 13214,
                            "end": 13215,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 37
                              },
                              "end": {
                                "line": 365,
                                "column": 38
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 13225,
                      "end": 13251,
                      "loc": {
                        "start": {
                          "line": 366,
                          "column": 8
                        },
                        "end": {
                          "line": 366,
                          "column": 34
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13229,
                          "end": 13250,
                          "loc": {
                            "start": {
                              "line": 366,
                              "column": 12
                            },
                            "end": {
                              "line": 366,
                              "column": 33
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13229,
                            "end": 13232,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 12
                              },
                              "end": {
                                "line": 366,
                                "column": 15
                              }
                            },
                            "name": "pnt"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 13235,
                            "end": 13250,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 18
                              },
                              "end": {
                                "line": 366,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 13235,
                              "end": 13245,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 18
                                },
                                "end": {
                                  "line": 366,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13235,
                                "end": 13238,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 21
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13239,
                                "end": 13245,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 28
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13246,
                              "end": 13249,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 29
                                },
                                "end": {
                                  "line": 366,
                                  "column": 32
                                }
                              },
                              "name": "idx"
                            },
                            "computed": true
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13260,
                      "end": 13327,
                      "loc": {
                        "start": {
                          "line": 367,
                          "column": 8
                        },
                        "end": {
                          "line": 367,
                          "column": 75
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 13260,
                        "end": 13326,
                        "loc": {
                          "start": {
                            "line": 367,
                            "column": 8
                          },
                          "end": {
                            "line": 367,
                            "column": 74
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 13260,
                          "end": 13265,
                          "loc": {
                            "start": {
                              "line": 367,
                              "column": 8
                            },
                            "end": {
                              "line": 367,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 13266,
                            "end": 13292,
                            "loc": {
                              "start": {
                                "line": 367,
                                "column": 14
                              },
                              "end": {
                                "line": 367,
                                "column": 40
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 13266,
                              "end": 13269,
                              "loc": {
                                "start": {
                                  "line": 367,
                                  "column": 14
                                },
                                "end": {
                                  "line": 367,
                                  "column": 17
                                }
                              },
                              "name": "pnt"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 13281,
                              "end": 13292,
                              "loc": {
                                "start": {
                                  "line": 367,
                                  "column": 29
                                },
                                "end": {
                                  "line": 367,
                                  "column": 40
                                }
                              },
                              "name": "SketchPoint"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 13294,
                            "end": 13325,
                            "loc": {
                              "start": {
                                "line": 367,
                                "column": 42
                              },
                              "end": {
                                "line": 367,
                                "column": 73
                              }
                            },
                            "value": "Cannot get endpoint of object",
                            "rawValue": "Cannot get endpoint of object",
                            "raw": "\"Cannot get endpoint of object\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 13336,
                      "end": 13347,
                      "loc": {
                        "start": {
                          "line": 368,
                          "column": 8
                        },
                        "end": {
                          "line": 368,
                          "column": 19
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 13343,
                        "end": 13346,
                        "loc": {
                          "start": {
                            "line": 368,
                            "column": 15
                          },
                          "end": {
                            "line": 368,
                            "column": 18
                          }
                        },
                        "name": "pnt"
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "wrappers around internal structure of geometric objects",
                  "start": 12966,
                  "end": 13023,
                  "loc": {
                    "start": {
                      "line": 362,
                      "column": 4
                    },
                    "end": {
                      "line": 362,
                      "column": 61
                    }
                  },
                  "range": [
                    12966,
                    13023
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 13358,
              "end": 13425,
              "loc": {
                "start": {
                  "line": 370,
                  "column": 4
                },
                "end": {
                  "line": 372,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13358,
                "end": 13371,
                "loc": {
                  "start": {
                    "line": 370,
                    "column": 4
                  },
                  "end": {
                    "line": 370,
                    "column": 17
                  }
                },
                "name": "getStartPoint"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13371,
                "end": 13425,
                "loc": {
                  "start": {
                    "line": 370,
                    "column": 17
                  },
                  "end": {
                    "line": 372,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13372,
                    "end": 13375,
                    "loc": {
                      "start": {
                        "line": 370,
                        "column": 18
                      },
                      "end": {
                        "line": 370,
                        "column": 21
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13377,
                  "end": 13425,
                  "loc": {
                    "start": {
                      "line": 370,
                      "column": 23
                    },
                    "end": {
                      "line": 372,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 13387,
                      "end": 13419,
                      "loc": {
                        "start": {
                          "line": 371,
                          "column": 8
                        },
                        "end": {
                          "line": 371,
                          "column": 40
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 13394,
                        "end": 13418,
                        "loc": {
                          "start": {
                            "line": 371,
                            "column": 15
                          },
                          "end": {
                            "line": 371,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 13394,
                          "end": 13410,
                          "loc": {
                            "start": {
                              "line": 371,
                              "column": 15
                            },
                            "end": {
                              "line": 371,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13394,
                            "end": 13398,
                            "loc": {
                              "start": {
                                "line": 371,
                                "column": 15
                              },
                              "end": {
                                "line": 371,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13399,
                            "end": 13410,
                            "loc": {
                              "start": {
                                "line": 371,
                                "column": 20
                              },
                              "end": {
                                "line": 371,
                                "column": 31
                              }
                            },
                            "name": "getEndPoint"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 13411,
                            "end": 13414,
                            "loc": {
                              "start": {
                                "line": 371,
                                "column": 32
                              },
                              "end": {
                                "line": 371,
                                "column": 35
                              }
                            },
                            "name": "obj"
                          },
                          {
                            "type": "Literal",
                            "start": 13416,
                            "end": 13417,
                            "loc": {
                              "start": {
                                "line": 371,
                                "column": 37
                              },
                              "end": {
                                "line": 371,
                                "column": 38
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 13430,
              "end": 13568,
              "loc": {
                "start": {
                  "line": 373,
                  "column": 4
                },
                "end": {
                  "line": 376,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13430,
                "end": 13444,
                "loc": {
                  "start": {
                    "line": 373,
                    "column": 4
                  },
                  "end": {
                    "line": 373,
                    "column": 18
                  }
                },
                "name": "getCenterPoint"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13444,
                "end": 13568,
                "loc": {
                  "start": {
                    "line": 373,
                    "column": 18
                  },
                  "end": {
                    "line": 376,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13445,
                    "end": 13448,
                    "loc": {
                      "start": {
                        "line": 373,
                        "column": 19
                      },
                      "end": {
                        "line": 373,
                        "column": 22
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13450,
                  "end": 13568,
                  "loc": {
                    "start": {
                      "line": 373,
                      "column": 24
                    },
                    "end": {
                      "line": 376,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 13460,
                      "end": 13530,
                      "loc": {
                        "start": {
                          "line": 374,
                          "column": 8
                        },
                        "end": {
                          "line": 374,
                          "column": 78
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 13460,
                        "end": 13529,
                        "loc": {
                          "start": {
                            "line": 374,
                            "column": 8
                          },
                          "end": {
                            "line": 374,
                            "column": 77
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 13460,
                          "end": 13465,
                          "loc": {
                            "start": {
                              "line": 374,
                              "column": 8
                            },
                            "end": {
                              "line": 374,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 13466,
                            "end": 13490,
                            "loc": {
                              "start": {
                                "line": 374,
                                "column": 14
                              },
                              "end": {
                                "line": 374,
                                "column": 38
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 13466,
                              "end": 13469,
                              "loc": {
                                "start": {
                                  "line": 374,
                                  "column": 14
                                },
                                "end": {
                                  "line": 374,
                                  "column": 17
                                }
                              },
                              "name": "obj"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 13481,
                              "end": 13490,
                              "loc": {
                                "start": {
                                  "line": 374,
                                  "column": 29
                                },
                                "end": {
                                  "line": 374,
                                  "column": 38
                                }
                              },
                              "name": "SketchArc"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 13492,
                            "end": 13528,
                            "loc": {
                              "start": {
                                "line": 374,
                                "column": 40
                              },
                              "end": {
                                "line": 374,
                                "column": 76
                              }
                            },
                            "value": "Getting center point of not an arc",
                            "rawValue": "Getting center point of not an arc",
                            "raw": "\"Getting center point of not an arc\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 13539,
                      "end": 13562,
                      "loc": {
                        "start": {
                          "line": 375,
                          "column": 8
                        },
                        "end": {
                          "line": 375,
                          "column": 31
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 13546,
                        "end": 13561,
                        "loc": {
                          "start": {
                            "line": 375,
                            "column": 15
                          },
                          "end": {
                            "line": 375,
                            "column": 30
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 13546,
                          "end": 13549,
                          "loc": {
                            "start": {
                              "line": 375,
                              "column": 15
                            },
                            "end": {
                              "line": 375,
                              "column": 18
                            }
                          },
                          "name": "obj"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 13550,
                          "end": 13561,
                          "loc": {
                            "start": {
                              "line": 375,
                              "column": 19
                            },
                            "end": {
                              "line": 375,
                              "column": 30
                            }
                          },
                          "name": "centerPoint"
                        },
                        "computed": false
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 13573,
              "end": 13736,
              "loc": {
                "start": {
                  "line": 377,
                  "column": 4
                },
                "end": {
                  "line": 380,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13573,
                "end": 13579,
                "loc": {
                  "start": {
                    "line": 377,
                    "column": 4
                  },
                  "end": {
                    "line": 377,
                    "column": 10
                  }
                },
                "name": "getPos"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13579,
                "end": 13736,
                "loc": {
                  "start": {
                    "line": 377,
                    "column": 10
                  },
                  "end": {
                    "line": 380,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13580,
                    "end": 13583,
                    "loc": {
                      "start": {
                        "line": 377,
                        "column": 11
                      },
                      "end": {
                        "line": 377,
                        "column": 14
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13585,
                  "end": 13736,
                  "loc": {
                    "start": {
                      "line": 377,
                      "column": 16
                    },
                    "end": {
                      "line": 380,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 13595,
                      "end": 13664,
                      "loc": {
                        "start": {
                          "line": 378,
                          "column": 8
                        },
                        "end": {
                          "line": 378,
                          "column": 77
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 13595,
                        "end": 13663,
                        "loc": {
                          "start": {
                            "line": 378,
                            "column": 8
                          },
                          "end": {
                            "line": 378,
                            "column": 76
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 13595,
                          "end": 13600,
                          "loc": {
                            "start": {
                              "line": 378,
                              "column": 8
                            },
                            "end": {
                              "line": 378,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 13601,
                            "end": 13627,
                            "loc": {
                              "start": {
                                "line": 378,
                                "column": 14
                              },
                              "end": {
                                "line": 378,
                                "column": 40
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 13601,
                              "end": 13604,
                              "loc": {
                                "start": {
                                  "line": 378,
                                  "column": 14
                                },
                                "end": {
                                  "line": 378,
                                  "column": 17
                                }
                              },
                              "name": "obj"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 13616,
                              "end": 13627,
                              "loc": {
                                "start": {
                                  "line": 378,
                                  "column": 29
                                },
                                "end": {
                                  "line": 378,
                                  "column": 40
                                }
                              },
                              "name": "SketchPoint"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 13629,
                            "end": 13662,
                            "loc": {
                              "start": {
                                "line": 378,
                                "column": 42
                              },
                              "end": {
                                "line": 378,
                                "column": 75
                              }
                            },
                            "value": "Getting position of not a point",
                            "rawValue": "Getting position of not a point",
                            "raw": "\"Getting position of not a point\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 13673,
                      "end": 13730,
                      "loc": {
                        "start": {
                          "line": 379,
                          "column": 8
                        },
                        "end": {
                          "line": 379,
                          "column": 65
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 13680,
                        "end": 13729,
                        "loc": {
                          "start": {
                            "line": 379,
                            "column": 15
                          },
                          "end": {
                            "line": 379,
                            "column": 64
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 13684,
                          "end": 13697,
                          "loc": {
                            "start": {
                              "line": 379,
                              "column": 19
                            },
                            "end": {
                              "line": 379,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13684,
                            "end": 13689,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 19
                              },
                              "end": {
                                "line": 379,
                                "column": 24
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13690,
                            "end": 13697,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 25
                              },
                              "end": {
                                "line": 379,
                                "column": 32
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 13698,
                            "end": 13712,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 33
                              },
                              "end": {
                                "line": 379,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 13698,
                              "end": 13710,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 33
                                },
                                "end": {
                                  "line": 379,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13698,
                                "end": 13701,
                                "loc": {
                                  "start": {
                                    "line": 379,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 379,
                                    "column": 36
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13702,
                                "end": 13710,
                                "loc": {
                                  "start": {
                                    "line": 379,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 379,
                                    "column": 45
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13711,
                              "end": 13712,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 46
                                },
                                "end": {
                                  "line": 379,
                                  "column": 47
                                }
                              },
                              "name": "x"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 13714,
                            "end": 13728,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 49
                              },
                              "end": {
                                "line": 379,
                                "column": 63
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 13714,
                              "end": 13726,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 49
                                },
                                "end": {
                                  "line": 379,
                                  "column": 61
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13714,
                                "end": 13717,
                                "loc": {
                                  "start": {
                                    "line": 379,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 379,
                                    "column": 52
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13718,
                                "end": 13726,
                                "loc": {
                                  "start": {
                                    "line": 379,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 379,
                                    "column": 61
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13727,
                              "end": 13728,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 62
                                },
                                "end": {
                                  "line": 379,
                                  "column": 63
                                }
                              },
                              "name": "y"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 13741,
              "end": 14081,
              "loc": {
                "start": {
                  "line": 381,
                  "column": 4
                },
                "end": {
                  "line": 389,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13741,
                "end": 13753,
                "loc": {
                  "start": {
                    "line": 381,
                    "column": 4
                  },
                  "end": {
                    "line": 381,
                    "column": 16
                  }
                },
                "name": "getMiddlePos"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13753,
                "end": 14081,
                "loc": {
                  "start": {
                    "line": 381,
                    "column": 16
                  },
                  "end": {
                    "line": 389,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13754,
                    "end": 13757,
                    "loc": {
                      "start": {
                        "line": 381,
                        "column": 17
                      },
                      "end": {
                        "line": 381,
                        "column": 20
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13759,
                  "end": 14081,
                  "loc": {
                    "start": {
                      "line": 381,
                      "column": 22
                    },
                    "end": {
                      "line": 389,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 13769,
                      "end": 13777,
                      "loc": {
                        "start": {
                          "line": 382,
                          "column": 8
                        },
                        "end": {
                          "line": 382,
                          "column": 16
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13773,
                          "end": 13776,
                          "loc": {
                            "start": {
                              "line": 382,
                              "column": 12
                            },
                            "end": {
                              "line": 382,
                              "column": 15
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13773,
                            "end": 13776,
                            "loc": {
                              "start": {
                                "line": 382,
                                "column": 12
                              },
                              "end": {
                                "line": 382,
                                "column": 15
                              }
                            },
                            "name": "res"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 13786,
                      "end": 13964,
                      "loc": {
                        "start": {
                          "line": 383,
                          "column": 8
                        },
                        "end": {
                          "line": 386,
                          "column": 42
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 13790,
                        "end": 13816,
                        "loc": {
                          "start": {
                            "line": 383,
                            "column": 12
                          },
                          "end": {
                            "line": 383,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 13790,
                          "end": 13793,
                          "loc": {
                            "start": {
                              "line": 383,
                              "column": 12
                            },
                            "end": {
                              "line": 383,
                              "column": 15
                            }
                          },
                          "name": "obj"
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "Identifier",
                          "start": 13805,
                          "end": 13816,
                          "loc": {
                            "start": {
                              "line": 383,
                              "column": 27
                            },
                            "end": {
                              "line": 383,
                              "column": 38
                            }
                          },
                          "name": "SketchPoint"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 13830,
                        "end": 13849,
                        "loc": {
                          "start": {
                            "line": 384,
                            "column": 12
                          },
                          "end": {
                            "line": 384,
                            "column": 31
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 13830,
                          "end": 13848,
                          "loc": {
                            "start": {
                              "line": 384,
                              "column": 12
                            },
                            "end": {
                              "line": 384,
                              "column": 30
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 13830,
                            "end": 13833,
                            "loc": {
                              "start": {
                                "line": 384,
                                "column": 12
                              },
                              "end": {
                                "line": 384,
                                "column": 15
                              }
                            },
                            "name": "res"
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 13836,
                            "end": 13848,
                            "loc": {
                              "start": {
                                "line": 384,
                                "column": 18
                              },
                              "end": {
                                "line": 384,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13836,
                              "end": 13839,
                              "loc": {
                                "start": {
                                  "line": 384,
                                  "column": 18
                                },
                                "end": {
                                  "line": 384,
                                  "column": 21
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13840,
                              "end": 13848,
                              "loc": {
                                "start": {
                                  "line": 384,
                                  "column": 22
                                },
                                "end": {
                                  "line": 384,
                                  "column": 30
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          }
                        }
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 13863,
                        "end": 13964,
                        "loc": {
                          "start": {
                            "line": 385,
                            "column": 13
                          },
                          "end": {
                            "line": 386,
                            "column": 42
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 13867,
                          "end": 13920,
                          "loc": {
                            "start": {
                              "line": 385,
                              "column": 17
                            },
                            "end": {
                              "line": 385,
                              "column": 70
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 13867,
                            "end": 13892,
                            "loc": {
                              "start": {
                                "line": 385,
                                "column": 17
                              },
                              "end": {
                                "line": 385,
                                "column": 42
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 13867,
                              "end": 13870,
                              "loc": {
                                "start": {
                                  "line": 385,
                                  "column": 17
                                },
                                "end": {
                                  "line": 385,
                                  "column": 20
                                }
                              },
                              "name": "obj"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 13882,
                              "end": 13892,
                              "loc": {
                                "start": {
                                  "line": 385,
                                  "column": 32
                                },
                                "end": {
                                  "line": 385,
                                  "column": 42
                                }
                              },
                              "name": "SketchLine"
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 13896,
                            "end": 13920,
                            "loc": {
                              "start": {
                                "line": 385,
                                "column": 46
                              },
                              "end": {
                                "line": 385,
                                "column": 70
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 13896,
                              "end": 13899,
                              "loc": {
                                "start": {
                                  "line": 385,
                                  "column": 46
                                },
                                "end": {
                                  "line": 385,
                                  "column": 49
                                }
                              },
                              "name": "obj"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 13911,
                              "end": 13920,
                              "loc": {
                                "start": {
                                  "line": 385,
                                  "column": 61
                                },
                                "end": {
                                  "line": 385,
                                  "column": 70
                                }
                              },
                              "name": "SketchArc"
                            }
                          }
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 13934,
                          "end": 13964,
                          "loc": {
                            "start": {
                              "line": 386,
                              "column": 12
                            },
                            "end": {
                              "line": 386,
                              "column": 42
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 13934,
                            "end": 13963,
                            "loc": {
                              "start": {
                                "line": 386,
                                "column": 12
                              },
                              "end": {
                                "line": 386,
                                "column": 41
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 13934,
                              "end": 13937,
                              "loc": {
                                "start": {
                                  "line": 386,
                                  "column": 12
                                },
                                "end": {
                                  "line": 386,
                                  "column": 15
                                }
                              },
                              "name": "res"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 13940,
                              "end": 13963,
                              "loc": {
                                "start": {
                                  "line": 386,
                                  "column": 18
                                },
                                "end": {
                                  "line": 386,
                                  "column": 41
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 13940,
                                "end": 13961,
                                "loc": {
                                  "start": {
                                    "line": 386,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 386,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13940,
                                  "end": 13943,
                                  "loc": {
                                    "start": {
                                      "line": 386,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 386,
                                      "column": 21
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13944,
                                  "end": 13961,
                                  "loc": {
                                    "start": {
                                      "line": 386,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 386,
                                      "column": 39
                                    }
                                  },
                                  "name": "getMiddlePosition"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        },
                        "alternate": null
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13973,
                      "end": 14027,
                      "loc": {
                        "start": {
                          "line": 387,
                          "column": 8
                        },
                        "end": {
                          "line": 387,
                          "column": 62
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 13973,
                        "end": 14026,
                        "loc": {
                          "start": {
                            "line": 387,
                            "column": 8
                          },
                          "end": {
                            "line": 387,
                            "column": 61
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 13973,
                          "end": 13978,
                          "loc": {
                            "start": {
                              "line": 387,
                              "column": 8
                            },
                            "end": {
                              "line": 387,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 13979,
                            "end": 13982,
                            "loc": {
                              "start": {
                                "line": 387,
                                "column": 14
                              },
                              "end": {
                                "line": 387,
                                "column": 17
                              }
                            },
                            "name": "res"
                          },
                          {
                            "type": "Literal",
                            "start": 13984,
                            "end": 14025,
                            "loc": {
                              "start": {
                                "line": 387,
                                "column": 19
                              },
                              "end": {
                                "line": 387,
                                "column": 60
                              }
                            },
                            "value": "Getting point on object of unknown type",
                            "rawValue": "Getting point on object of unknown type",
                            "raw": "\"Getting point on object of unknown type\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 14036,
                      "end": 14075,
                      "loc": {
                        "start": {
                          "line": 388,
                          "column": 8
                        },
                        "end": {
                          "line": 388,
                          "column": 47
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 14043,
                        "end": 14074,
                        "loc": {
                          "start": {
                            "line": 388,
                            "column": 15
                          },
                          "end": {
                            "line": 388,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14047,
                          "end": 14060,
                          "loc": {
                            "start": {
                              "line": 388,
                              "column": 19
                            },
                            "end": {
                              "line": 388,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14047,
                            "end": 14052,
                            "loc": {
                              "start": {
                                "line": 388,
                                "column": 19
                              },
                              "end": {
                                "line": 388,
                                "column": 24
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14053,
                            "end": 14060,
                            "loc": {
                              "start": {
                                "line": 388,
                                "column": 25
                              },
                              "end": {
                                "line": 388,
                                "column": 32
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 14061,
                            "end": 14066,
                            "loc": {
                              "start": {
                                "line": 388,
                                "column": 33
                              },
                              "end": {
                                "line": 388,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14061,
                              "end": 14064,
                              "loc": {
                                "start": {
                                  "line": 388,
                                  "column": 33
                                },
                                "end": {
                                  "line": 388,
                                  "column": 36
                                }
                              },
                              "name": "res"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14065,
                              "end": 14066,
                              "loc": {
                                "start": {
                                  "line": 388,
                                  "column": 37
                                },
                                "end": {
                                  "line": 388,
                                  "column": 38
                                }
                              },
                              "name": "x"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 14068,
                            "end": 14073,
                            "loc": {
                              "start": {
                                "line": 388,
                                "column": 40
                              },
                              "end": {
                                "line": 388,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14068,
                              "end": 14071,
                              "loc": {
                                "start": {
                                  "line": 388,
                                  "column": 40
                                },
                                "end": {
                                  "line": 388,
                                  "column": 43
                                }
                              },
                              "name": "res"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14072,
                              "end": 14073,
                              "loc": {
                                "start": {
                                  "line": 388,
                                  "column": 44
                                },
                                "end": {
                                  "line": 388,
                                  "column": 45
                                }
                              },
                              "name": "y"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 14086,
              "end": 14148,
              "loc": {
                "start": {
                  "line": 390,
                  "column": 4
                },
                "end": {
                  "line": 392,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 14086,
                "end": 14096,
                "loc": {
                  "start": {
                    "line": 390,
                    "column": 4
                  },
                  "end": {
                    "line": 390,
                    "column": 14
                  }
                },
                "name": "getPointOn"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 14096,
                "end": 14148,
                "loc": {
                  "start": {
                    "line": 390,
                    "column": 14
                  },
                  "end": {
                    "line": 392,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 14097,
                    "end": 14100,
                    "loc": {
                      "start": {
                        "line": 390,
                        "column": 15
                      },
                      "end": {
                        "line": 390,
                        "column": 18
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 14102,
                  "end": 14148,
                  "loc": {
                    "start": {
                      "line": 390,
                      "column": 20
                    },
                    "end": {
                      "line": 392,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 14112,
                      "end": 14142,
                      "loc": {
                        "start": {
                          "line": 391,
                          "column": 8
                        },
                        "end": {
                          "line": 391,
                          "column": 38
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 14119,
                        "end": 14141,
                        "loc": {
                          "start": {
                            "line": 391,
                            "column": 15
                          },
                          "end": {
                            "line": 391,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14119,
                          "end": 14136,
                          "loc": {
                            "start": {
                              "line": 391,
                              "column": 15
                            },
                            "end": {
                              "line": 391,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14119,
                            "end": 14123,
                            "loc": {
                              "start": {
                                "line": 391,
                                "column": 15
                              },
                              "end": {
                                "line": 391,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14124,
                            "end": 14136,
                            "loc": {
                              "start": {
                                "line": 391,
                                "column": 20
                              },
                              "end": {
                                "line": 391,
                                "column": 32
                              }
                            },
                            "name": "getMiddlePos"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 14137,
                            "end": 14140,
                            "loc": {
                              "start": {
                                "line": 391,
                                "column": 33
                              },
                              "end": {
                                "line": 391,
                                "column": 36
                              }
                            },
                            "name": "obj"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null
    },
    {
      "type": "EmptyStatement",
      "start": 14150,
      "end": 14151,
      "loc": {
        "start": {
          "line": 393,
          "column": 1
        },
        "end": {
          "line": 393,
          "column": 2
        }
      },
      "leadingComments": null,
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Sample format for patterns array:\n * var patterns = [\n *   {name: \"pA\", type: \"point\", position: [10, 20]},             //point with precise location\n *   {name: \"pB\", type: \"point\"},                                 //point (location may be arbitrary)\n *   {name: \"lCD\", type: \"line\", ends: [[0, 0], [50, 0]]},        //line with precise location of endpoints\n *   {name: \"a1\", type: \"arc\", ends: [[0, 0], [50, 0]]},          //arc with precise location of endpoints (arbitrary center)\n *   {type: \"arc\", ends: [[30, 0], [50, 0]], middle: [40, 10]},   //unnamed curve with precise geometric state (endpoints + middle point)\n *   {type: \"line\", ends: [[0, -10], [50, -10]], undir: true},    //unnamed line with given endpoints (maybe in reversed order)\n *   {name: \"lST\", type: \"line\", middle: [50, 50]},               //line with prescribed middle point\n *   {type: \"fixation\", args: \"pA\"},                              //fixation constraint on point named \"pA\"\n *   {type: \"incidence\", args: [\"lCD\", \"lST\"]},                   //lines \"lCD\" and \"lST\" have collinearity constraint on them\n *   {type: \"distance\", args: [1, \"lCD\"], value: 50},             //distance constraint from \"pB\" (second pattern in array) to \"lCD\" with value = 50\n *   {type: \"coincidence\", args: [\"lST.e\", \"3.c\"]},               //'c'enter of arc a1 (by index 3) is coincident with 'e'ndpoint of line lST\n * ];\n *\n * General plan of matching things:\n * 1. Named objects are matched to named patterns.\n *   This is the preferred way of matching things.\n *   You can give (test) names in unit tests by writing:\n *     {name: \"...\", ...},        //pattern with name\n *     setTestName(obj, \"...\");   //sketch object got a name \n *                                //note: there are helpers in SketcherAutomation\n *   Names must be unique among objects and unique among patterns.\n *   Any object or pattern with name must have a match of same name (otherwise error is triggered).\n * 2. Unnamed patterns of geometric objects are matched to unnamed sketch objects.\n *   Each pattern is compared to all yet unmatched sketch objects.\n *   If any compatible sketch object is found, it is considered a match.\n *   Patterns are checked in order of definition, but order of objects on sketch may change.\n *   That's why this method is not very reliable.\n * 3. Unnamed patterns of constraints are matched to unnamed constraints on sketch.\n *   Commutativity of many constraint types is taken into account.\n *   This is usually a good way of matching constraints.\n *\n * After all the matching is complete, we check that for each matching pair all the additional info is compatible (e.g. positions, etc).\n * Finally, you can get the following info:\n * 1. List of all unmatched objects.\n * 2. List of all unmatched patterns.\n * Generally, these lists should be empty for a fully specified sketch description.\n * But you can e.g. avoid describing constraints and check that list 1 contains only constraints.\n ",
          "start": 14153,
          "end": 17127,
          "loc": {
            "start": {
              "line": 395,
              "column": 0
            },
            "end": {
              "line": 435,
              "column": 3
            }
          },
          "range": [
            14153,
            17127
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 17128,
      "end": 28619,
      "loc": {
        "start": {
          "line": 436,
          "column": 0
        },
        "end": {
          "line": 743,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 17135,
        "end": 28619,
        "loc": {
          "start": {
            "line": 436,
            "column": 7
          },
          "end": {
            "line": 743,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 17141,
          "end": 17154,
          "loc": {
            "start": {
              "line": 436,
              "column": 13
            },
            "end": {
              "line": 436,
              "column": 26
            }
          },
          "name": "SketchMatcher",
          "leadingComments": null
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 17155,
          "end": 28619,
          "loc": {
            "start": {
              "line": 436,
              "column": 27
            },
            "end": {
              "line": 743,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 17161,
              "end": 17788,
              "loc": {
                "start": {
                  "line": 437,
                  "column": 4
                },
                "end": {
                  "line": 455,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17161,
                "end": 17172,
                "loc": {
                  "start": {
                    "line": 437,
                    "column": 4
                  },
                  "end": {
                    "line": 437,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 17172,
                "end": 17788,
                "loc": {
                  "start": {
                    "line": 437,
                    "column": 15
                  },
                  "end": {
                    "line": 455,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 17173,
                    "end": 17179,
                    "loc": {
                      "start": {
                        "line": 437,
                        "column": 16
                      },
                      "end": {
                        "line": 437,
                        "column": 22
                      }
                    },
                    "name": "sketch"
                  },
                  {
                    "type": "Identifier",
                    "start": 17181,
                    "end": 17189,
                    "loc": {
                      "start": {
                        "line": 437,
                        "column": 24
                      },
                      "end": {
                        "line": 437,
                        "column": 32
                      }
                    },
                    "name": "patterns"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 17191,
                  "end": 17788,
                  "loc": {
                    "start": {
                      "line": 437,
                      "column": 34
                    },
                    "end": {
                      "line": 455,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 17201,
                      "end": 17227,
                      "loc": {
                        "start": {
                          "line": 438,
                          "column": 8
                        },
                        "end": {
                          "line": 438,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17201,
                        "end": 17226,
                        "loc": {
                          "start": {
                            "line": 438,
                            "column": 8
                          },
                          "end": {
                            "line": 438,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 17201,
                          "end": 17209,
                          "loc": {
                            "start": {
                              "line": 438,
                              "column": 8
                            },
                            "end": {
                              "line": 438,
                              "column": 16
                            }
                          },
                          "name": "patterns"
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 17212,
                          "end": 17226,
                          "loc": {
                            "start": {
                              "line": 438,
                              "column": 19
                            },
                            "end": {
                              "line": 438,
                              "column": 33
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 17212,
                            "end": 17220,
                            "loc": {
                              "start": {
                                "line": 438,
                                "column": 19
                              },
                              "end": {
                                "line": 438,
                                "column": 27
                              }
                            },
                            "name": "patterns"
                          },
                          "operator": "||",
                          "right": {
                            "type": "ArrayExpression",
                            "start": 17224,
                            "end": 17226,
                            "loc": {
                              "start": {
                                "line": 438,
                                "column": 31
                              },
                              "end": {
                                "line": 438,
                                "column": 33
                              }
                            },
                            "elements": []
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17236,
                      "end": 17310,
                      "loc": {
                        "start": {
                          "line": 439,
                          "column": 8
                        },
                        "end": {
                          "line": 439,
                          "column": 82
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17236,
                        "end": 17309,
                        "loc": {
                          "start": {
                            "line": 439,
                            "column": 8
                          },
                          "end": {
                            "line": 439,
                            "column": 81
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 17236,
                          "end": 17241,
                          "loc": {
                            "start": {
                              "line": 439,
                              "column": 8
                            },
                            "end": {
                              "line": 439,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 17242,
                            "end": 17266,
                            "loc": {
                              "start": {
                                "line": 439,
                                "column": 14
                              },
                              "end": {
                                "line": 439,
                                "column": 38
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 17242,
                              "end": 17248,
                              "loc": {
                                "start": {
                                  "line": 439,
                                  "column": 14
                                },
                                "end": {
                                  "line": 439,
                                  "column": 20
                                }
                              },
                              "name": "sketch"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 17260,
                              "end": 17266,
                              "loc": {
                                "start": {
                                  "line": 439,
                                  "column": 32
                                },
                                "end": {
                                  "line": 439,
                                  "column": 38
                                }
                              },
                              "name": "Sketch"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 17268,
                            "end": 17308,
                            "loc": {
                              "start": {
                                "line": 439,
                                "column": 40
                              },
                              "end": {
                                "line": 439,
                                "column": 80
                              }
                            },
                            "value": "Trying to match sketch of unknown type",
                            "rawValue": "Trying to match sketch of unknown type",
                            "raw": "\"Trying to match sketch of unknown type\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17319,
                      "end": 17402,
                      "loc": {
                        "start": {
                          "line": 440,
                          "column": 8
                        },
                        "end": {
                          "line": 440,
                          "column": 91
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17319,
                        "end": 17401,
                        "loc": {
                          "start": {
                            "line": 440,
                            "column": 8
                          },
                          "end": {
                            "line": 440,
                            "column": 90
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 17319,
                          "end": 17324,
                          "loc": {
                            "start": {
                              "line": 440,
                              "column": 8
                            },
                            "end": {
                              "line": 440,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 17325,
                            "end": 17348,
                            "loc": {
                              "start": {
                                "line": 440,
                                "column": 14
                              },
                              "end": {
                                "line": 440,
                                "column": 37
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 17325,
                              "end": 17338,
                              "loc": {
                                "start": {
                                  "line": 440,
                                  "column": 14
                                },
                                "end": {
                                  "line": 440,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 17325,
                                "end": 17330,
                                "loc": {
                                  "start": {
                                    "line": 440,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 440,
                                    "column": 19
                                  }
                                },
                                "name": "Array"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17331,
                                "end": 17338,
                                "loc": {
                                  "start": {
                                    "line": 440,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 440,
                                    "column": 27
                                  }
                                },
                                "name": "isArray"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 17339,
                                "end": 17347,
                                "loc": {
                                  "start": {
                                    "line": 440,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 440,
                                    "column": 36
                                  }
                                },
                                "name": "patterns"
                              }
                            ]
                          },
                          {
                            "type": "Literal",
                            "start": 17350,
                            "end": 17400,
                            "loc": {
                              "start": {
                                "line": 440,
                                "column": 39
                              },
                              "end": {
                                "line": 440,
                                "column": 89
                              }
                            },
                            "value": "Trying to match with patterns not being an array",
                            "rawValue": "Trying to match with patterns not being an array",
                            "raw": "\"Trying to match with patterns not being an array\""
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17412,
                      "end": 17433,
                      "loc": {
                        "start": {
                          "line": 442,
                          "column": 8
                        },
                        "end": {
                          "line": 442,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17412,
                        "end": 17432,
                        "loc": {
                          "start": {
                            "line": 442,
                            "column": 8
                          },
                          "end": {
                            "line": 442,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17412,
                          "end": 17423,
                          "loc": {
                            "start": {
                              "line": 442,
                              "column": 8
                            },
                            "end": {
                              "line": 442,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17412,
                            "end": 17416,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 8
                              },
                              "end": {
                                "line": 442,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17417,
                            "end": 17423,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 13
                              },
                              "end": {
                                "line": 442,
                                "column": 19
                              }
                            },
                            "name": "sketch"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 17426,
                          "end": 17432,
                          "loc": {
                            "start": {
                              "line": 442,
                              "column": 22
                            },
                            "end": {
                              "line": 442,
                              "column": 28
                            }
                          },
                          "name": "sketch"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17442,
                      "end": 17467,
                      "loc": {
                        "start": {
                          "line": 443,
                          "column": 8
                        },
                        "end": {
                          "line": 443,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17442,
                        "end": 17466,
                        "loc": {
                          "start": {
                            "line": 443,
                            "column": 8
                          },
                          "end": {
                            "line": 443,
                            "column": 32
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17442,
                          "end": 17455,
                          "loc": {
                            "start": {
                              "line": 443,
                              "column": 8
                            },
                            "end": {
                              "line": 443,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17442,
                            "end": 17446,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 8
                              },
                              "end": {
                                "line": 443,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17447,
                            "end": 17455,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 13
                              },
                              "end": {
                                "line": 443,
                                "column": 21
                              }
                            },
                            "name": "patterns"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 17458,
                          "end": 17466,
                          "loc": {
                            "start": {
                              "line": 443,
                              "column": 24
                            },
                            "end": {
                              "line": 443,
                              "column": 32
                            }
                          },
                          "name": "patterns"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17477,
                      "end": 17503,
                      "loc": {
                        "start": {
                          "line": 445,
                          "column": 8
                        },
                        "end": {
                          "line": 445,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17477,
                        "end": 17502,
                        "loc": {
                          "start": {
                            "line": 445,
                            "column": 8
                          },
                          "end": {
                            "line": 445,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17477,
                          "end": 17497,
                          "loc": {
                            "start": {
                              "line": 445,
                              "column": 8
                            },
                            "end": {
                              "line": 445,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17477,
                            "end": 17481,
                            "loc": {
                              "start": {
                                "line": 445,
                                "column": 8
                              },
                              "end": {
                                "line": 445,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17482,
                            "end": 17497,
                            "loc": {
                              "start": {
                                "line": 445,
                                "column": 13
                              },
                              "end": {
                                "line": 445,
                                "column": 28
                              }
                            },
                            "name": "unnamedPatterns"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 17500,
                          "end": 17502,
                          "loc": {
                            "start": {
                              "line": 445,
                              "column": 31
                            },
                            "end": {
                              "line": 445,
                              "column": 33
                            }
                          },
                          "elements": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17512,
                      "end": 17536,
                      "loc": {
                        "start": {
                          "line": 446,
                          "column": 8
                        },
                        "end": {
                          "line": 446,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17512,
                        "end": 17535,
                        "loc": {
                          "start": {
                            "line": 446,
                            "column": 8
                          },
                          "end": {
                            "line": 446,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17512,
                          "end": 17530,
                          "loc": {
                            "start": {
                              "line": 446,
                              "column": 8
                            },
                            "end": {
                              "line": 446,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17512,
                            "end": 17516,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 8
                              },
                              "end": {
                                "line": 446,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17517,
                            "end": 17530,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 13
                              },
                              "end": {
                                "line": 446,
                                "column": 26
                              }
                            },
                            "name": "patternByName"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 17533,
                          "end": 17535,
                          "loc": {
                            "start": {
                              "line": 446,
                              "column": 29
                            },
                            "end": {
                              "line": 446,
                              "column": 31
                            }
                          },
                          "properties": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17546,
                      "end": 17564,
                      "loc": {
                        "start": {
                          "line": 448,
                          "column": 8
                        },
                        "end": {
                          "line": 448,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17546,
                        "end": 17563,
                        "loc": {
                          "start": {
                            "line": 448,
                            "column": 8
                          },
                          "end": {
                            "line": 448,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17546,
                          "end": 17558,
                          "loc": {
                            "start": {
                              "line": 448,
                              "column": 8
                            },
                            "end": {
                              "line": 448,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17546,
                            "end": 17550,
                            "loc": {
                              "start": {
                                "line": 448,
                                "column": 8
                              },
                              "end": {
                                "line": 448,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17551,
                            "end": 17558,
                            "loc": {
                              "start": {
                                "line": 448,
                                "column": 13
                              },
                              "end": {
                                "line": 448,
                                "column": 20
                              }
                            },
                            "name": "objects"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 17561,
                          "end": 17563,
                          "loc": {
                            "start": {
                              "line": 448,
                              "column": 23
                            },
                            "end": {
                              "line": 448,
                              "column": 25
                            }
                          },
                          "elements": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17573,
                      "end": 17596,
                      "loc": {
                        "start": {
                          "line": 449,
                          "column": 8
                        },
                        "end": {
                          "line": 449,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17573,
                        "end": 17595,
                        "loc": {
                          "start": {
                            "line": 449,
                            "column": 8
                          },
                          "end": {
                            "line": 449,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17573,
                          "end": 17590,
                          "loc": {
                            "start": {
                              "line": 449,
                              "column": 8
                            },
                            "end": {
                              "line": 449,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17573,
                            "end": 17577,
                            "loc": {
                              "start": {
                                "line": 449,
                                "column": 8
                              },
                              "end": {
                                "line": 449,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17578,
                            "end": 17590,
                            "loc": {
                              "start": {
                                "line": 449,
                                "column": 13
                              },
                              "end": {
                                "line": 449,
                                "column": 25
                              }
                            },
                            "name": "objectByName"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 17593,
                          "end": 17595,
                          "loc": {
                            "start": {
                              "line": 449,
                              "column": 28
                            },
                            "end": {
                              "line": 449,
                              "column": 30
                            }
                          },
                          "properties": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17606,
                      "end": 17633,
                      "loc": {
                        "start": {
                          "line": 451,
                          "column": 8
                        },
                        "end": {
                          "line": 451,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17606,
                        "end": 17632,
                        "loc": {
                          "start": {
                            "line": 451,
                            "column": 8
                          },
                          "end": {
                            "line": 451,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17606,
                          "end": 17626,
                          "loc": {
                            "start": {
                              "line": 451,
                              "column": 8
                            },
                            "end": {
                              "line": 451,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17606,
                            "end": 17610,
                            "loc": {
                              "start": {
                                "line": 451,
                                "column": 8
                              },
                              "end": {
                                "line": 451,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17611,
                            "end": 17626,
                            "loc": {
                              "start": {
                                "line": 451,
                                "column": 13
                              },
                              "end": {
                                "line": 451,
                                "column": 28
                              }
                            },
                            "name": "linearTolerance"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 17629,
                          "end": 17632,
                          "loc": {
                            "start": {
                              "line": 451,
                              "column": 31
                            },
                            "end": {
                              "line": 451,
                              "column": 34
                            }
                          },
                          "value": 0.1,
                          "rawValue": 0.1,
                          "raw": "0.1"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17643,
                      "end": 17689,
                      "loc": {
                        "start": {
                          "line": 453,
                          "column": 8
                        },
                        "end": {
                          "line": 453,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17643,
                        "end": 17688,
                        "loc": {
                          "start": {
                            "line": 453,
                            "column": 8
                          },
                          "end": {
                            "line": 453,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17643,
                          "end": 17661,
                          "loc": {
                            "start": {
                              "line": 453,
                              "column": 8
                            },
                            "end": {
                              "line": 453,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17643,
                            "end": 17647,
                            "loc": {
                              "start": {
                                "line": 453,
                                "column": 8
                              },
                              "end": {
                                "line": 453,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17648,
                            "end": 17661,
                            "loc": {
                              "start": {
                                "line": 453,
                                "column": 13
                              },
                              "end": {
                                "line": 453,
                                "column": 26
                              }
                            },
                            "name": "geometryTypes"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 17664,
                          "end": 17688,
                          "loc": {
                            "start": {
                              "line": 453,
                              "column": 29
                            },
                            "end": {
                              "line": 453,
                              "column": 53
                            }
                          },
                          "elements": [
                            {
                              "type": "Literal",
                              "start": 17665,
                              "end": 17672,
                              "loc": {
                                "start": {
                                  "line": 453,
                                  "column": 30
                                },
                                "end": {
                                  "line": 453,
                                  "column": 37
                                }
                              },
                              "value": "point",
                              "rawValue": "point",
                              "raw": "\"point\""
                            },
                            {
                              "type": "Literal",
                              "start": 17674,
                              "end": 17680,
                              "loc": {
                                "start": {
                                  "line": 453,
                                  "column": 39
                                },
                                "end": {
                                  "line": 453,
                                  "column": 45
                                }
                              },
                              "value": "line",
                              "rawValue": "line",
                              "raw": "\"line\""
                            },
                            {
                              "type": "Literal",
                              "start": 17682,
                              "end": 17687,
                              "loc": {
                                "start": {
                                  "line": 453,
                                  "column": 47
                                },
                                "end": {
                                  "line": 453,
                                  "column": 52
                                }
                              },
                              "value": "arc",
                              "rawValue": "arc",
                              "raw": "\"arc\""
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17698,
                      "end": 17782,
                      "loc": {
                        "start": {
                          "line": 454,
                          "column": 8
                        },
                        "end": {
                          "line": 454,
                          "column": 92
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17698,
                        "end": 17781,
                        "loc": {
                          "start": {
                            "line": 454,
                            "column": 8
                          },
                          "end": {
                            "line": 454,
                            "column": 91
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17698,
                          "end": 17718,
                          "loc": {
                            "start": {
                              "line": 454,
                              "column": 8
                            },
                            "end": {
                              "line": 454,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17698,
                            "end": 17702,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 8
                              },
                              "end": {
                                "line": 454,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17703,
                            "end": 17718,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 13
                              },
                              "end": {
                                "line": 454,
                                "column": 28
                              }
                            },
                            "name": "constraintTypes"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 17721,
                          "end": 17781,
                          "loc": {
                            "start": {
                              "line": 454,
                              "column": 31
                            },
                            "end": {
                              "line": 454,
                              "column": 91
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 17721,
                            "end": 17759,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 31
                              },
                              "end": {
                                "line": 454,
                                "column": 69
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 17721,
                              "end": 17755,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 31
                                },
                                "end": {
                                  "line": 454,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 17721,
                                "end": 17732,
                                "loc": {
                                  "start": {
                                    "line": 454,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 454,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 17721,
                                  "end": 17727,
                                  "loc": {
                                    "start": {
                                      "line": 454,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 454,
                                      "column": 37
                                    }
                                  },
                                  "name": "Object"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17728,
                                  "end": 17732,
                                  "loc": {
                                    "start": {
                                      "line": 454,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 454,
                                      "column": 42
                                    }
                                  },
                                  "name": "keys"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 17733,
                                  "end": 17754,
                                  "loc": {
                                    "start": {
                                      "line": 454,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 454,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 17733,
                                    "end": 17749,
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 454,
                                        "column": 59
                                      }
                                    },
                                    "name": "SketchConstraint"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17750,
                                    "end": 17754,
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 454,
                                        "column": 64
                                      }
                                    },
                                    "name": "Type"
                                  },
                                  "computed": false
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17756,
                              "end": 17759,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 66
                                },
                                "end": {
                                  "line": 454,
                                  "column": 69
                                }
                              },
                              "name": "map"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 17760,
                              "end": 17780,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 70
                                },
                                "end": {
                                  "line": 454,
                                  "column": 90
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": true,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 17760,
                                  "end": 17761,
                                  "loc": {
                                    "start": {
                                      "line": 454,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 454,
                                      "column": 71
                                    }
                                  },
                                  "name": "s"
                                }
                              ],
                              "body": {
                                "type": "CallExpression",
                                "start": 17765,
                                "end": 17780,
                                "loc": {
                                  "start": {
                                    "line": 454,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 454,
                                    "column": 90
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 17765,
                                  "end": 17778,
                                  "loc": {
                                    "start": {
                                      "line": 454,
                                      "column": 75
                                    },
                                    "end": {
                                      "line": 454,
                                      "column": 88
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 17765,
                                    "end": 17766,
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 75
                                      },
                                      "end": {
                                        "line": 454,
                                        "column": 76
                                      }
                                    },
                                    "name": "s"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17767,
                                    "end": 17778,
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 77
                                      },
                                      "end": {
                                        "line": 454,
                                        "column": 88
                                      }
                                    },
                                    "name": "toLowerCase"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17794,
              "end": 18233,
              "loc": {
                "start": {
                  "line": 457,
                  "column": 4
                },
                "end": {
                  "line": 469,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17794,
                "end": 17810,
                "loc": {
                  "start": {
                    "line": 457,
                    "column": 4
                  },
                  "end": {
                    "line": 457,
                    "column": 20
                  }
                },
                "name": "preprocessSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17810,
                "end": 18233,
                "loc": {
                  "start": {
                    "line": 457,
                    "column": 20
                  },
                  "end": {
                    "line": 469,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 17813,
                  "end": 18233,
                  "loc": {
                    "start": {
                      "line": 457,
                      "column": 23
                    },
                    "end": {
                      "line": 469,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 17823,
                      "end": 17871,
                      "loc": {
                        "start": {
                          "line": 458,
                          "column": 8
                        },
                        "end": {
                          "line": 458,
                          "column": 56
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17823,
                        "end": 17870,
                        "loc": {
                          "start": {
                            "line": 458,
                            "column": 8
                          },
                          "end": {
                            "line": 458,
                            "column": 55
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17823,
                          "end": 17835,
                          "loc": {
                            "start": {
                              "line": 458,
                              "column": 8
                            },
                            "end": {
                              "line": 458,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17823,
                            "end": 17827,
                            "loc": {
                              "start": {
                                "line": 458,
                                "column": 8
                              },
                              "end": {
                                "line": 458,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17828,
                            "end": 17835,
                            "loc": {
                              "start": {
                                "line": 458,
                                "column": 13
                              },
                              "end": {
                                "line": 458,
                                "column": 20
                              }
                            },
                            "name": "objects"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 17838,
                          "end": 17870,
                          "loc": {
                            "start": {
                              "line": 458,
                              "column": 23
                            },
                            "end": {
                              "line": 458,
                              "column": 55
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 17838,
                            "end": 17868,
                            "loc": {
                              "start": {
                                "line": 458,
                                "column": 23
                              },
                              "end": {
                                "line": 458,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 17838,
                              "end": 17849,
                              "loc": {
                                "start": {
                                  "line": 458,
                                  "column": 23
                                },
                                "end": {
                                  "line": 458,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 17838,
                                "end": 17842,
                                "loc": {
                                  "start": {
                                    "line": 458,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 458,
                                    "column": 27
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17843,
                                "end": 17849,
                                "loc": {
                                  "start": {
                                    "line": 458,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 458,
                                    "column": 34
                                  }
                                },
                                "name": "sketch"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17850,
                              "end": 17868,
                              "loc": {
                                "start": {
                                  "line": 458,
                                  "column": 35
                                },
                                "end": {
                                  "line": 458,
                                  "column": 53
                                }
                              },
                              "name": "getObjectsOnSketch"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ForStatement",
                      "start": 17881,
                      "end": 18227,
                      "loc": {
                        "start": {
                          "line": 460,
                          "column": 8
                        },
                        "end": {
                          "line": 468,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 17886,
                        "end": 17895,
                        "loc": {
                          "start": {
                            "line": 460,
                            "column": 13
                          },
                          "end": {
                            "line": 460,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 17890,
                            "end": 17895,
                            "loc": {
                              "start": {
                                "line": 460,
                                "column": 17
                              },
                              "end": {
                                "line": 460,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 17890,
                              "end": 17891,
                              "loc": {
                                "start": {
                                  "line": 460,
                                  "column": 17
                                },
                                "end": {
                                  "line": 460,
                                  "column": 18
                                }
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "Literal",
                              "start": 17894,
                              "end": 17895,
                              "loc": {
                                "start": {
                                  "line": 460,
                                  "column": 21
                                },
                                "end": {
                                  "line": 460,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 17897,
                        "end": 17920,
                        "loc": {
                          "start": {
                            "line": 460,
                            "column": 24
                          },
                          "end": {
                            "line": 460,
                            "column": 47
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 17897,
                          "end": 17898,
                          "loc": {
                            "start": {
                              "line": 460,
                              "column": 24
                            },
                            "end": {
                              "line": 460,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 17901,
                          "end": 17920,
                          "loc": {
                            "start": {
                              "line": 460,
                              "column": 28
                            },
                            "end": {
                              "line": 460,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17901,
                            "end": 17913,
                            "loc": {
                              "start": {
                                "line": 460,
                                "column": 28
                              },
                              "end": {
                                "line": 460,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17901,
                              "end": 17905,
                              "loc": {
                                "start": {
                                  "line": 460,
                                  "column": 28
                                },
                                "end": {
                                  "line": 460,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17906,
                              "end": 17913,
                              "loc": {
                                "start": {
                                  "line": 460,
                                  "column": 33
                                },
                                "end": {
                                  "line": 460,
                                  "column": 40
                                }
                              },
                              "name": "objects"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17914,
                            "end": 17920,
                            "loc": {
                              "start": {
                                "line": 460,
                                "column": 41
                              },
                              "end": {
                                "line": 460,
                                "column": 47
                              }
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 17922,
                        "end": 17925,
                        "loc": {
                          "start": {
                            "line": 460,
                            "column": 49
                          },
                          "end": {
                            "line": 460,
                            "column": 52
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 17922,
                          "end": 17923,
                          "loc": {
                            "start": {
                              "line": 460,
                              "column": 49
                            },
                            "end": {
                              "line": 460,
                              "column": 50
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 17927,
                        "end": 18227,
                        "loc": {
                          "start": {
                            "line": 460,
                            "column": 54
                          },
                          "end": {
                            "line": 468,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 17941,
                            "end": 17967,
                            "loc": {
                              "start": {
                                "line": 461,
                                "column": 12
                              },
                              "end": {
                                "line": 461,
                                "column": 38
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 17945,
                                "end": 17966,
                                "loc": {
                                  "start": {
                                    "line": 461,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 461,
                                    "column": 37
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 17945,
                                  "end": 17948,
                                  "loc": {
                                    "start": {
                                      "line": 461,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 461,
                                      "column": 19
                                    }
                                  },
                                  "name": "obj"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 17951,
                                  "end": 17966,
                                  "loc": {
                                    "start": {
                                      "line": 461,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 461,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 17951,
                                    "end": 17963,
                                    "loc": {
                                      "start": {
                                        "line": 461,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 461,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 17951,
                                      "end": 17955,
                                      "loc": {
                                        "start": {
                                          "line": 461,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 461,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17956,
                                      "end": 17963,
                                      "loc": {
                                        "start": {
                                          "line": 461,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 461,
                                          "column": 34
                                        }
                                      },
                                      "name": "objects"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17964,
                                    "end": 17965,
                                    "loc": {
                                      "start": {
                                        "line": 461,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 461,
                                        "column": 36
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 17980,
                            "end": 17998,
                            "loc": {
                              "start": {
                                "line": 462,
                                "column": 12
                              },
                              "end": {
                                "line": 462,
                                "column": 30
                              }
                            },
                            "expression": {
                              "type": "UnaryExpression",
                              "start": 17980,
                              "end": 17997,
                              "loc": {
                                "start": {
                                  "line": 462,
                                  "column": 12
                                },
                                "end": {
                                  "line": 462,
                                  "column": 29
                                }
                              },
                              "operator": "delete",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 17987,
                                "end": 17997,
                                "loc": {
                                  "start": {
                                    "line": 462,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 462,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 17987,
                                  "end": 17990,
                                  "loc": {
                                    "start": {
                                      "line": 462,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 462,
                                      "column": 22
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17991,
                                  "end": 17997,
                                  "loc": {
                                    "start": {
                                      "line": 462,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 462,
                                      "column": 29
                                    }
                                  },
                                  "name": "_match"
                                },
                                "computed": false
                              }
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 18011,
                            "end": 18039,
                            "loc": {
                              "start": {
                                "line": 463,
                                "column": 12
                              },
                              "end": {
                                "line": 463,
                                "column": 40
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 18015,
                                "end": 18038,
                                "loc": {
                                  "start": {
                                    "line": 463,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 463,
                                    "column": 39
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 18015,
                                  "end": 18019,
                                  "loc": {
                                    "start": {
                                      "line": 463,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 463,
                                      "column": 20
                                    }
                                  },
                                  "name": "name"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 18022,
                                  "end": 18038,
                                  "loc": {
                                    "start": {
                                      "line": 463,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 463,
                                      "column": 39
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 18022,
                                    "end": 18033,
                                    "loc": {
                                      "start": {
                                        "line": 463,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 463,
                                        "column": 34
                                      }
                                    },
                                    "name": "getTestName"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 18034,
                                      "end": 18037,
                                      "loc": {
                                        "start": {
                                          "line": 463,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 463,
                                          "column": 38
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 18052,
                            "end": 18217,
                            "loc": {
                              "start": {
                                "line": 464,
                                "column": 12
                              },
                              "end": {
                                "line": 467,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 18056,
                              "end": 18060,
                              "loc": {
                                "start": {
                                  "line": 464,
                                  "column": 16
                                },
                                "end": {
                                  "line": 464,
                                  "column": 20
                                }
                              },
                              "name": "name"
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 18062,
                              "end": 18217,
                              "loc": {
                                "start": {
                                  "line": 464,
                                  "column": 22
                                },
                                "end": {
                                  "line": 467,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 18080,
                                  "end": 18156,
                                  "loc": {
                                    "start": {
                                      "line": 465,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 465,
                                      "column": 92
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 18080,
                                    "end": 18155,
                                    "loc": {
                                      "start": {
                                        "line": 465,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 465,
                                        "column": 91
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 18080,
                                      "end": 18085,
                                      "loc": {
                                        "start": {
                                          "line": 465,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 465,
                                          "column": 21
                                        }
                                      },
                                      "name": "check"
                                    },
                                    "arguments": [
                                      {
                                        "type": "UnaryExpression",
                                        "start": 18086,
                                        "end": 18110,
                                        "loc": {
                                          "start": {
                                            "line": 465,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 465,
                                            "column": 46
                                          }
                                        },
                                        "operator": "!",
                                        "prefix": true,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 18087,
                                          "end": 18110,
                                          "loc": {
                                            "start": {
                                              "line": 465,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 465,
                                              "column": 46
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 18087,
                                            "end": 18104,
                                            "loc": {
                                              "start": {
                                                "line": 465,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 465,
                                                "column": 40
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 18087,
                                              "end": 18091,
                                              "loc": {
                                                "start": {
                                                  "line": 465,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 465,
                                                  "column": 27
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 18092,
                                              "end": 18104,
                                              "loc": {
                                                "start": {
                                                  "line": 465,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 465,
                                                  "column": 40
                                                }
                                              },
                                              "name": "objectByName"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 18105,
                                            "end": 18109,
                                            "loc": {
                                              "start": {
                                                "line": 465,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 465,
                                                "column": 45
                                              }
                                            },
                                            "name": "name"
                                          },
                                          "computed": true
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 18112,
                                        "end": 18154,
                                        "loc": {
                                          "start": {
                                            "line": 465,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 465,
                                            "column": 90
                                          }
                                        },
                                        "left": {
                                          "type": "Literal",
                                          "start": 18112,
                                          "end": 18147,
                                          "loc": {
                                            "start": {
                                              "line": 465,
                                              "column": 48
                                            },
                                            "end": {
                                              "line": 465,
                                              "column": 83
                                            }
                                          },
                                          "value": "Duplicate object found with name ",
                                          "rawValue": "Duplicate object found with name ",
                                          "raw": "\"Duplicate object found with name \""
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 18150,
                                          "end": 18154,
                                          "loc": {
                                            "start": {
                                              "line": 465,
                                              "column": 86
                                            },
                                            "end": {
                                              "line": 465,
                                              "column": 90
                                            }
                                          },
                                          "name": "name"
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 18173,
                                  "end": 18203,
                                  "loc": {
                                    "start": {
                                      "line": 466,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 466,
                                      "column": 46
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 18173,
                                    "end": 18202,
                                    "loc": {
                                      "start": {
                                        "line": 466,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 466,
                                        "column": 45
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 18173,
                                      "end": 18196,
                                      "loc": {
                                        "start": {
                                          "line": 466,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 466,
                                          "column": 39
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 18173,
                                        "end": 18190,
                                        "loc": {
                                          "start": {
                                            "line": 466,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 466,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 18173,
                                          "end": 18177,
                                          "loc": {
                                            "start": {
                                              "line": 466,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 466,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 18178,
                                          "end": 18190,
                                          "loc": {
                                            "start": {
                                              "line": 466,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 466,
                                              "column": 33
                                            }
                                          },
                                          "name": "objectByName"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 18191,
                                        "end": 18195,
                                        "loc": {
                                          "start": {
                                            "line": 466,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 466,
                                            "column": 38
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "computed": true
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 18199,
                                      "end": 18202,
                                      "loc": {
                                        "start": {
                                          "line": 466,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 466,
                                          "column": 45
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  }
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 18239,
              "end": 18803,
              "loc": {
                "start": {
                  "line": 471,
                  "column": 4
                },
                "end": {
                  "line": 484,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 18239,
                "end": 18257,
                "loc": {
                  "start": {
                    "line": 471,
                    "column": 4
                  },
                  "end": {
                    "line": 471,
                    "column": 22
                  }
                },
                "name": "preprocessPatterns"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 18257,
                "end": 18803,
                "loc": {
                  "start": {
                    "line": 471,
                    "column": 22
                  },
                  "end": {
                    "line": 484,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 18260,
                  "end": 18803,
                  "loc": {
                    "start": {
                      "line": 471,
                      "column": 25
                    },
                    "end": {
                      "line": 484,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ForStatement",
                      "start": 18270,
                      "end": 18797,
                      "loc": {
                        "start": {
                          "line": 472,
                          "column": 8
                        },
                        "end": {
                          "line": 483,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 18275,
                        "end": 18284,
                        "loc": {
                          "start": {
                            "line": 472,
                            "column": 13
                          },
                          "end": {
                            "line": 472,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 18279,
                            "end": 18284,
                            "loc": {
                              "start": {
                                "line": 472,
                                "column": 17
                              },
                              "end": {
                                "line": 472,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 18279,
                              "end": 18280,
                              "loc": {
                                "start": {
                                  "line": 472,
                                  "column": 17
                                },
                                "end": {
                                  "line": 472,
                                  "column": 18
                                }
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "Literal",
                              "start": 18283,
                              "end": 18284,
                              "loc": {
                                "start": {
                                  "line": 472,
                                  "column": 21
                                },
                                "end": {
                                  "line": 472,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 18286,
                        "end": 18310,
                        "loc": {
                          "start": {
                            "line": 472,
                            "column": 24
                          },
                          "end": {
                            "line": 472,
                            "column": 48
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 18286,
                          "end": 18287,
                          "loc": {
                            "start": {
                              "line": 472,
                              "column": 24
                            },
                            "end": {
                              "line": 472,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 18290,
                          "end": 18310,
                          "loc": {
                            "start": {
                              "line": 472,
                              "column": 28
                            },
                            "end": {
                              "line": 472,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 18290,
                            "end": 18303,
                            "loc": {
                              "start": {
                                "line": 472,
                                "column": 28
                              },
                              "end": {
                                "line": 472,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 18290,
                              "end": 18294,
                              "loc": {
                                "start": {
                                  "line": 472,
                                  "column": 28
                                },
                                "end": {
                                  "line": 472,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18295,
                              "end": 18303,
                              "loc": {
                                "start": {
                                  "line": 472,
                                  "column": 33
                                },
                                "end": {
                                  "line": 472,
                                  "column": 41
                                }
                              },
                              "name": "patterns"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18304,
                            "end": 18310,
                            "loc": {
                              "start": {
                                "line": 472,
                                "column": 42
                              },
                              "end": {
                                "line": 472,
                                "column": 48
                              }
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 18312,
                        "end": 18315,
                        "loc": {
                          "start": {
                            "line": 472,
                            "column": 50
                          },
                          "end": {
                            "line": 472,
                            "column": 53
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 18312,
                          "end": 18313,
                          "loc": {
                            "start": {
                              "line": 472,
                              "column": 50
                            },
                            "end": {
                              "line": 472,
                              "column": 51
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 18317,
                        "end": 18797,
                        "loc": {
                          "start": {
                            "line": 472,
                            "column": 55
                          },
                          "end": {
                            "line": 483,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 18331,
                            "end": 18358,
                            "loc": {
                              "start": {
                                "line": 473,
                                "column": 12
                              },
                              "end": {
                                "line": 473,
                                "column": 39
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 18335,
                                "end": 18357,
                                "loc": {
                                  "start": {
                                    "line": 473,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 473,
                                    "column": 38
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 18335,
                                  "end": 18338,
                                  "loc": {
                                    "start": {
                                      "line": 473,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 473,
                                      "column": 19
                                    }
                                  },
                                  "name": "pat"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 18341,
                                  "end": 18357,
                                  "loc": {
                                    "start": {
                                      "line": 473,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 473,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 18341,
                                    "end": 18354,
                                    "loc": {
                                      "start": {
                                        "line": 473,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 473,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 18341,
                                      "end": 18345,
                                      "loc": {
                                        "start": {
                                          "line": 473,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 473,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18346,
                                      "end": 18354,
                                      "loc": {
                                        "start": {
                                          "line": 473,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 473,
                                          "column": 35
                                        }
                                      },
                                      "name": "patterns"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18355,
                                    "end": 18356,
                                    "loc": {
                                      "start": {
                                        "line": 473,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 473,
                                        "column": 37
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 18371,
                            "end": 18391,
                            "loc": {
                              "start": {
                                "line": 474,
                                "column": 12
                              },
                              "end": {
                                "line": 474,
                                "column": 32
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 18375,
                                "end": 18390,
                                "loc": {
                                  "start": {
                                    "line": 474,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 474,
                                    "column": 31
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 18375,
                                  "end": 18379,
                                  "loc": {
                                    "start": {
                                      "line": 474,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 474,
                                      "column": 20
                                    }
                                  },
                                  "name": "name"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 18382,
                                  "end": 18390,
                                  "loc": {
                                    "start": {
                                      "line": 474,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 474,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 18382,
                                    "end": 18385,
                                    "loc": {
                                      "start": {
                                        "line": 474,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 474,
                                        "column": 26
                                      }
                                    },
                                    "name": "pat"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18386,
                                    "end": 18390,
                                    "loc": {
                                      "start": {
                                        "line": 474,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 474,
                                        "column": 31
                                      }
                                    },
                                    "name": "name"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 18404,
                            "end": 18480,
                            "loc": {
                              "start": {
                                "line": 475,
                                "column": 12
                              },
                              "end": {
                                "line": 475,
                                "column": 88
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 18404,
                              "end": 18479,
                              "loc": {
                                "start": {
                                  "line": 475,
                                  "column": 12
                                },
                                "end": {
                                  "line": 475,
                                  "column": 87
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 18404,
                                "end": 18409,
                                "loc": {
                                  "start": {
                                    "line": 475,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 475,
                                    "column": 17
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 18410,
                                  "end": 18439,
                                  "loc": {
                                    "start": {
                                      "line": 475,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 475,
                                      "column": 47
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 18410,
                                    "end": 18426,
                                    "loc": {
                                      "start": {
                                        "line": 475,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 475,
                                        "column": 34
                                      }
                                    },
                                    "operator": "typeof",
                                    "prefix": true,
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 18417,
                                      "end": 18425,
                                      "loc": {
                                        "start": {
                                          "line": 475,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 475,
                                          "column": 33
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 18417,
                                        "end": 18420,
                                        "loc": {
                                          "start": {
                                            "line": 475,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 475,
                                            "column": 28
                                          }
                                        },
                                        "name": "pat"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 18421,
                                        "end": 18425,
                                        "loc": {
                                          "start": {
                                            "line": 475,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 475,
                                            "column": 33
                                          }
                                        },
                                        "name": "type"
                                      },
                                      "computed": false,
                                      "parenthesizedExpression": true
                                    }
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "Literal",
                                    "start": 18431,
                                    "end": 18439,
                                    "loc": {
                                      "start": {
                                        "line": 475,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 475,
                                        "column": 47
                                      }
                                    },
                                    "value": "string",
                                    "rawValue": "string",
                                    "raw": "\"string\""
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 18441,
                                  "end": 18478,
                                  "loc": {
                                    "start": {
                                      "line": 475,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 475,
                                      "column": 86
                                    }
                                  },
                                  "value": "Cannot process pattern without type",
                                  "rawValue": "Cannot process pattern without type",
                                  "raw": "\"Cannot process pattern without type\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 18493,
                            "end": 18527,
                            "loc": {
                              "start": {
                                "line": 476,
                                "column": 12
                              },
                              "end": {
                                "line": 476,
                                "column": 46
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 18493,
                              "end": 18526,
                              "loc": {
                                "start": {
                                  "line": 476,
                                  "column": 12
                                },
                                "end": {
                                  "line": 476,
                                  "column": 45
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 18493,
                                "end": 18501,
                                "loc": {
                                  "start": {
                                    "line": 476,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 476,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 18493,
                                  "end": 18496,
                                  "loc": {
                                    "start": {
                                      "line": 476,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 476,
                                      "column": 15
                                    }
                                  },
                                  "name": "pat"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18497,
                                  "end": 18501,
                                  "loc": {
                                    "start": {
                                      "line": 476,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 476,
                                      "column": 20
                                    }
                                  },
                                  "name": "type"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 18504,
                                "end": 18526,
                                "loc": {
                                  "start": {
                                    "line": 476,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 476,
                                    "column": 45
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 18504,
                                  "end": 18524,
                                  "loc": {
                                    "start": {
                                      "line": 476,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 476,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 18504,
                                    "end": 18512,
                                    "loc": {
                                      "start": {
                                        "line": 476,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 476,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 18504,
                                      "end": 18507,
                                      "loc": {
                                        "start": {
                                          "line": 476,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 476,
                                          "column": 26
                                        }
                                      },
                                      "name": "pat"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18508,
                                      "end": 18512,
                                      "loc": {
                                        "start": {
                                          "line": 476,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 476,
                                          "column": 31
                                        }
                                      },
                                      "name": "type"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18513,
                                    "end": 18524,
                                    "loc": {
                                      "start": {
                                        "line": 476,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 476,
                                        "column": 43
                                      }
                                    },
                                    "name": "toLowerCase"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 18540,
                            "end": 18787,
                            "loc": {
                              "start": {
                                "line": 477,
                                "column": 12
                              },
                              "end": {
                                "line": 482,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 18544,
                              "end": 18562,
                              "loc": {
                                "start": {
                                  "line": 477,
                                  "column": 16
                                },
                                "end": {
                                  "line": 477,
                                  "column": 34
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 18544,
                                "end": 18548,
                                "loc": {
                                  "start": {
                                    "line": 477,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 477,
                                    "column": 20
                                  }
                                },
                                "name": "name"
                              },
                              "operator": "===",
                              "right": {
                                "type": "Identifier",
                                "start": 18553,
                                "end": 18562,
                                "loc": {
                                  "start": {
                                    "line": 477,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 477,
                                    "column": 34
                                  }
                                },
                                "name": "undefined"
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 18580,
                              "end": 18611,
                              "loc": {
                                "start": {
                                  "line": 478,
                                  "column": 16
                                },
                                "end": {
                                  "line": 478,
                                  "column": 47
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 18580,
                                "end": 18610,
                                "loc": {
                                  "start": {
                                    "line": 478,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 478,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 18580,
                                  "end": 18605,
                                  "loc": {
                                    "start": {
                                      "line": 478,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 478,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 18580,
                                    "end": 18600,
                                    "loc": {
                                      "start": {
                                        "line": 478,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 478,
                                        "column": 36
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 18580,
                                      "end": 18584,
                                      "loc": {
                                        "start": {
                                          "line": 478,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 478,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18585,
                                      "end": 18600,
                                      "loc": {
                                        "start": {
                                          "line": 478,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 478,
                                          "column": 36
                                        }
                                      },
                                      "name": "unnamedPatterns"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18601,
                                    "end": 18605,
                                    "loc": {
                                      "start": {
                                        "line": 478,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 478,
                                        "column": 41
                                      }
                                    },
                                    "name": "push"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 18606,
                                    "end": 18609,
                                    "loc": {
                                      "start": {
                                        "line": 478,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 478,
                                        "column": 45
                                      }
                                    },
                                    "name": "pat"
                                  }
                                ]
                              }
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "start": 18629,
                              "end": 18787,
                              "loc": {
                                "start": {
                                  "line": 479,
                                  "column": 17
                                },
                                "end": {
                                  "line": 482,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 18647,
                                  "end": 18725,
                                  "loc": {
                                    "start": {
                                      "line": 480,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 480,
                                      "column": 94
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 18647,
                                    "end": 18724,
                                    "loc": {
                                      "start": {
                                        "line": 480,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 480,
                                        "column": 93
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 18647,
                                      "end": 18652,
                                      "loc": {
                                        "start": {
                                          "line": 480,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 480,
                                          "column": 21
                                        }
                                      },
                                      "name": "check"
                                    },
                                    "arguments": [
                                      {
                                        "type": "UnaryExpression",
                                        "start": 18653,
                                        "end": 18678,
                                        "loc": {
                                          "start": {
                                            "line": 480,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 480,
                                            "column": 47
                                          }
                                        },
                                        "operator": "!",
                                        "prefix": true,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 18654,
                                          "end": 18678,
                                          "loc": {
                                            "start": {
                                              "line": 480,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 480,
                                              "column": 47
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 18654,
                                            "end": 18672,
                                            "loc": {
                                              "start": {
                                                "line": 480,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 480,
                                                "column": 41
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 18654,
                                              "end": 18658,
                                              "loc": {
                                                "start": {
                                                  "line": 480,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 480,
                                                  "column": 27
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 18659,
                                              "end": 18672,
                                              "loc": {
                                                "start": {
                                                  "line": 480,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 480,
                                                  "column": 41
                                                }
                                              },
                                              "name": "patternByName"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 18673,
                                            "end": 18677,
                                            "loc": {
                                              "start": {
                                                "line": 480,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 480,
                                                "column": 46
                                              }
                                            },
                                            "name": "name"
                                          },
                                          "computed": true
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 18680,
                                        "end": 18723,
                                        "loc": {
                                          "start": {
                                            "line": 480,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 480,
                                            "column": 92
                                          }
                                        },
                                        "left": {
                                          "type": "Literal",
                                          "start": 18680,
                                          "end": 18716,
                                          "loc": {
                                            "start": {
                                              "line": 480,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 480,
                                              "column": 85
                                            }
                                          },
                                          "value": "Duplicate pattern found with name ",
                                          "rawValue": "Duplicate pattern found with name ",
                                          "raw": "\"Duplicate pattern found with name \""
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 18719,
                                          "end": 18723,
                                          "loc": {
                                            "start": {
                                              "line": 480,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 480,
                                              "column": 92
                                            }
                                          },
                                          "name": "name"
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 18742,
                                  "end": 18773,
                                  "loc": {
                                    "start": {
                                      "line": 481,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 481,
                                      "column": 47
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 18742,
                                    "end": 18772,
                                    "loc": {
                                      "start": {
                                        "line": 481,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 481,
                                        "column": 46
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 18742,
                                      "end": 18766,
                                      "loc": {
                                        "start": {
                                          "line": 481,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 481,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 18742,
                                        "end": 18760,
                                        "loc": {
                                          "start": {
                                            "line": 481,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 481,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 18742,
                                          "end": 18746,
                                          "loc": {
                                            "start": {
                                              "line": 481,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 481,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 18747,
                                          "end": 18760,
                                          "loc": {
                                            "start": {
                                              "line": 481,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 481,
                                              "column": 34
                                            }
                                          },
                                          "name": "patternByName"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 18761,
                                        "end": 18765,
                                        "loc": {
                                          "start": {
                                            "line": 481,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 481,
                                            "column": 39
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "computed": true
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 18769,
                                      "end": 18772,
                                      "loc": {
                                        "start": {
                                          "line": 481,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 481,
                                          "column": 46
                                        }
                                      },
                                      "name": "pat"
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 18809,
              "end": 18945,
              "loc": {
                "start": {
                  "line": 486,
                  "column": 4
                },
                "end": {
                  "line": 488,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 18809,
                "end": 18829,
                "loc": {
                  "start": {
                    "line": 486,
                    "column": 4
                  },
                  "end": {
                    "line": 486,
                    "column": 24
                  }
                },
                "name": "unmatchedNamedObject"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 18829,
                "end": 18945,
                "loc": {
                  "start": {
                    "line": 486,
                    "column": 24
                  },
                  "end": {
                    "line": 488,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 18830,
                    "end": 18833,
                    "loc": {
                      "start": {
                        "line": 486,
                        "column": 25
                      },
                      "end": {
                        "line": 486,
                        "column": 28
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 18835,
                  "end": 18945,
                  "loc": {
                    "start": {
                      "line": 486,
                      "column": 30
                    },
                    "end": {
                      "line": 488,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 18845,
                      "end": 18939,
                      "loc": {
                        "start": {
                          "line": 487,
                          "column": 8
                        },
                        "end": {
                          "line": 487,
                          "column": 102
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 18845,
                        "end": 18938,
                        "loc": {
                          "start": {
                            "line": 487,
                            "column": 8
                          },
                          "end": {
                            "line": 487,
                            "column": 101
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 18845,
                          "end": 18850,
                          "loc": {
                            "start": {
                              "line": 487,
                              "column": 8
                            },
                            "end": {
                              "line": 487,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 18851,
                            "end": 18856,
                            "loc": {
                              "start": {
                                "line": 487,
                                "column": 14
                              },
                              "end": {
                                "line": 487,
                                "column": 19
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 18858,
                            "end": 18937,
                            "loc": {
                              "start": {
                                "line": 487,
                                "column": 21
                              },
                              "end": {
                                "line": 487,
                                "column": 100
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 18858,
                              "end": 18905,
                              "loc": {
                                "start": {
                                  "line": 487,
                                  "column": 21
                                },
                                "end": {
                                  "line": 487,
                                  "column": 68
                                }
                              },
                              "left": {
                                "type": "Literal",
                                "start": 18858,
                                "end": 18886,
                                "loc": {
                                  "start": {
                                    "line": 487,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 487,
                                    "column": 49
                                  }
                                },
                                "value": "Sketch object with name = ",
                                "rawValue": "Sketch object with name = ",
                                "raw": "\"Sketch object with name = \""
                              },
                              "operator": "+",
                              "right": {
                                "type": "CallExpression",
                                "start": 18889,
                                "end": 18905,
                                "loc": {
                                  "start": {
                                    "line": 487,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 487,
                                    "column": 68
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 18889,
                                  "end": 18900,
                                  "loc": {
                                    "start": {
                                      "line": 487,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 487,
                                      "column": 63
                                    }
                                  },
                                  "name": "getTestName"
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 18901,
                                    "end": 18904,
                                    "loc": {
                                      "start": {
                                        "line": 487,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 487,
                                        "column": 67
                                      }
                                    },
                                    "name": "obj"
                                  }
                                ]
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "Literal",
                              "start": 18908,
                              "end": 18937,
                              "loc": {
                                "start": {
                                  "line": 487,
                                  "column": 71
                                },
                                "end": {
                                  "line": 487,
                                  "column": 100
                                }
                              },
                              "value": " is not present in patterns",
                              "rawValue": " is not present in patterns",
                              "raw": "\" is not present in patterns\""
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 18950,
              "end": 19071,
              "loc": {
                "start": {
                  "line": 489,
                  "column": 4
                },
                "end": {
                  "line": 491,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 18950,
                "end": 18971,
                "loc": {
                  "start": {
                    "line": 489,
                    "column": 4
                  },
                  "end": {
                    "line": 489,
                    "column": 25
                  }
                },
                "name": "unmatchedNamedPattern"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 18971,
                "end": 19071,
                "loc": {
                  "start": {
                    "line": 489,
                    "column": 25
                  },
                  "end": {
                    "line": 491,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 18972,
                    "end": 18975,
                    "loc": {
                      "start": {
                        "line": 489,
                        "column": 26
                      },
                      "end": {
                        "line": 489,
                        "column": 29
                      }
                    },
                    "name": "pat"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 18977,
                  "end": 19071,
                  "loc": {
                    "start": {
                      "line": 489,
                      "column": 31
                    },
                    "end": {
                      "line": 491,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 18987,
                      "end": 19065,
                      "loc": {
                        "start": {
                          "line": 490,
                          "column": 8
                        },
                        "end": {
                          "line": 490,
                          "column": 86
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 18987,
                        "end": 19064,
                        "loc": {
                          "start": {
                            "line": 490,
                            "column": 8
                          },
                          "end": {
                            "line": 490,
                            "column": 85
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 18987,
                          "end": 18992,
                          "loc": {
                            "start": {
                              "line": 490,
                              "column": 8
                            },
                            "end": {
                              "line": 490,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 18993,
                            "end": 18998,
                            "loc": {
                              "start": {
                                "line": 490,
                                "column": 14
                              },
                              "end": {
                                "line": 490,
                                "column": 19
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 19000,
                            "end": 19063,
                            "loc": {
                              "start": {
                                "line": 490,
                                "column": 21
                              },
                              "end": {
                                "line": 490,
                                "column": 84
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 19000,
                              "end": 19033,
                              "loc": {
                                "start": {
                                  "line": 490,
                                  "column": 21
                                },
                                "end": {
                                  "line": 490,
                                  "column": 54
                                }
                              },
                              "left": {
                                "type": "Literal",
                                "start": 19000,
                                "end": 19022,
                                "loc": {
                                  "start": {
                                    "line": 490,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 490,
                                    "column": 43
                                  }
                                },
                                "value": "Pattern with name = ",
                                "rawValue": "Pattern with name = ",
                                "raw": "\"Pattern with name = \""
                              },
                              "operator": "+",
                              "right": {
                                "type": "MemberExpression",
                                "start": 19025,
                                "end": 19033,
                                "loc": {
                                  "start": {
                                    "line": 490,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 490,
                                    "column": 54
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 19025,
                                  "end": 19028,
                                  "loc": {
                                    "start": {
                                      "line": 490,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 490,
                                      "column": 49
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19029,
                                  "end": 19033,
                                  "loc": {
                                    "start": {
                                      "line": 490,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 490,
                                      "column": 54
                                    }
                                  },
                                  "name": "name"
                                },
                                "computed": false
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "Literal",
                              "start": 19036,
                              "end": 19063,
                              "loc": {
                                "start": {
                                  "line": 490,
                                  "column": 57
                                },
                                "end": {
                                  "line": 490,
                                  "column": 84
                                }
                              },
                              "value": " is not present on sketch",
                              "rawValue": " is not present on sketch",
                              "raw": "\" is not present on sketch\""
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 19077,
              "end": 19778,
              "loc": {
                "start": {
                  "line": 493,
                  "column": 4
                },
                "end": {
                  "line": 512,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 19077,
                "end": 19087,
                "loc": {
                  "start": {
                    "line": 493,
                    "column": 4
                  },
                  "end": {
                    "line": 493,
                    "column": 14
                  }
                },
                "name": "matchNamed"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 19087,
                "end": 19778,
                "loc": {
                  "start": {
                    "line": 493,
                    "column": 14
                  },
                  "end": {
                    "line": 512,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 19090,
                  "end": 19778,
                  "loc": {
                    "start": {
                      "line": 493,
                      "column": 17
                    },
                    "end": {
                      "line": 512,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ForStatement",
                      "start": 19148,
                      "end": 19521,
                      "loc": {
                        "start": {
                          "line": 495,
                          "column": 8
                        },
                        "end": {
                          "line": 505,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 19153,
                        "end": 19162,
                        "loc": {
                          "start": {
                            "line": 495,
                            "column": 13
                          },
                          "end": {
                            "line": 495,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 19157,
                            "end": 19162,
                            "loc": {
                              "start": {
                                "line": 495,
                                "column": 17
                              },
                              "end": {
                                "line": 495,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 19157,
                              "end": 19158,
                              "loc": {
                                "start": {
                                  "line": 495,
                                  "column": 17
                                },
                                "end": {
                                  "line": 495,
                                  "column": 18
                                }
                              },
                              "name": "i",
                              "leadingComments": null
                            },
                            "init": {
                              "type": "Literal",
                              "start": 19161,
                              "end": 19162,
                              "loc": {
                                "start": {
                                  "line": 495,
                                  "column": 21
                                },
                                "end": {
                                  "line": 495,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "leadingComments": null
                          }
                        ],
                        "kind": "let",
                        "leadingComments": null
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 19164,
                        "end": 19187,
                        "loc": {
                          "start": {
                            "line": 495,
                            "column": 24
                          },
                          "end": {
                            "line": 495,
                            "column": 47
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 19164,
                          "end": 19165,
                          "loc": {
                            "start": {
                              "line": 495,
                              "column": 24
                            },
                            "end": {
                              "line": 495,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 19168,
                          "end": 19187,
                          "loc": {
                            "start": {
                              "line": 495,
                              "column": 28
                            },
                            "end": {
                              "line": 495,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19168,
                            "end": 19180,
                            "loc": {
                              "start": {
                                "line": 495,
                                "column": 28
                              },
                              "end": {
                                "line": 495,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19168,
                              "end": 19172,
                              "loc": {
                                "start": {
                                  "line": 495,
                                  "column": 28
                                },
                                "end": {
                                  "line": 495,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19173,
                              "end": 19180,
                              "loc": {
                                "start": {
                                  "line": 495,
                                  "column": 33
                                },
                                "end": {
                                  "line": 495,
                                  "column": 40
                                }
                              },
                              "name": "objects"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19181,
                            "end": 19187,
                            "loc": {
                              "start": {
                                "line": 495,
                                "column": 41
                              },
                              "end": {
                                "line": 495,
                                "column": 47
                              }
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 19189,
                        "end": 19192,
                        "loc": {
                          "start": {
                            "line": 495,
                            "column": 49
                          },
                          "end": {
                            "line": 495,
                            "column": 52
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 19189,
                          "end": 19190,
                          "loc": {
                            "start": {
                              "line": 495,
                              "column": 49
                            },
                            "end": {
                              "line": 495,
                              "column": 50
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 19194,
                        "end": 19521,
                        "loc": {
                          "start": {
                            "line": 495,
                            "column": 54
                          },
                          "end": {
                            "line": 505,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 19208,
                            "end": 19234,
                            "loc": {
                              "start": {
                                "line": 496,
                                "column": 12
                              },
                              "end": {
                                "line": 496,
                                "column": 38
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 19212,
                                "end": 19233,
                                "loc": {
                                  "start": {
                                    "line": 496,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 496,
                                    "column": 37
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 19212,
                                  "end": 19215,
                                  "loc": {
                                    "start": {
                                      "line": 496,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 496,
                                      "column": 19
                                    }
                                  },
                                  "name": "obj"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 19218,
                                  "end": 19233,
                                  "loc": {
                                    "start": {
                                      "line": 496,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 496,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 19218,
                                    "end": 19230,
                                    "loc": {
                                      "start": {
                                        "line": 496,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 496,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 19218,
                                      "end": 19222,
                                      "loc": {
                                        "start": {
                                          "line": 496,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 496,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19223,
                                      "end": 19230,
                                      "loc": {
                                        "start": {
                                          "line": 496,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 496,
                                          "column": 34
                                        }
                                      },
                                      "name": "objects"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19231,
                                    "end": 19232,
                                    "loc": {
                                      "start": {
                                        "line": 496,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 496,
                                        "column": 36
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 19247,
                            "end": 19275,
                            "loc": {
                              "start": {
                                "line": 497,
                                "column": 12
                              },
                              "end": {
                                "line": 497,
                                "column": 40
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 19251,
                                "end": 19274,
                                "loc": {
                                  "start": {
                                    "line": 497,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 497,
                                    "column": 39
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 19251,
                                  "end": 19255,
                                  "loc": {
                                    "start": {
                                      "line": 497,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 497,
                                      "column": 20
                                    }
                                  },
                                  "name": "name"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 19258,
                                  "end": 19274,
                                  "loc": {
                                    "start": {
                                      "line": 497,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 497,
                                      "column": 39
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 19258,
                                    "end": 19269,
                                    "loc": {
                                      "start": {
                                        "line": 497,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 497,
                                        "column": 34
                                      }
                                    },
                                    "name": "getTestName"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 19270,
                                      "end": 19273,
                                      "loc": {
                                        "start": {
                                          "line": 497,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 497,
                                          "column": 38
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 19288,
                            "end": 19511,
                            "loc": {
                              "start": {
                                "line": 498,
                                "column": 12
                              },
                              "end": {
                                "line": 504,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 19292,
                              "end": 19296,
                              "loc": {
                                "start": {
                                  "line": 498,
                                  "column": 16
                                },
                                "end": {
                                  "line": 498,
                                  "column": 20
                                }
                              },
                              "name": "name"
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 19298,
                              "end": 19511,
                              "loc": {
                                "start": {
                                  "line": 498,
                                  "column": 22
                                },
                                "end": {
                                  "line": 504,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 19316,
                                  "end": 19351,
                                  "loc": {
                                    "start": {
                                      "line": 499,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 499,
                                      "column": 51
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 19320,
                                      "end": 19350,
                                      "loc": {
                                        "start": {
                                          "line": 499,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 499,
                                          "column": 50
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 19320,
                                        "end": 19323,
                                        "loc": {
                                          "start": {
                                            "line": 499,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 499,
                                            "column": 23
                                          }
                                        },
                                        "name": "pat"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 19326,
                                        "end": 19350,
                                        "loc": {
                                          "start": {
                                            "line": 499,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 499,
                                            "column": 50
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 19326,
                                          "end": 19344,
                                          "loc": {
                                            "start": {
                                              "line": 499,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 499,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 19326,
                                            "end": 19330,
                                            "loc": {
                                              "start": {
                                                "line": 499,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 499,
                                                "column": 30
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 19331,
                                            "end": 19344,
                                            "loc": {
                                              "start": {
                                                "line": 499,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 499,
                                                "column": 44
                                              }
                                            },
                                            "name": "patternByName"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 19345,
                                          "end": 19349,
                                          "loc": {
                                            "start": {
                                              "line": 499,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 499,
                                              "column": 49
                                            }
                                          },
                                          "name": "name"
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 19368,
                                  "end": 19429,
                                  "loc": {
                                    "start": {
                                      "line": 500,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 501,
                                      "column": 51
                                    }
                                  },
                                  "test": {
                                    "type": "UnaryExpression",
                                    "start": 19372,
                                    "end": 19376,
                                    "loc": {
                                      "start": {
                                        "line": 500,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 500,
                                        "column": 24
                                      }
                                    },
                                    "operator": "!",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Identifier",
                                      "start": 19373,
                                      "end": 19376,
                                      "loc": {
                                        "start": {
                                          "line": 500,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 500,
                                          "column": 24
                                        }
                                      },
                                      "name": "pat"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 19398,
                                    "end": 19429,
                                    "loc": {
                                      "start": {
                                        "line": 501,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 501,
                                        "column": 51
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 19398,
                                      "end": 19428,
                                      "loc": {
                                        "start": {
                                          "line": 501,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 501,
                                          "column": 50
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 19398,
                                        "end": 19423,
                                        "loc": {
                                          "start": {
                                            "line": 501,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 501,
                                            "column": 45
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 19398,
                                          "end": 19402,
                                          "loc": {
                                            "start": {
                                              "line": 501,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 501,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 19403,
                                          "end": 19423,
                                          "loc": {
                                            "start": {
                                              "line": 501,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 501,
                                              "column": 45
                                            }
                                          },
                                          "name": "unmatchedNamedObject"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 19424,
                                          "end": 19427,
                                          "loc": {
                                            "start": {
                                              "line": 501,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 501,
                                              "column": 49
                                            }
                                          },
                                          "name": "obj"
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 19446,
                                  "end": 19463,
                                  "loc": {
                                    "start": {
                                      "line": 502,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 502,
                                      "column": 33
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 19446,
                                    "end": 19462,
                                    "loc": {
                                      "start": {
                                        "line": 502,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 502,
                                        "column": 32
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 19446,
                                      "end": 19456,
                                      "loc": {
                                        "start": {
                                          "line": 502,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 502,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 19446,
                                        "end": 19449,
                                        "loc": {
                                          "start": {
                                            "line": 502,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 502,
                                            "column": 19
                                          }
                                        },
                                        "name": "pat"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 19450,
                                        "end": 19456,
                                        "loc": {
                                          "start": {
                                            "line": 502,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 502,
                                            "column": 26
                                          }
                                        },
                                        "name": "_match"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 19459,
                                      "end": 19462,
                                      "loc": {
                                        "start": {
                                          "line": 502,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 502,
                                          "column": 32
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 19480,
                                  "end": 19497,
                                  "loc": {
                                    "start": {
                                      "line": 503,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 503,
                                      "column": 33
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 19480,
                                    "end": 19496,
                                    "loc": {
                                      "start": {
                                        "line": 503,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 503,
                                        "column": 32
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 19480,
                                      "end": 19490,
                                      "loc": {
                                        "start": {
                                          "line": 503,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 503,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 19480,
                                        "end": 19483,
                                        "loc": {
                                          "start": {
                                            "line": 503,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 503,
                                            "column": 19
                                          }
                                        },
                                        "name": "obj"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 19484,
                                        "end": 19490,
                                        "loc": {
                                          "start": {
                                            "line": 503,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 503,
                                            "column": 26
                                          }
                                        },
                                        "name": "_match"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 19493,
                                      "end": 19496,
                                      "loc": {
                                        "start": {
                                          "line": 503,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 503,
                                          "column": 32
                                        }
                                      },
                                      "name": "pat"
                                    }
                                  }
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "try to match all named sketch objects",
                          "start": 19100,
                          "end": 19139,
                          "loc": {
                            "start": {
                              "line": 494,
                              "column": 8
                            },
                            "end": {
                              "line": 494,
                              "column": 47
                            }
                          },
                          "range": [
                            19100,
                            19139
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "check if there are unmatched named patterns",
                          "start": 19530,
                          "end": 19575,
                          "loc": {
                            "start": {
                              "line": 506,
                              "column": 8
                            },
                            "end": {
                              "line": 506,
                              "column": 53
                            }
                          },
                          "range": [
                            19530,
                            19575
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 19584,
                      "end": 19772,
                      "loc": {
                        "start": {
                          "line": 507,
                          "column": 8
                        },
                        "end": {
                          "line": 511,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 19589,
                        "end": 19598,
                        "loc": {
                          "start": {
                            "line": 507,
                            "column": 13
                          },
                          "end": {
                            "line": 507,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 19593,
                            "end": 19598,
                            "loc": {
                              "start": {
                                "line": 507,
                                "column": 17
                              },
                              "end": {
                                "line": 507,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 19593,
                              "end": 19594,
                              "loc": {
                                "start": {
                                  "line": 507,
                                  "column": 17
                                },
                                "end": {
                                  "line": 507,
                                  "column": 18
                                }
                              },
                              "name": "i",
                              "leadingComments": null
                            },
                            "init": {
                              "type": "Literal",
                              "start": 19597,
                              "end": 19598,
                              "loc": {
                                "start": {
                                  "line": 507,
                                  "column": 21
                                },
                                "end": {
                                  "line": 507,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "leadingComments": null
                          }
                        ],
                        "kind": "let",
                        "leadingComments": null
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 19600,
                        "end": 19624,
                        "loc": {
                          "start": {
                            "line": 507,
                            "column": 24
                          },
                          "end": {
                            "line": 507,
                            "column": 48
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 19600,
                          "end": 19601,
                          "loc": {
                            "start": {
                              "line": 507,
                              "column": 24
                            },
                            "end": {
                              "line": 507,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 19604,
                          "end": 19624,
                          "loc": {
                            "start": {
                              "line": 507,
                              "column": 28
                            },
                            "end": {
                              "line": 507,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19604,
                            "end": 19617,
                            "loc": {
                              "start": {
                                "line": 507,
                                "column": 28
                              },
                              "end": {
                                "line": 507,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19604,
                              "end": 19608,
                              "loc": {
                                "start": {
                                  "line": 507,
                                  "column": 28
                                },
                                "end": {
                                  "line": 507,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19609,
                              "end": 19617,
                              "loc": {
                                "start": {
                                  "line": 507,
                                  "column": 33
                                },
                                "end": {
                                  "line": 507,
                                  "column": 41
                                }
                              },
                              "name": "patterns"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19618,
                            "end": 19624,
                            "loc": {
                              "start": {
                                "line": 507,
                                "column": 42
                              },
                              "end": {
                                "line": 507,
                                "column": 48
                              }
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 19626,
                        "end": 19629,
                        "loc": {
                          "start": {
                            "line": 507,
                            "column": 50
                          },
                          "end": {
                            "line": 507,
                            "column": 53
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 19626,
                          "end": 19627,
                          "loc": {
                            "start": {
                              "line": 507,
                              "column": 50
                            },
                            "end": {
                              "line": 507,
                              "column": 51
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 19631,
                        "end": 19772,
                        "loc": {
                          "start": {
                            "line": 507,
                            "column": 55
                          },
                          "end": {
                            "line": 511,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 19645,
                            "end": 19672,
                            "loc": {
                              "start": {
                                "line": 508,
                                "column": 12
                              },
                              "end": {
                                "line": 508,
                                "column": 39
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 19649,
                                "end": 19671,
                                "loc": {
                                  "start": {
                                    "line": 508,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 508,
                                    "column": 38
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 19649,
                                  "end": 19652,
                                  "loc": {
                                    "start": {
                                      "line": 508,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 508,
                                      "column": 19
                                    }
                                  },
                                  "name": "pat"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 19655,
                                  "end": 19671,
                                  "loc": {
                                    "start": {
                                      "line": 508,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 508,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 19655,
                                    "end": 19668,
                                    "loc": {
                                      "start": {
                                        "line": 508,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 508,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 19655,
                                      "end": 19659,
                                      "loc": {
                                        "start": {
                                          "line": 508,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 508,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19660,
                                      "end": 19668,
                                      "loc": {
                                        "start": {
                                          "line": 508,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 508,
                                          "column": 35
                                        }
                                      },
                                      "name": "patterns"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19669,
                                    "end": 19670,
                                    "loc": {
                                      "start": {
                                        "line": 508,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 508,
                                        "column": 37
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 19685,
                            "end": 19762,
                            "loc": {
                              "start": {
                                "line": 509,
                                "column": 12
                              },
                              "end": {
                                "line": 510,
                                "column": 48
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 19689,
                              "end": 19712,
                              "loc": {
                                "start": {
                                  "line": 509,
                                  "column": 16
                                },
                                "end": {
                                  "line": 509,
                                  "column": 39
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 19689,
                                "end": 19697,
                                "loc": {
                                  "start": {
                                    "line": 509,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 509,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 19689,
                                  "end": 19692,
                                  "loc": {
                                    "start": {
                                      "line": 509,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 509,
                                      "column": 19
                                    }
                                  },
                                  "name": "pat"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19693,
                                  "end": 19697,
                                  "loc": {
                                    "start": {
                                      "line": 509,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 509,
                                      "column": 24
                                    }
                                  },
                                  "name": "name"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "UnaryExpression",
                                "start": 19701,
                                "end": 19712,
                                "loc": {
                                  "start": {
                                    "line": 509,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 509,
                                    "column": 39
                                  }
                                },
                                "operator": "!",
                                "prefix": true,
                                "argument": {
                                  "type": "MemberExpression",
                                  "start": 19702,
                                  "end": 19712,
                                  "loc": {
                                    "start": {
                                      "line": 509,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 509,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 19702,
                                    "end": 19705,
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 509,
                                        "column": 32
                                      }
                                    },
                                    "name": "pat"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19706,
                                    "end": 19712,
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 509,
                                        "column": 39
                                      }
                                    },
                                    "name": "_match"
                                  },
                                  "computed": false
                                }
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 19730,
                              "end": 19762,
                              "loc": {
                                "start": {
                                  "line": 510,
                                  "column": 16
                                },
                                "end": {
                                  "line": 510,
                                  "column": 48
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 19730,
                                "end": 19761,
                                "loc": {
                                  "start": {
                                    "line": 510,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 510,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 19730,
                                  "end": 19756,
                                  "loc": {
                                    "start": {
                                      "line": 510,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 510,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 19730,
                                    "end": 19734,
                                    "loc": {
                                      "start": {
                                        "line": 510,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 510,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19735,
                                    "end": 19756,
                                    "loc": {
                                      "start": {
                                        "line": 510,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 510,
                                        "column": 42
                                      }
                                    },
                                    "name": "unmatchedNamedPattern"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 19757,
                                    "end": 19760,
                                    "loc": {
                                      "start": {
                                        "line": 510,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 510,
                                        "column": 46
                                      }
                                    },
                                    "name": "pat"
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "check if there are unmatched named patterns",
                          "start": 19530,
                          "end": 19575,
                          "loc": {
                            "start": {
                              "line": 506,
                              "column": 8
                            },
                            "end": {
                              "line": 506,
                              "column": 53
                            }
                          },
                          "range": [
                            19530,
                            19575
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 19784,
              "end": 20570,
              "loc": {
                "start": {
                  "line": 514,
                  "column": 4
                },
                "end": {
                  "line": 537,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 19784,
                "end": 19796,
                "loc": {
                  "start": {
                    "line": 514,
                    "column": 4
                  },
                  "end": {
                    "line": 514,
                    "column": 16
                  }
                },
                "name": "matchUnnamed"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 19796,
                "end": 20570,
                "loc": {
                  "start": {
                    "line": 514,
                    "column": 16
                  },
                  "end": {
                    "line": 537,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 19797,
                    "end": 19806,
                    "loc": {
                      "start": {
                        "line": 514,
                        "column": 17
                      },
                      "end": {
                        "line": 514,
                        "column": 26
                      }
                    },
                    "name": "typesList"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 19808,
                  "end": 20570,
                  "loc": {
                    "start": {
                      "line": 514,
                      "column": 28
                    },
                    "end": {
                      "line": 537,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ForStatement",
                      "start": 19818,
                      "end": 20564,
                      "loc": {
                        "start": {
                          "line": 515,
                          "column": 8
                        },
                        "end": {
                          "line": 536,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 19823,
                        "end": 19832,
                        "loc": {
                          "start": {
                            "line": 515,
                            "column": 13
                          },
                          "end": {
                            "line": 515,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 19827,
                            "end": 19832,
                            "loc": {
                              "start": {
                                "line": 515,
                                "column": 17
                              },
                              "end": {
                                "line": 515,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 19827,
                              "end": 19828,
                              "loc": {
                                "start": {
                                  "line": 515,
                                  "column": 17
                                },
                                "end": {
                                  "line": 515,
                                  "column": 18
                                }
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "Literal",
                              "start": 19831,
                              "end": 19832,
                              "loc": {
                                "start": {
                                  "line": 515,
                                  "column": 21
                                },
                                "end": {
                                  "line": 515,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 19834,
                        "end": 19858,
                        "loc": {
                          "start": {
                            "line": 515,
                            "column": 24
                          },
                          "end": {
                            "line": 515,
                            "column": 48
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 19834,
                          "end": 19835,
                          "loc": {
                            "start": {
                              "line": 515,
                              "column": 24
                            },
                            "end": {
                              "line": 515,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 19838,
                          "end": 19858,
                          "loc": {
                            "start": {
                              "line": 515,
                              "column": 28
                            },
                            "end": {
                              "line": 515,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19838,
                            "end": 19851,
                            "loc": {
                              "start": {
                                "line": 515,
                                "column": 28
                              },
                              "end": {
                                "line": 515,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19838,
                              "end": 19842,
                              "loc": {
                                "start": {
                                  "line": 515,
                                  "column": 28
                                },
                                "end": {
                                  "line": 515,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19843,
                              "end": 19851,
                              "loc": {
                                "start": {
                                  "line": 515,
                                  "column": 33
                                },
                                "end": {
                                  "line": 515,
                                  "column": 41
                                }
                              },
                              "name": "patterns"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19852,
                            "end": 19858,
                            "loc": {
                              "start": {
                                "line": 515,
                                "column": 42
                              },
                              "end": {
                                "line": 515,
                                "column": 48
                              }
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 19860,
                        "end": 19863,
                        "loc": {
                          "start": {
                            "line": 515,
                            "column": 50
                          },
                          "end": {
                            "line": 515,
                            "column": 53
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 19860,
                          "end": 19861,
                          "loc": {
                            "start": {
                              "line": 515,
                              "column": 50
                            },
                            "end": {
                              "line": 515,
                              "column": 51
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 19865,
                        "end": 20564,
                        "loc": {
                          "start": {
                            "line": 515,
                            "column": 55
                          },
                          "end": {
                            "line": 536,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 19879,
                            "end": 19906,
                            "loc": {
                              "start": {
                                "line": 516,
                                "column": 12
                              },
                              "end": {
                                "line": 516,
                                "column": 39
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 19883,
                                "end": 19905,
                                "loc": {
                                  "start": {
                                    "line": 516,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 516,
                                    "column": 38
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 19883,
                                  "end": 19886,
                                  "loc": {
                                    "start": {
                                      "line": 516,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 516,
                                      "column": 19
                                    }
                                  },
                                  "name": "pat"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 19889,
                                  "end": 19905,
                                  "loc": {
                                    "start": {
                                      "line": 516,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 516,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 19889,
                                    "end": 19902,
                                    "loc": {
                                      "start": {
                                        "line": 516,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 516,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 19889,
                                      "end": 19893,
                                      "loc": {
                                        "start": {
                                          "line": 516,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 516,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19894,
                                      "end": 19902,
                                      "loc": {
                                        "start": {
                                          "line": 516,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 516,
                                          "column": 35
                                        }
                                      },
                                      "name": "patterns"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19903,
                                    "end": 19904,
                                    "loc": {
                                      "start": {
                                        "line": 516,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 516,
                                        "column": 37
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 19919,
                            "end": 19960,
                            "loc": {
                              "start": {
                                "line": 517,
                                "column": 12
                              },
                              "end": {
                                "line": 518,
                                "column": 25
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 19923,
                              "end": 19933,
                              "loc": {
                                "start": {
                                  "line": 517,
                                  "column": 16
                                },
                                "end": {
                                  "line": 517,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 19923,
                                "end": 19926,
                                "loc": {
                                  "start": {
                                    "line": 517,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 517,
                                    "column": 19
                                  }
                                },
                                "name": "pat"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 19927,
                                "end": 19933,
                                "loc": {
                                  "start": {
                                    "line": 517,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 517,
                                    "column": 26
                                  }
                                },
                                "name": "_match"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "ContinueStatement",
                              "start": 19951,
                              "end": 19960,
                              "loc": {
                                "start": {
                                  "line": 518,
                                  "column": 16
                                },
                                "end": {
                                  "line": 518,
                                  "column": 25
                                }
                              },
                              "label": null
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 19973,
                            "end": 20038,
                            "loc": {
                              "start": {
                                "line": 519,
                                "column": 12
                              },
                              "end": {
                                "line": 520,
                                "column": 25
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 19977,
                              "end": 20011,
                              "loc": {
                                "start": {
                                  "line": 519,
                                  "column": 16
                                },
                                "end": {
                                  "line": 519,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 19977,
                                "end": 20004,
                                "loc": {
                                  "start": {
                                    "line": 519,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 519,
                                    "column": 43
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 19977,
                                  "end": 19994,
                                  "loc": {
                                    "start": {
                                      "line": 519,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 519,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 19977,
                                    "end": 19986,
                                    "loc": {
                                      "start": {
                                        "line": 519,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 519,
                                        "column": 25
                                      }
                                    },
                                    "name": "typesList"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19987,
                                    "end": 19994,
                                    "loc": {
                                      "start": {
                                        "line": 519,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 519,
                                        "column": 33
                                      }
                                    },
                                    "name": "indexOf"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 19995,
                                    "end": 20003,
                                    "loc": {
                                      "start": {
                                        "line": 519,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 519,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 19995,
                                      "end": 19998,
                                      "loc": {
                                        "start": {
                                          "line": 519,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 519,
                                          "column": 37
                                        }
                                      },
                                      "name": "pat"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19999,
                                      "end": 20003,
                                      "loc": {
                                        "start": {
                                          "line": 519,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 519,
                                          "column": 42
                                        }
                                      },
                                      "name": "type"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "operator": "===",
                              "right": {
                                "type": "UnaryExpression",
                                "start": 20009,
                                "end": 20011,
                                "loc": {
                                  "start": {
                                    "line": 519,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 519,
                                    "column": 50
                                  }
                                },
                                "operator": "-",
                                "prefix": true,
                                "argument": {
                                  "type": "Literal",
                                  "start": 20010,
                                  "end": 20011,
                                  "loc": {
                                    "start": {
                                      "line": 519,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 519,
                                      "column": 50
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              }
                            },
                            "consequent": {
                              "type": "ContinueStatement",
                              "start": 20029,
                              "end": 20038,
                              "loc": {
                                "start": {
                                  "line": 520,
                                  "column": 16
                                },
                                "end": {
                                  "line": 520,
                                  "column": 25
                                }
                              },
                              "label": null
                            },
                            "alternate": null
                          },
                          {
                            "type": "ForStatement",
                            "start": 20052,
                            "end": 20554,
                            "loc": {
                              "start": {
                                "line": 522,
                                "column": 12
                              },
                              "end": {
                                "line": 535,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 20057,
                              "end": 20066,
                              "loc": {
                                "start": {
                                  "line": 522,
                                  "column": 17
                                },
                                "end": {
                                  "line": 522,
                                  "column": 26
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 20061,
                                  "end": 20066,
                                  "loc": {
                                    "start": {
                                      "line": 522,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 522,
                                      "column": 26
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 20061,
                                    "end": 20062,
                                    "loc": {
                                      "start": {
                                        "line": 522,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 522,
                                        "column": 22
                                      }
                                    },
                                    "name": "j"
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "start": 20065,
                                    "end": 20066,
                                    "loc": {
                                      "start": {
                                        "line": 522,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 522,
                                        "column": 26
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                }
                              ],
                              "kind": "let"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 20068,
                              "end": 20091,
                              "loc": {
                                "start": {
                                  "line": 522,
                                  "column": 28
                                },
                                "end": {
                                  "line": 522,
                                  "column": 51
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 20068,
                                "end": 20069,
                                "loc": {
                                  "start": {
                                    "line": 522,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 522,
                                    "column": 29
                                  }
                                },
                                "name": "j"
                              },
                              "operator": "<",
                              "right": {
                                "type": "MemberExpression",
                                "start": 20072,
                                "end": 20091,
                                "loc": {
                                  "start": {
                                    "line": 522,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 522,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 20072,
                                  "end": 20084,
                                  "loc": {
                                    "start": {
                                      "line": 522,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 522,
                                      "column": 44
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 20072,
                                    "end": 20076,
                                    "loc": {
                                      "start": {
                                        "line": 522,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 522,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 20077,
                                    "end": 20084,
                                    "loc": {
                                      "start": {
                                        "line": 522,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 522,
                                        "column": 44
                                      }
                                    },
                                    "name": "objects"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20085,
                                  "end": 20091,
                                  "loc": {
                                    "start": {
                                      "line": 522,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 522,
                                      "column": 51
                                    }
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "start": 20093,
                              "end": 20096,
                              "loc": {
                                "start": {
                                  "line": 522,
                                  "column": 53
                                },
                                "end": {
                                  "line": 522,
                                  "column": 56
                                }
                              },
                              "operator": "++",
                              "prefix": false,
                              "argument": {
                                "type": "Identifier",
                                "start": 20093,
                                "end": 20094,
                                "loc": {
                                  "start": {
                                    "line": 522,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 522,
                                    "column": 54
                                  }
                                },
                                "name": "j"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 20098,
                              "end": 20554,
                              "loc": {
                                "start": {
                                  "line": 522,
                                  "column": 58
                                },
                                "end": {
                                  "line": 535,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 20116,
                                  "end": 20142,
                                  "loc": {
                                    "start": {
                                      "line": 523,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 523,
                                      "column": 42
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 20120,
                                      "end": 20141,
                                      "loc": {
                                        "start": {
                                          "line": 523,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 523,
                                          "column": 41
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 20120,
                                        "end": 20123,
                                        "loc": {
                                          "start": {
                                            "line": 523,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 523,
                                            "column": 23
                                          }
                                        },
                                        "name": "obj"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 20126,
                                        "end": 20141,
                                        "loc": {
                                          "start": {
                                            "line": 523,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 523,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 20126,
                                          "end": 20138,
                                          "loc": {
                                            "start": {
                                              "line": 523,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 523,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 20126,
                                            "end": 20130,
                                            "loc": {
                                              "start": {
                                                "line": 523,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 523,
                                                "column": 30
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20131,
                                            "end": 20138,
                                            "loc": {
                                              "start": {
                                                "line": 523,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 523,
                                                "column": 38
                                              }
                                            },
                                            "name": "objects"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 20139,
                                          "end": 20140,
                                          "loc": {
                                            "start": {
                                              "line": 523,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 523,
                                              "column": 40
                                            }
                                          },
                                          "name": "j"
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 20159,
                                  "end": 20204,
                                  "loc": {
                                    "start": {
                                      "line": 524,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 525,
                                      "column": 29
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 20163,
                                    "end": 20173,
                                    "loc": {
                                      "start": {
                                        "line": 524,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 524,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 20163,
                                      "end": 20166,
                                      "loc": {
                                        "start": {
                                          "line": 524,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 524,
                                          "column": 23
                                        }
                                      },
                                      "name": "obj"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 20167,
                                      "end": 20173,
                                      "loc": {
                                        "start": {
                                          "line": 524,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 524,
                                          "column": 30
                                        }
                                      },
                                      "name": "_match"
                                    },
                                    "computed": false
                                  },
                                  "consequent": {
                                    "type": "ContinueStatement",
                                    "start": 20195,
                                    "end": 20204,
                                    "loc": {
                                      "start": {
                                        "line": 525,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 525,
                                        "column": 29
                                      }
                                    },
                                    "label": null
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 20221,
                                  "end": 20256,
                                  "loc": {
                                    "start": {
                                      "line": 526,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 526,
                                      "column": 51
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 20225,
                                      "end": 20255,
                                      "loc": {
                                        "start": {
                                          "line": 526,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 526,
                                          "column": 50
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 20225,
                                        "end": 20229,
                                        "loc": {
                                          "start": {
                                            "line": 526,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 526,
                                            "column": 24
                                          }
                                        },
                                        "name": "type"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 20232,
                                        "end": 20255,
                                        "loc": {
                                          "start": {
                                            "line": 526,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 526,
                                            "column": 50
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 20232,
                                          "end": 20250,
                                          "loc": {
                                            "start": {
                                              "line": 526,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 526,
                                              "column": 45
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 20232,
                                            "end": 20236,
                                            "loc": {
                                              "start": {
                                                "line": 526,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 526,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20237,
                                            "end": 20250,
                                            "loc": {
                                              "start": {
                                                "line": 526,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 526,
                                                "column": 45
                                              }
                                            },
                                            "name": "getObjectType"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 20251,
                                            "end": 20254,
                                            "loc": {
                                              "start": {
                                                "line": 526,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 526,
                                                "column": 49
                                              }
                                            },
                                            "name": "obj"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 20273,
                                  "end": 20351,
                                  "loc": {
                                    "start": {
                                      "line": 527,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 528,
                                      "column": 29
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 20277,
                                    "end": 20294,
                                    "loc": {
                                      "start": {
                                        "line": 527,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 527,
                                        "column": 37
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 20277,
                                      "end": 20281,
                                      "loc": {
                                        "start": {
                                          "line": 527,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 527,
                                          "column": 24
                                        }
                                      },
                                      "name": "type"
                                    },
                                    "operator": "!==",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 20286,
                                      "end": 20294,
                                      "loc": {
                                        "start": {
                                          "line": 527,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 527,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 20286,
                                        "end": 20289,
                                        "loc": {
                                          "start": {
                                            "line": 527,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 527,
                                            "column": 32
                                          }
                                        },
                                        "name": "pat"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 20290,
                                        "end": 20294,
                                        "loc": {
                                          "start": {
                                            "line": 527,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 527,
                                            "column": 37
                                          }
                                        },
                                        "name": "type"
                                      },
                                      "computed": false
                                    }
                                  },
                                  "consequent": {
                                    "type": "ContinueStatement",
                                    "start": 20342,
                                    "end": 20351,
                                    "loc": {
                                      "start": {
                                        "line": 528,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 528,
                                        "column": 29
                                      }
                                    },
                                    "label": null,
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": "TODO: edit distance?",
                                        "start": 20299,
                                        "end": 20321,
                                        "loc": {
                                          "start": {
                                            "line": 527,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 527,
                                            "column": 64
                                          }
                                        },
                                        "range": [
                                          20299,
                                          20321
                                        ]
                                      }
                                    ]
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 20385,
                                  "end": 20540,
                                  "loc": {
                                    "start": {
                                      "line": 530,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 534,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "CallExpression",
                                    "start": 20389,
                                    "end": 20416,
                                    "loc": {
                                      "start": {
                                        "line": 530,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 530,
                                        "column": 47
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 20389,
                                      "end": 20406,
                                      "loc": {
                                        "start": {
                                          "line": 530,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 530,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 20389,
                                        "end": 20393,
                                        "loc": {
                                          "start": {
                                            "line": 530,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 530,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 20394,
                                        "end": 20406,
                                        "loc": {
                                          "start": {
                                            "line": 530,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 530,
                                            "column": 37
                                          }
                                        },
                                        "name": "isCompatible"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 20407,
                                        "end": 20410,
                                        "loc": {
                                          "start": {
                                            "line": 530,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 530,
                                            "column": 41
                                          }
                                        },
                                        "name": "obj"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 20412,
                                        "end": 20415,
                                        "loc": {
                                          "start": {
                                            "line": 530,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 530,
                                            "column": 46
                                          }
                                        },
                                        "name": "pat"
                                      }
                                    ]
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 20418,
                                    "end": 20540,
                                    "loc": {
                                      "start": {
                                        "line": 530,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 534,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 20440,
                                        "end": 20457,
                                        "loc": {
                                          "start": {
                                            "line": 531,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 531,
                                            "column": 37
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 20440,
                                          "end": 20456,
                                          "loc": {
                                            "start": {
                                              "line": 531,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 531,
                                              "column": 36
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 20440,
                                            "end": 20450,
                                            "loc": {
                                              "start": {
                                                "line": 531,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 531,
                                                "column": 30
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 20440,
                                              "end": 20443,
                                              "loc": {
                                                "start": {
                                                  "line": 531,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 531,
                                                  "column": 23
                                                }
                                              },
                                              "name": "obj"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 20444,
                                              "end": 20450,
                                              "loc": {
                                                "start": {
                                                  "line": 531,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 531,
                                                  "column": 30
                                                }
                                              },
                                              "name": "_match"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 20453,
                                            "end": 20456,
                                            "loc": {
                                              "start": {
                                                "line": 531,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 531,
                                                "column": 36
                                              }
                                            },
                                            "name": "pat"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 20478,
                                        "end": 20495,
                                        "loc": {
                                          "start": {
                                            "line": 532,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 532,
                                            "column": 37
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 20478,
                                          "end": 20494,
                                          "loc": {
                                            "start": {
                                              "line": 532,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 532,
                                              "column": 36
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 20478,
                                            "end": 20488,
                                            "loc": {
                                              "start": {
                                                "line": 532,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 532,
                                                "column": 30
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 20478,
                                              "end": 20481,
                                              "loc": {
                                                "start": {
                                                  "line": 532,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 532,
                                                  "column": 23
                                                }
                                              },
                                              "name": "pat"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 20482,
                                              "end": 20488,
                                              "loc": {
                                                "start": {
                                                  "line": 532,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 532,
                                                  "column": 30
                                                }
                                              },
                                              "name": "_match"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 20491,
                                            "end": 20494,
                                            "loc": {
                                              "start": {
                                                "line": 532,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 532,
                                                "column": 36
                                              }
                                            },
                                            "name": "obj"
                                          }
                                        }
                                      },
                                      {
                                        "type": "BreakStatement",
                                        "start": 20516,
                                        "end": 20522,
                                        "loc": {
                                          "start": {
                                            "line": 533,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 533,
                                            "column": 26
                                          }
                                        },
                                        "label": null
                                      }
                                    ]
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 20576,
              "end": 20978,
              "loc": {
                "start": {
                  "line": 539,
                  "column": 4
                },
                "end": {
                  "line": 549,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 20576,
                "end": 20588,
                "loc": {
                  "start": {
                    "line": 539,
                    "column": 4
                  },
                  "end": {
                    "line": 539,
                    "column": 16
                  }
                },
                "name": "checkMatches"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 20588,
                "end": 20978,
                "loc": {
                  "start": {
                    "line": 539,
                    "column": 16
                  },
                  "end": {
                    "line": 549,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 20591,
                  "end": 20978,
                  "loc": {
                    "start": {
                      "line": 539,
                      "column": 19
                    },
                    "end": {
                      "line": 549,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ForStatement",
                      "start": 20601,
                      "end": 20972,
                      "loc": {
                        "start": {
                          "line": 540,
                          "column": 8
                        },
                        "end": {
                          "line": 548,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 20606,
                        "end": 20615,
                        "loc": {
                          "start": {
                            "line": 540,
                            "column": 13
                          },
                          "end": {
                            "line": 540,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 20610,
                            "end": 20615,
                            "loc": {
                              "start": {
                                "line": 540,
                                "column": 17
                              },
                              "end": {
                                "line": 540,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 20610,
                              "end": 20611,
                              "loc": {
                                "start": {
                                  "line": 540,
                                  "column": 17
                                },
                                "end": {
                                  "line": 540,
                                  "column": 18
                                }
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "Literal",
                              "start": 20614,
                              "end": 20615,
                              "loc": {
                                "start": {
                                  "line": 540,
                                  "column": 21
                                },
                                "end": {
                                  "line": 540,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 20617,
                        "end": 20641,
                        "loc": {
                          "start": {
                            "line": 540,
                            "column": 24
                          },
                          "end": {
                            "line": 540,
                            "column": 48
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 20617,
                          "end": 20618,
                          "loc": {
                            "start": {
                              "line": 540,
                              "column": 24
                            },
                            "end": {
                              "line": 540,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 20621,
                          "end": 20641,
                          "loc": {
                            "start": {
                              "line": 540,
                              "column": 28
                            },
                            "end": {
                              "line": 540,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 20621,
                            "end": 20634,
                            "loc": {
                              "start": {
                                "line": 540,
                                "column": 28
                              },
                              "end": {
                                "line": 540,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 20621,
                              "end": 20625,
                              "loc": {
                                "start": {
                                  "line": 540,
                                  "column": 28
                                },
                                "end": {
                                  "line": 540,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 20626,
                              "end": 20634,
                              "loc": {
                                "start": {
                                  "line": 540,
                                  "column": 33
                                },
                                "end": {
                                  "line": 540,
                                  "column": 41
                                }
                              },
                              "name": "patterns"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 20635,
                            "end": 20641,
                            "loc": {
                              "start": {
                                "line": 540,
                                "column": 42
                              },
                              "end": {
                                "line": 540,
                                "column": 48
                              }
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 20643,
                        "end": 20646,
                        "loc": {
                          "start": {
                            "line": 540,
                            "column": 50
                          },
                          "end": {
                            "line": 540,
                            "column": 53
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 20643,
                          "end": 20644,
                          "loc": {
                            "start": {
                              "line": 540,
                              "column": 50
                            },
                            "end": {
                              "line": 540,
                              "column": 51
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 20648,
                        "end": 20972,
                        "loc": {
                          "start": {
                            "line": 540,
                            "column": 55
                          },
                          "end": {
                            "line": 548,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 20662,
                            "end": 20689,
                            "loc": {
                              "start": {
                                "line": 541,
                                "column": 12
                              },
                              "end": {
                                "line": 541,
                                "column": 39
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 20666,
                                "end": 20688,
                                "loc": {
                                  "start": {
                                    "line": 541,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 541,
                                    "column": 38
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 20666,
                                  "end": 20669,
                                  "loc": {
                                    "start": {
                                      "line": 541,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 541,
                                      "column": 19
                                    }
                                  },
                                  "name": "pat"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 20672,
                                  "end": 20688,
                                  "loc": {
                                    "start": {
                                      "line": 541,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 541,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 20672,
                                    "end": 20685,
                                    "loc": {
                                      "start": {
                                        "line": 541,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 541,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 20672,
                                      "end": 20676,
                                      "loc": {
                                        "start": {
                                          "line": 541,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 541,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 20677,
                                      "end": 20685,
                                      "loc": {
                                        "start": {
                                          "line": 541,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 541,
                                          "column": 35
                                        }
                                      },
                                      "name": "patterns"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 20686,
                                    "end": 20687,
                                    "loc": {
                                      "start": {
                                        "line": 541,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 541,
                                        "column": 37
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 20702,
                            "end": 20723,
                            "loc": {
                              "start": {
                                "line": 542,
                                "column": 12
                              },
                              "end": {
                                "line": 542,
                                "column": 33
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 20706,
                                "end": 20722,
                                "loc": {
                                  "start": {
                                    "line": 542,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 542,
                                    "column": 32
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 20706,
                                  "end": 20709,
                                  "loc": {
                                    "start": {
                                      "line": 542,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 542,
                                      "column": 19
                                    }
                                  },
                                  "name": "obj"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 20712,
                                  "end": 20722,
                                  "loc": {
                                    "start": {
                                      "line": 542,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 542,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 20712,
                                    "end": 20715,
                                    "loc": {
                                      "start": {
                                        "line": 542,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 542,
                                        "column": 25
                                      }
                                    },
                                    "name": "pat"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 20716,
                                    "end": 20722,
                                    "loc": {
                                      "start": {
                                        "line": 542,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 542,
                                        "column": 32
                                      }
                                    },
                                    "name": "_match"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 20736,
                            "end": 20771,
                            "loc": {
                              "start": {
                                "line": 543,
                                "column": 12
                              },
                              "end": {
                                "line": 544,
                                "column": 25
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 20740,
                              "end": 20744,
                              "loc": {
                                "start": {
                                  "line": 543,
                                  "column": 16
                                },
                                "end": {
                                  "line": 543,
                                  "column": 20
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 20741,
                                "end": 20744,
                                "loc": {
                                  "start": {
                                    "line": 543,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 543,
                                    "column": 20
                                  }
                                },
                                "name": "obj"
                              }
                            },
                            "consequent": {
                              "type": "ContinueStatement",
                              "start": 20762,
                              "end": 20771,
                              "loc": {
                                "start": {
                                  "line": 544,
                                  "column": 16
                                },
                                "end": {
                                  "line": 544,
                                  "column": 25
                                }
                              },
                              "label": null
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 20785,
                            "end": 20962,
                            "loc": {
                              "start": {
                                "line": 546,
                                "column": 12
                              },
                              "end": {
                                "line": 547,
                                "column": 143
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 20789,
                              "end": 20817,
                              "loc": {
                                "start": {
                                  "line": 546,
                                  "column": 16
                                },
                                "end": {
                                  "line": 546,
                                  "column": 44
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 20790,
                                "end": 20817,
                                "loc": {
                                  "start": {
                                    "line": 546,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 546,
                                    "column": 44
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 20790,
                                  "end": 20807,
                                  "loc": {
                                    "start": {
                                      "line": 546,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 546,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 20790,
                                    "end": 20794,
                                    "loc": {
                                      "start": {
                                        "line": 546,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 546,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 20795,
                                    "end": 20807,
                                    "loc": {
                                      "start": {
                                        "line": 546,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 546,
                                        "column": 34
                                      }
                                    },
                                    "name": "isCompatible"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 20808,
                                    "end": 20811,
                                    "loc": {
                                      "start": {
                                        "line": 546,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 546,
                                        "column": 38
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 20813,
                                    "end": 20816,
                                    "loc": {
                                      "start": {
                                        "line": 546,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 546,
                                        "column": 43
                                      }
                                    },
                                    "name": "pat"
                                  }
                                ]
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 20835,
                              "end": 20962,
                              "loc": {
                                "start": {
                                  "line": 547,
                                  "column": 16
                                },
                                "end": {
                                  "line": 547,
                                  "column": 143
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 20835,
                                "end": 20961,
                                "loc": {
                                  "start": {
                                    "line": 547,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 547,
                                    "column": 142
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 20835,
                                  "end": 20840,
                                  "loc": {
                                    "start": {
                                      "line": 547,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 547,
                                      "column": 21
                                    }
                                  },
                                  "name": "check"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 20841,
                                    "end": 20846,
                                    "loc": {
                                      "start": {
                                        "line": 547,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 547,
                                        "column": 27
                                      }
                                    },
                                    "value": false,
                                    "rawValue": false,
                                    "raw": "false"
                                  },
                                  {
                                    "type": "BinaryExpression",
                                    "start": 20848,
                                    "end": 20960,
                                    "loc": {
                                      "start": {
                                        "line": 547,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 547,
                                        "column": 141
                                      }
                                    },
                                    "left": {
                                      "type": "BinaryExpression",
                                      "start": 20848,
                                      "end": 20917,
                                      "loc": {
                                        "start": {
                                          "line": 547,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 547,
                                          "column": 98
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 20848,
                                        "end": 20873,
                                        "loc": {
                                          "start": {
                                            "line": 547,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 547,
                                            "column": 54
                                          }
                                        },
                                        "left": {
                                          "type": "Literal",
                                          "start": 20848,
                                          "end": 20869,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 50
                                            }
                                          },
                                          "value": "Pattern with index ",
                                          "rawValue": "Pattern with index ",
                                          "raw": "\"Pattern with index \""
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 20872,
                                          "end": 20873,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 54
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "ConditionalExpression",
                                        "start": 20877,
                                        "end": 20916,
                                        "loc": {
                                          "start": {
                                            "line": 547,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 547,
                                            "column": 97
                                          }
                                        },
                                        "test": {
                                          "type": "MemberExpression",
                                          "start": 20877,
                                          "end": 20885,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 66
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 20877,
                                            "end": 20880,
                                            "loc": {
                                              "start": {
                                                "line": 547,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 547,
                                                "column": 61
                                              }
                                            },
                                            "name": "pat"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20881,
                                            "end": 20885,
                                            "loc": {
                                              "start": {
                                                "line": 547,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 547,
                                                "column": 66
                                              }
                                            },
                                            "name": "name"
                                          },
                                          "computed": false
                                        },
                                        "consequent": {
                                          "type": "BinaryExpression",
                                          "start": 20888,
                                          "end": 20911,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 69
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 92
                                            }
                                          },
                                          "left": {
                                            "type": "Literal",
                                            "start": 20888,
                                            "end": 20900,
                                            "loc": {
                                              "start": {
                                                "line": 547,
                                                "column": 69
                                              },
                                              "end": {
                                                "line": 547,
                                                "column": 81
                                              }
                                            },
                                            "value": " and name ",
                                            "rawValue": " and name ",
                                            "raw": "\" and name \""
                                          },
                                          "operator": "+",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 20903,
                                            "end": 20911,
                                            "loc": {
                                              "start": {
                                                "line": 547,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 547,
                                                "column": 92
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 20903,
                                              "end": 20906,
                                              "loc": {
                                                "start": {
                                                  "line": 547,
                                                  "column": 84
                                                },
                                                "end": {
                                                  "line": 547,
                                                  "column": 87
                                                }
                                              },
                                              "name": "pat"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 20907,
                                              "end": 20911,
                                              "loc": {
                                                "start": {
                                                  "line": 547,
                                                  "column": 88
                                                },
                                                "end": {
                                                  "line": 547,
                                                  "column": 92
                                                }
                                              },
                                              "name": "name"
                                            },
                                            "computed": false
                                          }
                                        },
                                        "alternate": {
                                          "type": "Literal",
                                          "start": 20914,
                                          "end": 20916,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 95
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 97
                                            }
                                          },
                                          "value": "",
                                          "rawValue": "",
                                          "raw": "\"\""
                                        },
                                        "parenthesizedExpression": true
                                      }
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Literal",
                                      "start": 20920,
                                      "end": 20960,
                                      "loc": {
                                        "start": {
                                          "line": 547,
                                          "column": 101
                                        },
                                        "end": {
                                          "line": 547,
                                          "column": 141
                                        }
                                      },
                                      "value": " is not compatible with matched object",
                                      "rawValue": " is not compatible with matched object",
                                      "raw": "\" is not compatible with matched object\""
                                    }
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 20984,
              "end": 21223,
              "loc": {
                "start": {
                  "line": 551,
                  "column": 4
                },
                "end": {
                  "line": 560,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 20984,
                "end": 20991,
                "loc": {
                  "start": {
                    "line": 551,
                    "column": 4
                  },
                  "end": {
                    "line": 551,
                    "column": 11
                  }
                },
                "name": "compute"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 20991,
                "end": 21223,
                "loc": {
                  "start": {
                    "line": 551,
                    "column": 11
                  },
                  "end": {
                    "line": 560,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 20994,
                  "end": 21223,
                  "loc": {
                    "start": {
                      "line": 551,
                      "column": 14
                    },
                    "end": {
                      "line": 560,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 21004,
                      "end": 21028,
                      "loc": {
                        "start": {
                          "line": 552,
                          "column": 8
                        },
                        "end": {
                          "line": 552,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21004,
                        "end": 21027,
                        "loc": {
                          "start": {
                            "line": 552,
                            "column": 8
                          },
                          "end": {
                            "line": 552,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21004,
                          "end": 21025,
                          "loc": {
                            "start": {
                              "line": 552,
                              "column": 8
                            },
                            "end": {
                              "line": 552,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 21004,
                            "end": 21008,
                            "loc": {
                              "start": {
                                "line": 552,
                                "column": 8
                              },
                              "end": {
                                "line": 552,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21009,
                            "end": 21025,
                            "loc": {
                              "start": {
                                "line": 552,
                                "column": 13
                              },
                              "end": {
                                "line": 552,
                                "column": 29
                              }
                            },
                            "name": "preprocessSketch"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 21037,
                      "end": 21063,
                      "loc": {
                        "start": {
                          "line": 553,
                          "column": 8
                        },
                        "end": {
                          "line": 553,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21037,
                        "end": 21062,
                        "loc": {
                          "start": {
                            "line": 553,
                            "column": 8
                          },
                          "end": {
                            "line": 553,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21037,
                          "end": 21060,
                          "loc": {
                            "start": {
                              "line": 553,
                              "column": 8
                            },
                            "end": {
                              "line": 553,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 21037,
                            "end": 21041,
                            "loc": {
                              "start": {
                                "line": 553,
                                "column": 8
                              },
                              "end": {
                                "line": 553,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21042,
                            "end": 21060,
                            "loc": {
                              "start": {
                                "line": 553,
                                "column": 13
                              },
                              "end": {
                                "line": 553,
                                "column": 31
                              }
                            },
                            "name": "preprocessPatterns"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 21073,
                      "end": 21091,
                      "loc": {
                        "start": {
                          "line": 555,
                          "column": 8
                        },
                        "end": {
                          "line": 555,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21073,
                        "end": 21090,
                        "loc": {
                          "start": {
                            "line": 555,
                            "column": 8
                          },
                          "end": {
                            "line": 555,
                            "column": 25
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21073,
                          "end": 21088,
                          "loc": {
                            "start": {
                              "line": 555,
                              "column": 8
                            },
                            "end": {
                              "line": 555,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 21073,
                            "end": 21077,
                            "loc": {
                              "start": {
                                "line": 555,
                                "column": 8
                              },
                              "end": {
                                "line": 555,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21078,
                            "end": 21088,
                            "loc": {
                              "start": {
                                "line": 555,
                                "column": 13
                              },
                              "end": {
                                "line": 555,
                                "column": 23
                              }
                            },
                            "name": "matchNamed"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 21100,
                      "end": 21138,
                      "loc": {
                        "start": {
                          "line": 556,
                          "column": 8
                        },
                        "end": {
                          "line": 556,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21100,
                        "end": 21137,
                        "loc": {
                          "start": {
                            "line": 556,
                            "column": 8
                          },
                          "end": {
                            "line": 556,
                            "column": 45
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21100,
                          "end": 21117,
                          "loc": {
                            "start": {
                              "line": 556,
                              "column": 8
                            },
                            "end": {
                              "line": 556,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 21100,
                            "end": 21104,
                            "loc": {
                              "start": {
                                "line": 556,
                                "column": 8
                              },
                              "end": {
                                "line": 556,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21105,
                            "end": 21117,
                            "loc": {
                              "start": {
                                "line": 556,
                                "column": 13
                              },
                              "end": {
                                "line": 556,
                                "column": 25
                              }
                            },
                            "name": "matchUnnamed"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 21118,
                            "end": 21136,
                            "loc": {
                              "start": {
                                "line": 556,
                                "column": 26
                              },
                              "end": {
                                "line": 556,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 21118,
                              "end": 21122,
                              "loc": {
                                "start": {
                                  "line": 556,
                                  "column": 26
                                },
                                "end": {
                                  "line": 556,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21123,
                              "end": 21136,
                              "loc": {
                                "start": {
                                  "line": 556,
                                  "column": 31
                                },
                                "end": {
                                  "line": 556,
                                  "column": 44
                                }
                              },
                              "name": "geometryTypes"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 21147,
                      "end": 21187,
                      "loc": {
                        "start": {
                          "line": 557,
                          "column": 8
                        },
                        "end": {
                          "line": 557,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21147,
                        "end": 21186,
                        "loc": {
                          "start": {
                            "line": 557,
                            "column": 8
                          },
                          "end": {
                            "line": 557,
                            "column": 47
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21147,
                          "end": 21164,
                          "loc": {
                            "start": {
                              "line": 557,
                              "column": 8
                            },
                            "end": {
                              "line": 557,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 21147,
                            "end": 21151,
                            "loc": {
                              "start": {
                                "line": 557,
                                "column": 8
                              },
                              "end": {
                                "line": 557,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21152,
                            "end": 21164,
                            "loc": {
                              "start": {
                                "line": 557,
                                "column": 13
                              },
                              "end": {
                                "line": 557,
                                "column": 25
                              }
                            },
                            "name": "matchUnnamed"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 21165,
                            "end": 21185,
                            "loc": {
                              "start": {
                                "line": 557,
                                "column": 26
                              },
                              "end": {
                                "line": 557,
                                "column": 46
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 21165,
                              "end": 21169,
                              "loc": {
                                "start": {
                                  "line": 557,
                                  "column": 26
                                },
                                "end": {
                                  "line": 557,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21170,
                              "end": 21185,
                              "loc": {
                                "start": {
                                  "line": 557,
                                  "column": 31
                                },
                                "end": {
                                  "line": 557,
                                  "column": 46
                                }
                              },
                              "name": "constraintTypes"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 21197,
                      "end": 21217,
                      "loc": {
                        "start": {
                          "line": 559,
                          "column": 8
                        },
                        "end": {
                          "line": 559,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21197,
                        "end": 21216,
                        "loc": {
                          "start": {
                            "line": 559,
                            "column": 8
                          },
                          "end": {
                            "line": 559,
                            "column": 27
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21197,
                          "end": 21214,
                          "loc": {
                            "start": {
                              "line": 559,
                              "column": 8
                            },
                            "end": {
                              "line": 559,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 21197,
                            "end": 21201,
                            "loc": {
                              "start": {
                                "line": 559,
                                "column": 8
                              },
                              "end": {
                                "line": 559,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21202,
                            "end": 21214,
                            "loc": {
                              "start": {
                                "line": 559,
                                "column": 13
                              },
                              "end": {
                                "line": 559,
                                "column": 25
                              }
                            },
                            "name": "checkMatches"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 21229,
              "end": 21673,
              "loc": {
                "start": {
                  "line": 562,
                  "column": 4
                },
                "end": {
                  "line": 573,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 21229,
                "end": 21242,
                "loc": {
                  "start": {
                    "line": 562,
                    "column": 4
                  },
                  "end": {
                    "line": 562,
                    "column": 17
                  }
                },
                "name": "getObjectType"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 21242,
                "end": 21673,
                "loc": {
                  "start": {
                    "line": 562,
                    "column": 17
                  },
                  "end": {
                    "line": 573,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 21243,
                    "end": 21246,
                    "loc": {
                      "start": {
                        "line": 562,
                        "column": 18
                      },
                      "end": {
                        "line": 562,
                        "column": 21
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 21248,
                  "end": 21673,
                  "loc": {
                    "start": {
                      "line": 562,
                      "column": 23
                    },
                    "end": {
                      "line": 573,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 21258,
                      "end": 21274,
                      "loc": {
                        "start": {
                          "line": 563,
                          "column": 8
                        },
                        "end": {
                          "line": 563,
                          "column": 24
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 21262,
                          "end": 21273,
                          "loc": {
                            "start": {
                              "line": 563,
                              "column": 12
                            },
                            "end": {
                              "line": 563,
                              "column": 23
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 21262,
                            "end": 21266,
                            "loc": {
                              "start": {
                                "line": 563,
                                "column": 12
                              },
                              "end": {
                                "line": 563,
                                "column": 16
                              }
                            },
                            "name": "type"
                          },
                          "init": {
                            "type": "Literal",
                            "start": 21269,
                            "end": 21273,
                            "loc": {
                              "start": {
                                "line": 563,
                                "column": 19
                              },
                              "end": {
                                "line": 563,
                                "column": 23
                              }
                            },
                            "value": null,
                            "rawValue": null,
                            "raw": "null"
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 21283,
                      "end": 21484,
                      "loc": {
                        "start": {
                          "line": 564,
                          "column": 8
                        },
                        "end": {
                          "line": 568,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 21287,
                        "end": 21318,
                        "loc": {
                          "start": {
                            "line": 564,
                            "column": 12
                          },
                          "end": {
                            "line": 564,
                            "column": 43
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 21287,
                          "end": 21290,
                          "loc": {
                            "start": {
                              "line": 564,
                              "column": 12
                            },
                            "end": {
                              "line": 564,
                              "column": 15
                            }
                          },
                          "name": "obj"
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "Identifier",
                          "start": 21302,
                          "end": 21318,
                          "loc": {
                            "start": {
                              "line": 564,
                              "column": 27
                            },
                            "end": {
                              "line": 564,
                              "column": 43
                            }
                          },
                          "name": "SketchConstraint"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 21332,
                        "end": 21352,
                        "loc": {
                          "start": {
                            "line": 565,
                            "column": 12
                          },
                          "end": {
                            "line": 565,
                            "column": 32
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 21332,
                          "end": 21351,
                          "loc": {
                            "start": {
                              "line": 565,
                              "column": 12
                            },
                            "end": {
                              "line": 565,
                              "column": 31
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 21332,
                            "end": 21336,
                            "loc": {
                              "start": {
                                "line": 565,
                                "column": 12
                              },
                              "end": {
                                "line": 565,
                                "column": 16
                              }
                            },
                            "name": "type"
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 21339,
                            "end": 21351,
                            "loc": {
                              "start": {
                                "line": 565,
                                "column": 19
                              },
                              "end": {
                                "line": 565,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 21339,
                              "end": 21342,
                              "loc": {
                                "start": {
                                  "line": 565,
                                  "column": 19
                                },
                                "end": {
                                  "line": 565,
                                  "column": 22
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21343,
                              "end": 21351,
                              "loc": {
                                "start": {
                                  "line": 565,
                                  "column": 23
                                },
                                "end": {
                                  "line": 565,
                                  "column": 31
                                }
                              },
                              "name": "typename"
                            },
                            "computed": false
                          }
                        },
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": "uppercase type (e.g. FIXATION)",
                            "start": 21356,
                            "end": 21388,
                            "loc": {
                              "start": {
                                "line": 565,
                                "column": 36
                              },
                              "end": {
                                "line": 565,
                                "column": 68
                              }
                            },
                            "range": [
                              21356,
                              21388
                            ]
                          }
                        ]
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 21402,
                        "end": 21484,
                        "loc": {
                          "start": {
                            "line": 566,
                            "column": 13
                          },
                          "end": {
                            "line": 568,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 21416,
                            "end": 21432,
                            "loc": {
                              "start": {
                                "line": 567,
                                "column": 12
                              },
                              "end": {
                                "line": 567,
                                "column": 28
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 21416,
                              "end": 21431,
                              "loc": {
                                "start": {
                                  "line": 567,
                                  "column": 12
                                },
                                "end": {
                                  "line": 567,
                                  "column": 27
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 21416,
                                "end": 21420,
                                "loc": {
                                  "start": {
                                    "line": 567,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 567,
                                    "column": 16
                                  }
                                },
                                "name": "type",
                                "leadingComments": null
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 21423,
                                "end": 21431,
                                "loc": {
                                  "start": {
                                    "line": 567,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 567,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 21423,
                                  "end": 21426,
                                  "loc": {
                                    "start": {
                                      "line": 567,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 567,
                                      "column": 22
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 21427,
                                  "end": 21431,
                                  "loc": {
                                    "start": {
                                      "line": 567,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 567,
                                      "column": 27
                                    }
                                  },
                                  "name": "type"
                                },
                                "computed": false
                              },
                              "leadingComments": null
                            },
                            "leadingComments": null,
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": "uppercase CC type (e.g. CC_LINE)",
                                "start": 21440,
                                "end": 21474,
                                "loc": {
                                  "start": {
                                    "line": 567,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 567,
                                    "column": 70
                                  }
                                },
                                "range": [
                                  21440,
                                  21474
                                ]
                              }
                            ]
                          }
                        ],
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": "uppercase type (e.g. FIXATION)",
                            "start": 21356,
                            "end": 21388,
                            "loc": {
                              "start": {
                                "line": 565,
                                "column": 36
                              },
                              "end": {
                                "line": 565,
                                "column": 68
                              }
                            },
                            "range": [
                              21356,
                              21388
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 21493,
                      "end": 21561,
                      "loc": {
                        "start": {
                          "line": 569,
                          "column": 8
                        },
                        "end": {
                          "line": 569,
                          "column": 76
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21493,
                        "end": 21560,
                        "loc": {
                          "start": {
                            "line": 569,
                            "column": 8
                          },
                          "end": {
                            "line": 569,
                            "column": 75
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 21493,
                          "end": 21498,
                          "loc": {
                            "start": {
                              "line": 569,
                              "column": 8
                            },
                            "end": {
                              "line": 569,
                              "column": 13
                            }
                          },
                          "name": "check",
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 21499,
                            "end": 21524,
                            "loc": {
                              "start": {
                                "line": 569,
                                "column": 14
                              },
                              "end": {
                                "line": 569,
                                "column": 39
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 21499,
                              "end": 21511,
                              "loc": {
                                "start": {
                                  "line": 569,
                                  "column": 14
                                },
                                "end": {
                                  "line": 569,
                                  "column": 26
                                }
                              },
                              "operator": "typeof",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 21506,
                                "end": 21510,
                                "loc": {
                                  "start": {
                                    "line": 569,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 569,
                                    "column": 25
                                  }
                                },
                                "name": "type",
                                "parenthesizedExpression": true
                              }
                            },
                            "operator": "===",
                            "right": {
                              "type": "Literal",
                              "start": 21516,
                              "end": 21524,
                              "loc": {
                                "start": {
                                  "line": 569,
                                  "column": 31
                                },
                                "end": {
                                  "line": 569,
                                  "column": 39
                                }
                              },
                              "value": "string",
                              "rawValue": "string",
                              "raw": "\"string\""
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 21526,
                            "end": 21559,
                            "loc": {
                              "start": {
                                "line": 569,
                                "column": 41
                              },
                              "end": {
                                "line": 569,
                                "column": 74
                              }
                            },
                            "value": "Cannot determine type of object",
                            "rawValue": "Cannot determine type of object",
                            "raw": "\"Cannot determine type of object\""
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "uppercase CC type (e.g. CC_LINE)",
                          "start": 21440,
                          "end": 21474,
                          "loc": {
                            "start": {
                              "line": 567,
                              "column": 36
                            },
                            "end": {
                              "line": 567,
                              "column": 70
                            }
                          },
                          "range": [
                            21440,
                            21474
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 21570,
                      "end": 21632,
                      "loc": {
                        "start": {
                          "line": 570,
                          "column": 8
                        },
                        "end": {
                          "line": 571,
                          "column": 34
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 21574,
                        "end": 21596,
                        "loc": {
                          "start": {
                            "line": 570,
                            "column": 12
                          },
                          "end": {
                            "line": 570,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21574,
                          "end": 21589,
                          "loc": {
                            "start": {
                              "line": 570,
                              "column": 12
                            },
                            "end": {
                              "line": 570,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 21574,
                            "end": 21578,
                            "loc": {
                              "start": {
                                "line": 570,
                                "column": 12
                              },
                              "end": {
                                "line": 570,
                                "column": 16
                              }
                            },
                            "name": "type"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21579,
                            "end": 21589,
                            "loc": {
                              "start": {
                                "line": 570,
                                "column": 17
                              },
                              "end": {
                                "line": 570,
                                "column": 27
                              }
                            },
                            "name": "startsWith"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 21590,
                            "end": 21595,
                            "loc": {
                              "start": {
                                "line": 570,
                                "column": 28
                              },
                              "end": {
                                "line": 570,
                                "column": 33
                              }
                            },
                            "value": "CC_",
                            "rawValue": "CC_",
                            "raw": "\"CC_\""
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 21610,
                        "end": 21632,
                        "loc": {
                          "start": {
                            "line": 571,
                            "column": 12
                          },
                          "end": {
                            "line": 571,
                            "column": 34
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 21610,
                          "end": 21631,
                          "loc": {
                            "start": {
                              "line": 571,
                              "column": 12
                            },
                            "end": {
                              "line": 571,
                              "column": 33
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 21610,
                            "end": 21614,
                            "loc": {
                              "start": {
                                "line": 571,
                                "column": 12
                              },
                              "end": {
                                "line": 571,
                                "column": 16
                              }
                            },
                            "name": "type"
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 21617,
                            "end": 21631,
                            "loc": {
                              "start": {
                                "line": 571,
                                "column": 19
                              },
                              "end": {
                                "line": 571,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 21617,
                              "end": 21628,
                              "loc": {
                                "start": {
                                  "line": 571,
                                  "column": 19
                                },
                                "end": {
                                  "line": 571,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 21617,
                                "end": 21621,
                                "loc": {
                                  "start": {
                                    "line": 571,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 571,
                                    "column": 23
                                  }
                                },
                                "name": "type"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 21622,
                                "end": 21628,
                                "loc": {
                                  "start": {
                                    "line": 571,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 571,
                                    "column": 30
                                  }
                                },
                                "name": "substr"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 21629,
                                "end": 21630,
                                "loc": {
                                  "start": {
                                    "line": 571,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 571,
                                    "column": 32
                                  }
                                },
                                "value": 3,
                                "rawValue": 3,
                                "raw": "3"
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 21641,
                      "end": 21667,
                      "loc": {
                        "start": {
                          "line": 572,
                          "column": 8
                        },
                        "end": {
                          "line": 572,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 21648,
                        "end": 21666,
                        "loc": {
                          "start": {
                            "line": 572,
                            "column": 15
                          },
                          "end": {
                            "line": 572,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21648,
                          "end": 21664,
                          "loc": {
                            "start": {
                              "line": 572,
                              "column": 15
                            },
                            "end": {
                              "line": 572,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 21648,
                            "end": 21652,
                            "loc": {
                              "start": {
                                "line": 572,
                                "column": 15
                              },
                              "end": {
                                "line": 572,
                                "column": 19
                              }
                            },
                            "name": "type"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21653,
                            "end": 21664,
                            "loc": {
                              "start": {
                                "line": 572,
                                "column": 20
                              },
                              "end": {
                                "line": 572,
                                "column": 31
                              }
                            },
                            "name": "toLowerCase"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 21679,
              "end": 21872,
              "loc": {
                "start": {
                  "line": 575,
                  "column": 4
                },
                "end": {
                  "line": 580,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 21679,
                "end": 21693,
                "loc": {
                  "start": {
                    "line": 575,
                    "column": 4
                  },
                  "end": {
                    "line": 575,
                    "column": 18
                  }
                },
                "name": "isPositionSame"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 21693,
                "end": 21872,
                "loc": {
                  "start": {
                    "line": 575,
                    "column": 18
                  },
                  "end": {
                    "line": 580,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 21694,
                    "end": 21697,
                    "loc": {
                      "start": {
                        "line": 575,
                        "column": 19
                      },
                      "end": {
                        "line": 575,
                        "column": 22
                      }
                    },
                    "name": "pos"
                  },
                  {
                    "type": "Identifier",
                    "start": 21699,
                    "end": 21705,
                    "loc": {
                      "start": {
                        "line": 575,
                        "column": 24
                      },
                      "end": {
                        "line": 575,
                        "column": 30
                      }
                    },
                    "name": "expect"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 21707,
                  "end": 21872,
                  "loc": {
                    "start": {
                      "line": 575,
                      "column": 32
                    },
                    "end": {
                      "line": 580,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 21717,
                      "end": 21745,
                      "loc": {
                        "start": {
                          "line": 576,
                          "column": 8
                        },
                        "end": {
                          "line": 576,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 21717,
                        "end": 21744,
                        "loc": {
                          "start": {
                            "line": 576,
                            "column": 8
                          },
                          "end": {
                            "line": 576,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 21717,
                          "end": 21723,
                          "loc": {
                            "start": {
                              "line": 576,
                              "column": 8
                            },
                            "end": {
                              "line": 576,
                              "column": 14
                            }
                          },
                          "name": "expect"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 21726,
                          "end": 21744,
                          "loc": {
                            "start": {
                              "line": 576,
                              "column": 17
                            },
                            "end": {
                              "line": 576,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 21726,
                            "end": 21736,
                            "loc": {
                              "start": {
                                "line": 576,
                                "column": 17
                              },
                              "end": {
                                "line": 576,
                                "column": 27
                              }
                            },
                            "name": "convVector"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 21737,
                              "end": 21743,
                              "loc": {
                                "start": {
                                  "line": 576,
                                  "column": 28
                                },
                                "end": {
                                  "line": 576,
                                  "column": 34
                                }
                              },
                              "name": "expect"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 21754,
                      "end": 21776,
                      "loc": {
                        "start": {
                          "line": 577,
                          "column": 8
                        },
                        "end": {
                          "line": 577,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 21754,
                        "end": 21775,
                        "loc": {
                          "start": {
                            "line": 577,
                            "column": 8
                          },
                          "end": {
                            "line": 577,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 21754,
                          "end": 21757,
                          "loc": {
                            "start": {
                              "line": 577,
                              "column": 8
                            },
                            "end": {
                              "line": 577,
                              "column": 11
                            }
                          },
                          "name": "pos"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 21760,
                          "end": 21775,
                          "loc": {
                            "start": {
                              "line": 577,
                              "column": 14
                            },
                            "end": {
                              "line": 577,
                              "column": 29
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 21760,
                            "end": 21770,
                            "loc": {
                              "start": {
                                "line": 577,
                                "column": 14
                              },
                              "end": {
                                "line": 577,
                                "column": 24
                              }
                            },
                            "name": "convVector"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 21771,
                              "end": 21774,
                              "loc": {
                                "start": {
                                  "line": 577,
                                  "column": 25
                                },
                                "end": {
                                  "line": 577,
                                  "column": 28
                                }
                              },
                              "name": "pos"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 21785,
                      "end": 21819,
                      "loc": {
                        "start": {
                          "line": 578,
                          "column": 8
                        },
                        "end": {
                          "line": 578,
                          "column": 42
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 21789,
                          "end": 21818,
                          "loc": {
                            "start": {
                              "line": 578,
                              "column": 12
                            },
                            "end": {
                              "line": 578,
                              "column": 41
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 21789,
                            "end": 21793,
                            "loc": {
                              "start": {
                                "line": 578,
                                "column": 12
                              },
                              "end": {
                                "line": 578,
                                "column": 16
                              }
                            },
                            "name": "dist"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 21796,
                            "end": 21818,
                            "loc": {
                              "start": {
                                "line": 578,
                                "column": 19
                              },
                              "end": {
                                "line": 578,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 21796,
                              "end": 21810,
                              "loc": {
                                "start": {
                                  "line": 578,
                                  "column": 19
                                },
                                "end": {
                                  "line": 578,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 21796,
                                "end": 21799,
                                "loc": {
                                  "start": {
                                    "line": 578,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 578,
                                    "column": 22
                                  }
                                },
                                "name": "pos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 21800,
                                "end": 21810,
                                "loc": {
                                  "start": {
                                    "line": 578,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 578,
                                    "column": 33
                                  }
                                },
                                "name": "distanceTo"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 21811,
                                "end": 21817,
                                "loc": {
                                  "start": {
                                    "line": 578,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 578,
                                    "column": 40
                                  }
                                },
                                "name": "expect"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 21828,
                      "end": 21866,
                      "loc": {
                        "start": {
                          "line": 579,
                          "column": 8
                        },
                        "end": {
                          "line": 579,
                          "column": 46
                        }
                      },
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 21836,
                        "end": 21864,
                        "loc": {
                          "start": {
                            "line": 579,
                            "column": 16
                          },
                          "end": {
                            "line": 579,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 21836,
                          "end": 21840,
                          "loc": {
                            "start": {
                              "line": 579,
                              "column": 16
                            },
                            "end": {
                              "line": 579,
                              "column": 20
                            }
                          },
                          "name": "dist"
                        },
                        "operator": "<=",
                        "right": {
                          "type": "MemberExpression",
                          "start": 21844,
                          "end": 21864,
                          "loc": {
                            "start": {
                              "line": 579,
                              "column": 24
                            },
                            "end": {
                              "line": 579,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 21844,
                            "end": 21848,
                            "loc": {
                              "start": {
                                "line": 579,
                                "column": 24
                              },
                              "end": {
                                "line": 579,
                                "column": 28
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21849,
                            "end": 21864,
                            "loc": {
                              "start": {
                                "line": 579,
                                "column": 29
                              },
                              "end": {
                                "line": 579,
                                "column": 44
                              }
                            },
                            "name": "linearTolerance"
                          },
                          "computed": false
                        },
                        "parenthesizedExpression": true
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 21878,
              "end": 23347,
              "loc": {
                "start": {
                  "line": 582,
                  "column": 4
                },
                "end": {
                  "line": 619,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 21878,
                "end": 21888,
                "loc": {
                  "start": {
                    "line": 582,
                    "column": 4
                  },
                  "end": {
                    "line": 582,
                    "column": 14
                  }
                },
                "name": "resolveRef"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 21888,
                "end": 23347,
                "loc": {
                  "start": {
                    "line": 582,
                    "column": 14
                  },
                  "end": {
                    "line": 619,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 21889,
                    "end": 21892,
                    "loc": {
                      "start": {
                        "line": 582,
                        "column": 15
                      },
                      "end": {
                        "line": 582,
                        "column": 18
                      }
                    },
                    "name": "arg"
                  },
                  {
                    "type": "Identifier",
                    "start": 21894,
                    "end": 21901,
                    "loc": {
                      "start": {
                        "line": 582,
                        "column": 20
                      },
                      "end": {
                        "line": 582,
                        "column": 27
                      }
                    },
                    "name": "relaxed"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 21903,
                  "end": 23347,
                  "loc": {
                    "start": {
                      "line": 582,
                      "column": 29
                    },
                    "end": {
                      "line": 619,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 21913,
                      "end": 21949,
                      "loc": {
                        "start": {
                          "line": 583,
                          "column": 8
                        },
                        "end": {
                          "line": 583,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 21917,
                          "end": 21948,
                          "loc": {
                            "start": {
                              "line": 583,
                              "column": 12
                            },
                            "end": {
                              "line": 583,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 21917,
                            "end": 21921,
                            "loc": {
                              "start": {
                                "line": 583,
                                "column": 12
                              },
                              "end": {
                                "line": 583,
                                "column": 16
                              }
                            },
                            "name": "auto"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 21924,
                            "end": 21948,
                            "loc": {
                              "start": {
                                "line": 583,
                                "column": 19
                              },
                              "end": {
                                "line": 583,
                                "column": 43
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 21928,
                              "end": 21946,
                              "loc": {
                                "start": {
                                  "line": 583,
                                  "column": 23
                                },
                                "end": {
                                  "line": 583,
                                  "column": 41
                                }
                              },
                              "name": "SketcherAutomation"
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "short calls to static methods",
                          "start": 21951,
                          "end": 21982,
                          "loc": {
                            "start": {
                              "line": 583,
                              "column": 46
                            },
                            "end": {
                              "line": 583,
                              "column": 77
                            }
                          },
                          "range": [
                            21951,
                            21982
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": "convert to string and split into parts",
                          "start": 22000,
                          "end": 22040,
                          "loc": {
                            "start": {
                              "line": 585,
                              "column": 8
                            },
                            "end": {
                              "line": 585,
                              "column": 48
                            }
                          },
                          "range": [
                            22000,
                            22040
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 22049,
                      "end": 22180,
                      "loc": {
                        "start": {
                          "line": 586,
                          "column": 8
                        },
                        "end": {
                          "line": 586,
                          "column": 139
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 22049,
                        "end": 22179,
                        "loc": {
                          "start": {
                            "line": 586,
                            "column": 8
                          },
                          "end": {
                            "line": 586,
                            "column": 138
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 22049,
                          "end": 22054,
                          "loc": {
                            "start": {
                              "line": 586,
                              "column": 8
                            },
                            "end": {
                              "line": 586,
                              "column": 13
                            }
                          },
                          "name": "check",
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "LogicalExpression",
                            "start": 22055,
                            "end": 22107,
                            "loc": {
                              "start": {
                                "line": 586,
                                "column": 14
                              },
                              "end": {
                                "line": 586,
                                "column": 66
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 22055,
                              "end": 22079,
                              "loc": {
                                "start": {
                                  "line": 586,
                                  "column": 14
                                },
                                "end": {
                                  "line": 586,
                                  "column": 38
                                }
                              },
                              "left": {
                                "type": "UnaryExpression",
                                "start": 22055,
                                "end": 22066,
                                "loc": {
                                  "start": {
                                    "line": 586,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 586,
                                    "column": 25
                                  }
                                },
                                "operator": "typeof",
                                "prefix": true,
                                "argument": {
                                  "type": "Identifier",
                                  "start": 22062,
                                  "end": 22065,
                                  "loc": {
                                    "start": {
                                      "line": 586,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 586,
                                      "column": 24
                                    }
                                  },
                                  "name": "arg",
                                  "parenthesizedExpression": true
                                }
                              },
                              "operator": "===",
                              "right": {
                                "type": "Literal",
                                "start": 22071,
                                "end": 22079,
                                "loc": {
                                  "start": {
                                    "line": 586,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 586,
                                    "column": 38
                                  }
                                },
                                "value": "string",
                                "rawValue": "string",
                                "raw": "\"string\""
                              }
                            },
                            "operator": "||",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 22083,
                              "end": 22107,
                              "loc": {
                                "start": {
                                  "line": 586,
                                  "column": 42
                                },
                                "end": {
                                  "line": 586,
                                  "column": 66
                                }
                              },
                              "left": {
                                "type": "UnaryExpression",
                                "start": 22083,
                                "end": 22094,
                                "loc": {
                                  "start": {
                                    "line": 586,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 586,
                                    "column": 53
                                  }
                                },
                                "operator": "typeof",
                                "prefix": true,
                                "argument": {
                                  "type": "Identifier",
                                  "start": 22090,
                                  "end": 22093,
                                  "loc": {
                                    "start": {
                                      "line": 586,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 586,
                                      "column": 52
                                    }
                                  },
                                  "name": "arg",
                                  "parenthesizedExpression": true
                                }
                              },
                              "operator": "===",
                              "right": {
                                "type": "Literal",
                                "start": 22099,
                                "end": 22107,
                                "loc": {
                                  "start": {
                                    "line": 586,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 586,
                                    "column": 66
                                  }
                                },
                                "value": "number",
                                "rawValue": "number",
                                "raw": "\"number\""
                              }
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 22109,
                            "end": 22178,
                            "loc": {
                              "start": {
                                "line": 586,
                                "column": 68
                              },
                              "end": {
                                "line": 586,
                                "column": 137
                              }
                            },
                            "value": "Trying to resolve reference, which is neither a number nor a string",
                            "rawValue": "Trying to resolve reference, which is neither a number nor a string",
                            "raw": "\"Trying to resolve reference, which is neither a number nor a string\""
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "short calls to static methods",
                          "start": 21951,
                          "end": 21982,
                          "loc": {
                            "start": {
                              "line": 583,
                              "column": 46
                            },
                            "end": {
                              "line": 583,
                              "column": 77
                            }
                          },
                          "range": [
                            21951,
                            21982
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": "convert to string and split into parts",
                          "start": 22000,
                          "end": 22040,
                          "loc": {
                            "start": {
                              "line": 585,
                              "column": 8
                            },
                            "end": {
                              "line": 585,
                              "column": 48
                            }
                          },
                          "range": [
                            22000,
                            22040
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 22189,
                      "end": 22204,
                      "loc": {
                        "start": {
                          "line": 587,
                          "column": 8
                        },
                        "end": {
                          "line": 587,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 22189,
                        "end": 22203,
                        "loc": {
                          "start": {
                            "line": 587,
                            "column": 8
                          },
                          "end": {
                            "line": 587,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 22189,
                          "end": 22192,
                          "loc": {
                            "start": {
                              "line": 587,
                              "column": 8
                            },
                            "end": {
                              "line": 587,
                              "column": 11
                            }
                          },
                          "name": "arg"
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 22195,
                          "end": 22203,
                          "loc": {
                            "start": {
                              "line": 587,
                              "column": 14
                            },
                            "end": {
                              "line": 587,
                              "column": 22
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 22195,
                            "end": 22197,
                            "loc": {
                              "start": {
                                "line": 587,
                                "column": 14
                              },
                              "end": {
                                "line": 587,
                                "column": 16
                              }
                            },
                            "value": "",
                            "rawValue": "",
                            "raw": "\"\""
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 22200,
                            "end": 22203,
                            "loc": {
                              "start": {
                                "line": 587,
                                "column": 19
                              },
                              "end": {
                                "line": 587,
                                "column": 22
                              }
                            },
                            "name": "arg"
                          }
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 22213,
                      "end": 22240,
                      "loc": {
                        "start": {
                          "line": 588,
                          "column": 8
                        },
                        "end": {
                          "line": 588,
                          "column": 35
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 22217,
                          "end": 22239,
                          "loc": {
                            "start": {
                              "line": 588,
                              "column": 12
                            },
                            "end": {
                              "line": 588,
                              "column": 34
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 22217,
                            "end": 22222,
                            "loc": {
                              "start": {
                                "line": 588,
                                "column": 12
                              },
                              "end": {
                                "line": 588,
                                "column": 17
                              }
                            },
                            "name": "parts"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 22225,
                            "end": 22239,
                            "loc": {
                              "start": {
                                "line": 588,
                                "column": 20
                              },
                              "end": {
                                "line": 588,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 22225,
                              "end": 22234,
                              "loc": {
                                "start": {
                                  "line": 588,
                                  "column": 20
                                },
                                "end": {
                                  "line": 588,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 22225,
                                "end": 22228,
                                "loc": {
                                  "start": {
                                    "line": 588,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 588,
                                    "column": 23
                                  }
                                },
                                "name": "arg"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22229,
                                "end": 22234,
                                "loc": {
                                  "start": {
                                    "line": 588,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 588,
                                    "column": 29
                                  }
                                },
                                "name": "split"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 22235,
                                "end": 22238,
                                "loc": {
                                  "start": {
                                    "line": 588,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 588,
                                    "column": 33
                                  }
                                },
                                "value": ".",
                                "rawValue": ".",
                                "raw": "'.'"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 22249,
                      "end": 22289,
                      "loc": {
                        "start": {
                          "line": 589,
                          "column": 8
                        },
                        "end": {
                          "line": 589,
                          "column": 48
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 22253,
                          "end": 22269,
                          "loc": {
                            "start": {
                              "line": 589,
                              "column": 12
                            },
                            "end": {
                              "line": 589,
                              "column": 28
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 22253,
                            "end": 22258,
                            "loc": {
                              "start": {
                                "line": 589,
                                "column": 12
                              },
                              "end": {
                                "line": 589,
                                "column": 17
                              }
                            },
                            "name": "pMain"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 22261,
                            "end": 22269,
                            "loc": {
                              "start": {
                                "line": 589,
                                "column": 20
                              },
                              "end": {
                                "line": 589,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 22261,
                              "end": 22266,
                              "loc": {
                                "start": {
                                  "line": 589,
                                  "column": 20
                                },
                                "end": {
                                  "line": 589,
                                  "column": 25
                                }
                              },
                              "name": "parts"
                            },
                            "property": {
                              "type": "Literal",
                              "start": 22267,
                              "end": 22268,
                              "loc": {
                                "start": {
                                  "line": 589,
                                  "column": 26
                                },
                                "end": {
                                  "line": 589,
                                  "column": 27
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          }
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 22271,
                          "end": 22288,
                          "loc": {
                            "start": {
                              "line": 589,
                              "column": 30
                            },
                            "end": {
                              "line": 589,
                              "column": 47
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 22271,
                            "end": 22277,
                            "loc": {
                              "start": {
                                "line": 589,
                                "column": 30
                              },
                              "end": {
                                "line": 589,
                                "column": 36
                              }
                            },
                            "name": "pChild"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 22280,
                            "end": 22288,
                            "loc": {
                              "start": {
                                "line": 589,
                                "column": 39
                              },
                              "end": {
                                "line": 589,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 22280,
                              "end": 22285,
                              "loc": {
                                "start": {
                                  "line": 589,
                                  "column": 39
                                },
                                "end": {
                                  "line": 589,
                                  "column": 44
                                }
                              },
                              "name": "parts"
                            },
                            "property": {
                              "type": "Literal",
                              "start": 22286,
                              "end": 22287,
                              "loc": {
                                "start": {
                                  "line": 589,
                                  "column": 45
                                },
                                "end": {
                                  "line": 589,
                                  "column": 46
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "computed": true
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "detect pattern corresponding to first part",
                          "start": 22299,
                          "end": 22343,
                          "loc": {
                            "start": {
                              "line": 591,
                              "column": 8
                            },
                            "end": {
                              "line": 591,
                              "column": 52
                            }
                          },
                          "range": [
                            22299,
                            22343
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 22352,
                      "end": 22363,
                      "loc": {
                        "start": {
                          "line": 592,
                          "column": 8
                        },
                        "end": {
                          "line": 592,
                          "column": 19
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 22356,
                          "end": 22362,
                          "loc": {
                            "start": {
                              "line": 592,
                              "column": 12
                            },
                            "end": {
                              "line": 592,
                              "column": 18
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 22356,
                            "end": 22362,
                            "loc": {
                              "start": {
                                "line": 592,
                                "column": 12
                              },
                              "end": {
                                "line": 592,
                                "column": 18
                              }
                            },
                            "name": "argPat",
                            "leadingComments": null
                          },
                          "init": null,
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "detect pattern corresponding to first part",
                          "start": 22299,
                          "end": 22343,
                          "loc": {
                            "start": {
                              "line": 591,
                              "column": 8
                            },
                            "end": {
                              "line": 591,
                              "column": 52
                            }
                          },
                          "range": [
                            22299,
                            22343
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 22372,
                      "end": 22522,
                      "loc": {
                        "start": {
                          "line": 593,
                          "column": 8
                        },
                        "end": {
                          "line": 596,
                          "column": 56
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 22376,
                        "end": 22388,
                        "loc": {
                          "start": {
                            "line": 593,
                            "column": 12
                          },
                          "end": {
                            "line": 593,
                            "column": 24
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 22376,
                          "end": 22381,
                          "loc": {
                            "start": {
                              "line": 593,
                              "column": 12
                            },
                            "end": {
                              "line": 593,
                              "column": 17
                            }
                          },
                          "name": "isNaN"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 22382,
                            "end": 22387,
                            "loc": {
                              "start": {
                                "line": 593,
                                "column": 18
                              },
                              "end": {
                                "line": 593,
                                "column": 23
                              }
                            },
                            "name": "pMain"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 22417,
                        "end": 22452,
                        "loc": {
                          "start": {
                            "line": 594,
                            "column": 12
                          },
                          "end": {
                            "line": 594,
                            "column": 47
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 22417,
                          "end": 22451,
                          "loc": {
                            "start": {
                              "line": 594,
                              "column": 12
                            },
                            "end": {
                              "line": 594,
                              "column": 46
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 22417,
                            "end": 22423,
                            "loc": {
                              "start": {
                                "line": 594,
                                "column": 12
                              },
                              "end": {
                                "line": 594,
                                "column": 18
                              }
                            },
                            "name": "argPat",
                            "leadingComments": null
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 22426,
                            "end": 22451,
                            "loc": {
                              "start": {
                                "line": 594,
                                "column": 21
                              },
                              "end": {
                                "line": 594,
                                "column": 46
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 22426,
                              "end": 22444,
                              "loc": {
                                "start": {
                                  "line": 594,
                                  "column": 21
                                },
                                "end": {
                                  "line": 594,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 22426,
                                "end": 22430,
                                "loc": {
                                  "start": {
                                    "line": 594,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 594,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22431,
                                "end": 22444,
                                "loc": {
                                  "start": {
                                    "line": 594,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 594,
                                    "column": 39
                                  }
                                },
                                "name": "patternByName"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22445,
                              "end": 22450,
                              "loc": {
                                "start": {
                                  "line": 594,
                                  "column": 40
                                },
                                "end": {
                                  "line": 594,
                                  "column": 45
                                }
                              },
                              "name": "pMain"
                            },
                            "computed": true
                          },
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": "not a number",
                            "start": 22390,
                            "end": 22404,
                            "loc": {
                              "start": {
                                "line": 593,
                                "column": 26
                              },
                              "end": {
                                "line": 593,
                                "column": 40
                              }
                            },
                            "range": [
                              22390,
                              22404
                            ]
                          }
                        ]
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 22478,
                        "end": 22522,
                        "loc": {
                          "start": {
                            "line": 596,
                            "column": 12
                          },
                          "end": {
                            "line": 596,
                            "column": 56
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 22478,
                          "end": 22521,
                          "loc": {
                            "start": {
                              "line": 596,
                              "column": 12
                            },
                            "end": {
                              "line": 596,
                              "column": 55
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 22478,
                            "end": 22484,
                            "loc": {
                              "start": {
                                "line": 596,
                                "column": 12
                              },
                              "end": {
                                "line": 596,
                                "column": 18
                              }
                            },
                            "name": "argPat"
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 22487,
                            "end": 22521,
                            "loc": {
                              "start": {
                                "line": 596,
                                "column": 21
                              },
                              "end": {
                                "line": 596,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 22487,
                              "end": 22500,
                              "loc": {
                                "start": {
                                  "line": 596,
                                  "column": 21
                                },
                                "end": {
                                  "line": 596,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 22487,
                                "end": 22491,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22492,
                                "end": 22500,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 34
                                  }
                                },
                                "name": "patterns"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "CallExpression",
                              "start": 22501,
                              "end": 22520,
                              "loc": {
                                "start": {
                                  "line": 596,
                                  "column": 35
                                },
                                "end": {
                                  "line": 596,
                                  "column": 54
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 22501,
                                "end": 22509,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 43
                                  }
                                },
                                "name": "parseInt"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 22510,
                                  "end": 22515,
                                  "loc": {
                                    "start": {
                                      "line": 596,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 596,
                                      "column": 49
                                    }
                                  },
                                  "name": "pMain"
                                },
                                {
                                  "type": "Literal",
                                  "start": 22517,
                                  "end": 22519,
                                  "loc": {
                                    "start": {
                                      "line": 596,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 596,
                                      "column": 53
                                    }
                                  },
                                  "value": 10,
                                  "rawValue": 10,
                                  "raw": "10"
                                }
                              ]
                            },
                            "computed": true
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 22531,
                      "end": 22624,
                      "loc": {
                        "start": {
                          "line": 597,
                          "column": 8
                        },
                        "end": {
                          "line": 597,
                          "column": 101
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 22531,
                        "end": 22623,
                        "loc": {
                          "start": {
                            "line": 597,
                            "column": 8
                          },
                          "end": {
                            "line": 597,
                            "column": 100
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 22531,
                          "end": 22536,
                          "loc": {
                            "start": {
                              "line": 597,
                              "column": 8
                            },
                            "end": {
                              "line": 597,
                              "column": 13
                            }
                          },
                          "name": "check"
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 22537,
                            "end": 22564,
                            "loc": {
                              "start": {
                                "line": 597,
                                "column": 14
                              },
                              "end": {
                                "line": 597,
                                "column": 41
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 22537,
                              "end": 22551,
                              "loc": {
                                "start": {
                                  "line": 597,
                                  "column": 14
                                },
                                "end": {
                                  "line": 597,
                                  "column": 28
                                }
                              },
                              "operator": "typeof",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 22544,
                                "end": 22550,
                                "loc": {
                                  "start": {
                                    "line": 597,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 597,
                                    "column": 27
                                  }
                                },
                                "name": "argPat",
                                "parenthesizedExpression": true
                              }
                            },
                            "operator": "===",
                            "right": {
                              "type": "Literal",
                              "start": 22556,
                              "end": 22564,
                              "loc": {
                                "start": {
                                  "line": 597,
                                  "column": 33
                                },
                                "end": {
                                  "line": 597,
                                  "column": 41
                                }
                              },
                              "value": "object",
                              "rawValue": "object",
                              "raw": "\"object\""
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 22566,
                            "end": 22622,
                            "loc": {
                              "start": {
                                "line": 597,
                                "column": 43
                              },
                              "end": {
                                "line": 597,
                                "column": 99
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 22566,
                              "end": 22602,
                              "loc": {
                                "start": {
                                  "line": 597,
                                  "column": 43
                                },
                                "end": {
                                  "line": 597,
                                  "column": 79
                                }
                              },
                              "left": {
                                "type": "Literal",
                                "start": 22566,
                                "end": 22596,
                                "loc": {
                                  "start": {
                                    "line": 597,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 597,
                                    "column": 73
                                  }
                                },
                                "value": "Failed to resolve reference ",
                                "rawValue": "Failed to resolve reference ",
                                "raw": "\"Failed to resolve reference \""
                              },
                              "operator": "+",
                              "right": {
                                "type": "Identifier",
                                "start": 22599,
                                "end": 22602,
                                "loc": {
                                  "start": {
                                    "line": 597,
                                    "column": 76
                                  },
                                  "end": {
                                    "line": 597,
                                    "column": 79
                                  }
                                },
                                "name": "arg"
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "Literal",
                              "start": 22605,
                              "end": 22622,
                              "loc": {
                                "start": {
                                  "line": 597,
                                  "column": 82
                                },
                                "end": {
                                  "line": 597,
                                  "column": 99
                                }
                              },
                              "value": " to any pattern",
                              "rawValue": " to any pattern",
                              "raw": "\" to any pattern\""
                            }
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "detect object matched to that pattern",
                          "start": 22634,
                          "end": 22673,
                          "loc": {
                            "start": {
                              "line": 599,
                              "column": 8
                            },
                            "end": {
                              "line": 599,
                              "column": 47
                            }
                          },
                          "range": [
                            22634,
                            22673
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 22682,
                      "end": 22709,
                      "loc": {
                        "start": {
                          "line": 600,
                          "column": 8
                        },
                        "end": {
                          "line": 600,
                          "column": 35
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 22686,
                          "end": 22708,
                          "loc": {
                            "start": {
                              "line": 600,
                              "column": 12
                            },
                            "end": {
                              "line": 600,
                              "column": 34
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 22686,
                            "end": 22692,
                            "loc": {
                              "start": {
                                "line": 600,
                                "column": 12
                              },
                              "end": {
                                "line": 600,
                                "column": 18
                              }
                            },
                            "name": "argObj",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 22695,
                            "end": 22708,
                            "loc": {
                              "start": {
                                "line": 600,
                                "column": 21
                              },
                              "end": {
                                "line": 600,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 22695,
                              "end": 22701,
                              "loc": {
                                "start": {
                                  "line": 600,
                                  "column": 21
                                },
                                "end": {
                                  "line": 600,
                                  "column": 27
                                }
                              },
                              "name": "argPat"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22702,
                              "end": 22708,
                              "loc": {
                                "start": {
                                  "line": 600,
                                  "column": 28
                                },
                                "end": {
                                  "line": 600,
                                  "column": 34
                                }
                              },
                              "name": "_match"
                            },
                            "computed": false
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "detect object matched to that pattern",
                          "start": 22634,
                          "end": 22673,
                          "loc": {
                            "start": {
                              "line": 599,
                              "column": 8
                            },
                            "end": {
                              "line": 599,
                              "column": 47
                            }
                          },
                          "range": [
                            22634,
                            22673
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 22718,
                      "end": 22909,
                      "loc": {
                        "start": {
                          "line": 601,
                          "column": 8
                        },
                        "end": {
                          "line": 606,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 22722,
                        "end": 22729,
                        "loc": {
                          "start": {
                            "line": 601,
                            "column": 12
                          },
                          "end": {
                            "line": 601,
                            "column": 19
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 22723,
                          "end": 22729,
                          "loc": {
                            "start": {
                              "line": 601,
                              "column": 13
                            },
                            "end": {
                              "line": 601,
                              "column": 19
                            }
                          },
                          "name": "argObj"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 22731,
                        "end": 22909,
                        "loc": {
                          "start": {
                            "line": 601,
                            "column": 21
                          },
                          "end": {
                            "line": 606,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 22745,
                            "end": 22899,
                            "loc": {
                              "start": {
                                "line": 602,
                                "column": 12
                              },
                              "end": {
                                "line": 605,
                                "column": 95
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 22749,
                              "end": 22756,
                              "loc": {
                                "start": {
                                  "line": 602,
                                  "column": 16
                                },
                                "end": {
                                  "line": 602,
                                  "column": 23
                                }
                              },
                              "name": "relaxed"
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 22774,
                              "end": 22786,
                              "loc": {
                                "start": {
                                  "line": 603,
                                  "column": 16
                                },
                                "end": {
                                  "line": 603,
                                  "column": 28
                                }
                              },
                              "argument": {
                                "type": "Literal",
                                "start": 22781,
                                "end": 22785,
                                "loc": {
                                  "start": {
                                    "line": 603,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 603,
                                    "column": 27
                                  }
                                },
                                "value": null,
                                "rawValue": null,
                                "raw": "null"
                              }
                            },
                            "alternate": {
                              "type": "ExpressionStatement",
                              "start": 22820,
                              "end": 22899,
                              "loc": {
                                "start": {
                                  "line": 605,
                                  "column": 16
                                },
                                "end": {
                                  "line": 605,
                                  "column": 95
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 22820,
                                "end": 22898,
                                "loc": {
                                  "start": {
                                    "line": 605,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 605,
                                    "column": 94
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 22820,
                                  "end": 22825,
                                  "loc": {
                                    "start": {
                                      "line": 605,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 605,
                                      "column": 21
                                    }
                                  },
                                  "name": "check"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 22826,
                                    "end": 22831,
                                    "loc": {
                                      "start": {
                                        "line": 605,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 605,
                                        "column": 27
                                      }
                                    },
                                    "value": false,
                                    "rawValue": false,
                                    "raw": "false"
                                  },
                                  {
                                    "type": "BinaryExpression",
                                    "start": 22833,
                                    "end": 22897,
                                    "loc": {
                                      "start": {
                                        "line": 605,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 605,
                                        "column": 93
                                      }
                                    },
                                    "left": {
                                      "type": "BinaryExpression",
                                      "start": 22833,
                                      "end": 22851,
                                      "loc": {
                                        "start": {
                                          "line": 605,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 605,
                                          "column": 47
                                        }
                                      },
                                      "left": {
                                        "type": "Literal",
                                        "start": 22833,
                                        "end": 22845,
                                        "loc": {
                                          "start": {
                                            "line": 605,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 605,
                                            "column": 41
                                          }
                                        },
                                        "value": "Reference ",
                                        "rawValue": "Reference ",
                                        "raw": "\"Reference \""
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 22848,
                                        "end": 22851,
                                        "loc": {
                                          "start": {
                                            "line": 605,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 605,
                                            "column": 47
                                          }
                                        },
                                        "name": "arg"
                                      }
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Literal",
                                      "start": 22854,
                                      "end": 22897,
                                      "loc": {
                                        "start": {
                                          "line": 605,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 605,
                                          "column": 93
                                        }
                                      },
                                      "value": " points to pattern with no matched object",
                                      "rawValue": " points to pattern with no matched object",
                                      "raw": "\" points to pattern with no matched object\""
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "if second part is present, take child object",
                          "start": 22919,
                          "end": 22965,
                          "loc": {
                            "start": {
                              "line": 608,
                              "column": 8
                            },
                            "end": {
                              "line": 608,
                              "column": 54
                            }
                          },
                          "range": [
                            22919,
                            22965
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 22974,
                      "end": 23317,
                      "loc": {
                        "start": {
                          "line": 609,
                          "column": 8
                        },
                        "end": {
                          "line": 616,
                          "column": 68
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 22978,
                        "end": 22992,
                        "loc": {
                          "start": {
                            "line": 609,
                            "column": 12
                          },
                          "end": {
                            "line": 609,
                            "column": 26
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 22978,
                          "end": 22984,
                          "loc": {
                            "start": {
                              "line": 609,
                              "column": 12
                            },
                            "end": {
                              "line": 609,
                              "column": 18
                            }
                          },
                          "name": "pChild",
                          "leadingComments": null
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 22989,
                          "end": 22992,
                          "loc": {
                            "start": {
                              "line": 609,
                              "column": 23
                            },
                            "end": {
                              "line": 609,
                              "column": 26
                            }
                          },
                          "value": "s",
                          "rawValue": "s",
                          "raw": "'s'"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 23006,
                        "end": 23042,
                        "loc": {
                          "start": {
                            "line": 610,
                            "column": 12
                          },
                          "end": {
                            "line": 610,
                            "column": 48
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 23006,
                          "end": 23041,
                          "loc": {
                            "start": {
                              "line": 610,
                              "column": 12
                            },
                            "end": {
                              "line": 610,
                              "column": 47
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 23006,
                            "end": 23012,
                            "loc": {
                              "start": {
                                "line": 610,
                                "column": 12
                              },
                              "end": {
                                "line": 610,
                                "column": 18
                              }
                            },
                            "name": "argObj"
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 23015,
                            "end": 23041,
                            "loc": {
                              "start": {
                                "line": 610,
                                "column": 21
                              },
                              "end": {
                                "line": 610,
                                "column": 47
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 23015,
                              "end": 23033,
                              "loc": {
                                "start": {
                                  "line": 610,
                                  "column": 21
                                },
                                "end": {
                                  "line": 610,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23015,
                                "end": 23019,
                                "loc": {
                                  "start": {
                                    "line": 610,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 610,
                                    "column": 25
                                  }
                                },
                                "name": "auto"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 23020,
                                "end": 23033,
                                "loc": {
                                  "start": {
                                    "line": 610,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 610,
                                    "column": 39
                                  }
                                },
                                "name": "getStartPoint"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 23034,
                                "end": 23040,
                                "loc": {
                                  "start": {
                                    "line": 610,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 610,
                                    "column": 46
                                  }
                                },
                                "name": "argObj"
                              }
                            ]
                          }
                        }
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 23056,
                        "end": 23317,
                        "loc": {
                          "start": {
                            "line": 611,
                            "column": 13
                          },
                          "end": {
                            "line": 616,
                            "column": 68
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 23060,
                          "end": 23074,
                          "loc": {
                            "start": {
                              "line": 611,
                              "column": 17
                            },
                            "end": {
                              "line": 611,
                              "column": 31
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 23060,
                            "end": 23066,
                            "loc": {
                              "start": {
                                "line": 611,
                                "column": 17
                              },
                              "end": {
                                "line": 611,
                                "column": 23
                              }
                            },
                            "name": "pChild"
                          },
                          "operator": "===",
                          "right": {
                            "type": "Literal",
                            "start": 23071,
                            "end": 23074,
                            "loc": {
                              "start": {
                                "line": 611,
                                "column": 28
                              },
                              "end": {
                                "line": 611,
                                "column": 31
                              }
                            },
                            "value": "e",
                            "rawValue": "e",
                            "raw": "'e'"
                          }
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 23088,
                          "end": 23122,
                          "loc": {
                            "start": {
                              "line": 612,
                              "column": 12
                            },
                            "end": {
                              "line": 612,
                              "column": 46
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 23088,
                            "end": 23121,
                            "loc": {
                              "start": {
                                "line": 612,
                                "column": 12
                              },
                              "end": {
                                "line": 612,
                                "column": 45
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 23088,
                              "end": 23094,
                              "loc": {
                                "start": {
                                  "line": 612,
                                  "column": 12
                                },
                                "end": {
                                  "line": 612,
                                  "column": 18
                                }
                              },
                              "name": "argObj"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 23097,
                              "end": 23121,
                              "loc": {
                                "start": {
                                  "line": 612,
                                  "column": 21
                                },
                                "end": {
                                  "line": 612,
                                  "column": 45
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 23097,
                                "end": 23113,
                                "loc": {
                                  "start": {
                                    "line": 612,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 612,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 23097,
                                  "end": 23101,
                                  "loc": {
                                    "start": {
                                      "line": 612,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 612,
                                      "column": 25
                                    }
                                  },
                                  "name": "auto"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 23102,
                                  "end": 23113,
                                  "loc": {
                                    "start": {
                                      "line": 612,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 612,
                                      "column": 37
                                    }
                                  },
                                  "name": "getEndPoint"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 23114,
                                  "end": 23120,
                                  "loc": {
                                    "start": {
                                      "line": 612,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 612,
                                      "column": 44
                                    }
                                  },
                                  "name": "argObj"
                                }
                              ]
                            }
                          }
                        },
                        "alternate": {
                          "type": "IfStatement",
                          "start": 23136,
                          "end": 23317,
                          "loc": {
                            "start": {
                              "line": 613,
                              "column": 13
                            },
                            "end": {
                              "line": 616,
                              "column": 68
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 23140,
                            "end": 23154,
                            "loc": {
                              "start": {
                                "line": 613,
                                "column": 17
                              },
                              "end": {
                                "line": 613,
                                "column": 31
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23140,
                              "end": 23146,
                              "loc": {
                                "start": {
                                  "line": 613,
                                  "column": 17
                                },
                                "end": {
                                  "line": 613,
                                  "column": 23
                                }
                              },
                              "name": "pChild"
                            },
                            "operator": "===",
                            "right": {
                              "type": "Literal",
                              "start": 23151,
                              "end": 23154,
                              "loc": {
                                "start": {
                                  "line": 613,
                                  "column": 28
                                },
                                "end": {
                                  "line": 613,
                                  "column": 31
                                }
                              },
                              "value": "c",
                              "rawValue": "c",
                              "raw": "'c'"
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 23168,
                            "end": 23205,
                            "loc": {
                              "start": {
                                "line": 614,
                                "column": 12
                              },
                              "end": {
                                "line": 614,
                                "column": 49
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 23168,
                              "end": 23204,
                              "loc": {
                                "start": {
                                  "line": 614,
                                  "column": 12
                                },
                                "end": {
                                  "line": 614,
                                  "column": 48
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 23168,
                                "end": 23174,
                                "loc": {
                                  "start": {
                                    "line": 614,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 614,
                                    "column": 18
                                  }
                                },
                                "name": "argObj"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 23177,
                                "end": 23204,
                                "loc": {
                                  "start": {
                                    "line": 614,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 614,
                                    "column": 48
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 23177,
                                  "end": 23196,
                                  "loc": {
                                    "start": {
                                      "line": 614,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 614,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 23177,
                                    "end": 23181,
                                    "loc": {
                                      "start": {
                                        "line": 614,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 614,
                                        "column": 25
                                      }
                                    },
                                    "name": "auto"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23182,
                                    "end": 23196,
                                    "loc": {
                                      "start": {
                                        "line": 614,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 614,
                                        "column": 40
                                      }
                                    },
                                    "name": "getCenterPoint"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 23197,
                                    "end": 23203,
                                    "loc": {
                                      "start": {
                                        "line": 614,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 614,
                                        "column": 47
                                      }
                                    },
                                    "name": "argObj"
                                  }
                                ]
                              }
                            }
                          },
                          "alternate": {
                            "type": "IfStatement",
                            "start": 23219,
                            "end": 23317,
                            "loc": {
                              "start": {
                                "line": 615,
                                "column": 13
                              },
                              "end": {
                                "line": 616,
                                "column": 68
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 23223,
                              "end": 23237,
                              "loc": {
                                "start": {
                                  "line": 615,
                                  "column": 17
                                },
                                "end": {
                                  "line": 615,
                                  "column": 31
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 23224,
                                "end": 23237,
                                "loc": {
                                  "start": {
                                    "line": 615,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 615,
                                    "column": 31
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 23224,
                                  "end": 23229,
                                  "loc": {
                                    "start": {
                                      "line": 615,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 615,
                                      "column": 23
                                    }
                                  },
                                  "name": "isNaN"
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 23230,
                                    "end": 23236,
                                    "loc": {
                                      "start": {
                                        "line": 615,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 615,
                                        "column": 30
                                      }
                                    },
                                    "name": "pChild"
                                  }
                                ]
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 23261,
                              "end": 23317,
                              "loc": {
                                "start": {
                                  "line": 616,
                                  "column": 12
                                },
                                "end": {
                                  "line": 616,
                                  "column": 68
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 23261,
                                "end": 23316,
                                "loc": {
                                  "start": {
                                    "line": 616,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 616,
                                    "column": 67
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 23261,
                                  "end": 23267,
                                  "loc": {
                                    "start": {
                                      "line": 616,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 616,
                                      "column": 18
                                    }
                                  },
                                  "name": "argObj",
                                  "leadingComments": null
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 23270,
                                  "end": 23316,
                                  "loc": {
                                    "start": {
                                      "line": 616,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 616,
                                      "column": 67
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 23270,
                                    "end": 23286,
                                    "loc": {
                                      "start": {
                                        "line": 616,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 616,
                                        "column": 37
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 23270,
                                      "end": 23274,
                                      "loc": {
                                        "start": {
                                          "line": 616,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 616,
                                          "column": 25
                                        }
                                      },
                                      "name": "auto"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23275,
                                      "end": 23286,
                                      "loc": {
                                        "start": {
                                          "line": 616,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 616,
                                          "column": 37
                                        }
                                      },
                                      "name": "getEndPoint"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 23287,
                                      "end": 23293,
                                      "loc": {
                                        "start": {
                                          "line": 616,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 616,
                                          "column": 44
                                        }
                                      },
                                      "name": "argObj"
                                    },
                                    {
                                      "type": "CallExpression",
                                      "start": 23295,
                                      "end": 23315,
                                      "loc": {
                                        "start": {
                                          "line": 616,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 616,
                                          "column": 66
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 23295,
                                        "end": 23303,
                                        "loc": {
                                          "start": {
                                            "line": 616,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 616,
                                            "column": 54
                                          }
                                        },
                                        "name": "parseInt"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 23304,
                                          "end": 23310,
                                          "loc": {
                                            "start": {
                                              "line": 616,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 616,
                                              "column": 61
                                            }
                                          },
                                          "name": "pChild"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 23312,
                                          "end": 23314,
                                          "loc": {
                                            "start": {
                                              "line": 616,
                                              "column": 63
                                            },
                                            "end": {
                                              "line": 616,
                                              "column": 65
                                            }
                                          },
                                          "value": 10,
                                          "rawValue": 10,
                                          "raw": "10"
                                        }
                                      ]
                                    }
                                  ]
                                },
                                "leadingComments": null
                              },
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "number",
                                  "start": 23240,
                                  "end": 23248,
                                  "loc": {
                                    "start": {
                                      "line": 615,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 615,
                                      "column": 42
                                    }
                                  },
                                  "range": [
                                    23240,
                                    23248
                                  ]
                                }
                              ]
                            },
                            "alternate": null
                          }
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "if second part is present, take child object",
                          "start": 22919,
                          "end": 22965,
                          "loc": {
                            "start": {
                              "line": 608,
                              "column": 8
                            },
                            "end": {
                              "line": 608,
                              "column": 54
                            }
                          },
                          "range": [
                            22919,
                            22965
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 23327,
                      "end": 23341,
                      "loc": {
                        "start": {
                          "line": 618,
                          "column": 8
                        },
                        "end": {
                          "line": 618,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 23334,
                        "end": 23340,
                        "loc": {
                          "start": {
                            "line": 618,
                            "column": 15
                          },
                          "end": {
                            "line": 618,
                            "column": 21
                          }
                        },
                        "name": "argObj"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 23353,
              "end": 26659,
              "loc": {
                "start": {
                  "line": 621,
                  "column": 4
                },
                "end": {
                  "line": 701,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 23353,
                "end": 23365,
                "loc": {
                  "start": {
                    "line": 621,
                    "column": 4
                  },
                  "end": {
                    "line": 621,
                    "column": 16
                  }
                },
                "name": "isCompatible"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 23365,
                "end": 26659,
                "loc": {
                  "start": {
                    "line": 621,
                    "column": 16
                  },
                  "end": {
                    "line": 701,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 23366,
                    "end": 23369,
                    "loc": {
                      "start": {
                        "line": 621,
                        "column": 17
                      },
                      "end": {
                        "line": 621,
                        "column": 20
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "Identifier",
                    "start": 23371,
                    "end": 23374,
                    "loc": {
                      "start": {
                        "line": 621,
                        "column": 22
                      },
                      "end": {
                        "line": 621,
                        "column": 25
                      }
                    },
                    "name": "pat"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 23376,
                  "end": 26659,
                  "loc": {
                    "start": {
                      "line": 621,
                      "column": 27
                    },
                    "end": {
                      "line": 701,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 23386,
                      "end": 23453,
                      "loc": {
                        "start": {
                          "line": 622,
                          "column": 8
                        },
                        "end": {
                          "line": 623,
                          "column": 25
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 23390,
                        "end": 23426,
                        "loc": {
                          "start": {
                            "line": 622,
                            "column": 12
                          },
                          "end": {
                            "line": 622,
                            "column": 48
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 23390,
                          "end": 23413,
                          "loc": {
                            "start": {
                              "line": 622,
                              "column": 12
                            },
                            "end": {
                              "line": 622,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 23390,
                            "end": 23408,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 12
                              },
                              "end": {
                                "line": 622,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 23390,
                              "end": 23394,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 12
                                },
                                "end": {
                                  "line": 622,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 23395,
                              "end": 23408,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 17
                                },
                                "end": {
                                  "line": 622,
                                  "column": 30
                                }
                              },
                              "name": "getObjectType"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 23409,
                              "end": 23412,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 31
                                },
                                "end": {
                                  "line": 622,
                                  "column": 34
                                }
                              },
                              "name": "obj"
                            }
                          ]
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 23418,
                          "end": 23426,
                          "loc": {
                            "start": {
                              "line": 622,
                              "column": 40
                            },
                            "end": {
                              "line": 622,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23418,
                            "end": 23421,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 40
                              },
                              "end": {
                                "line": 622,
                                "column": 43
                              }
                            },
                            "name": "pat"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23422,
                            "end": 23426,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 44
                              },
                              "end": {
                                "line": 622,
                                "column": 48
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 23440,
                        "end": 23453,
                        "loc": {
                          "start": {
                            "line": 623,
                            "column": 12
                          },
                          "end": {
                            "line": 623,
                            "column": 25
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 23447,
                          "end": 23452,
                          "loc": {
                            "start": {
                              "line": 623,
                              "column": 19
                            },
                            "end": {
                              "line": 623,
                              "column": 24
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 23462,
                      "end": 23498,
                      "loc": {
                        "start": {
                          "line": 624,
                          "column": 8
                        },
                        "end": {
                          "line": 624,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 23466,
                          "end": 23497,
                          "loc": {
                            "start": {
                              "line": 624,
                              "column": 12
                            },
                            "end": {
                              "line": 624,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 23466,
                            "end": 23470,
                            "loc": {
                              "start": {
                                "line": 624,
                                "column": 12
                              },
                              "end": {
                                "line": 624,
                                "column": 16
                              }
                            },
                            "name": "auto"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 23473,
                            "end": 23497,
                            "loc": {
                              "start": {
                                "line": 624,
                                "column": 19
                              },
                              "end": {
                                "line": 624,
                                "column": 43
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 23477,
                              "end": 23495,
                              "loc": {
                                "start": {
                                  "line": 624,
                                  "column": 23
                                },
                                "end": {
                                  "line": 624,
                                  "column": 41
                                }
                              },
                              "name": "SketcherAutomation"
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "short calls to static methods",
                          "start": 23500,
                          "end": 23531,
                          "loc": {
                            "start": {
                              "line": 624,
                              "column": 46
                            },
                            "end": {
                              "line": 624,
                              "column": 77
                            }
                          },
                          "range": [
                            23500,
                            23531
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 23541,
                      "end": 23805,
                      "loc": {
                        "start": {
                          "line": 626,
                          "column": 8
                        },
                        "end": {
                          "line": 631,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 23545,
                        "end": 23571,
                        "loc": {
                          "start": {
                            "line": 626,
                            "column": 12
                          },
                          "end": {
                            "line": 626,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 23545,
                          "end": 23557,
                          "loc": {
                            "start": {
                              "line": 626,
                              "column": 12
                            },
                            "end": {
                              "line": 626,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23545,
                            "end": 23548,
                            "loc": {
                              "start": {
                                "line": 626,
                                "column": 12
                              },
                              "end": {
                                "line": 626,
                                "column": 15
                              }
                            },
                            "name": "pat",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23549,
                            "end": 23557,
                            "loc": {
                              "start": {
                                "line": 626,
                                "column": 16
                              },
                              "end": {
                                "line": 626,
                                "column": 24
                              }
                            },
                            "name": "position"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Identifier",
                          "start": 23562,
                          "end": 23571,
                          "loc": {
                            "start": {
                              "line": 626,
                              "column": 29
                            },
                            "end": {
                              "line": 626,
                              "column": 38
                            }
                          },
                          "name": "undefined"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 23573,
                        "end": 23805,
                        "loc": {
                          "start": {
                            "line": 626,
                            "column": 40
                          },
                          "end": {
                            "line": 631,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 23587,
                            "end": 23668,
                            "loc": {
                              "start": {
                                "line": 627,
                                "column": 12
                              },
                              "end": {
                                "line": 627,
                                "column": 93
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 23587,
                              "end": 23667,
                              "loc": {
                                "start": {
                                  "line": 627,
                                  "column": 12
                                },
                                "end": {
                                  "line": 627,
                                  "column": 92
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 23587,
                                "end": 23592,
                                "loc": {
                                  "start": {
                                    "line": 627,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 627,
                                    "column": 17
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 23593,
                                  "end": 23613,
                                  "loc": {
                                    "start": {
                                      "line": 627,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 627,
                                      "column": 38
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 23593,
                                    "end": 23601,
                                    "loc": {
                                      "start": {
                                        "line": 627,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 627,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 23593,
                                      "end": 23596,
                                      "loc": {
                                        "start": {
                                          "line": 627,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 627,
                                          "column": 21
                                        }
                                      },
                                      "name": "pat"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23597,
                                      "end": 23601,
                                      "loc": {
                                        "start": {
                                          "line": 627,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 627,
                                          "column": 26
                                        }
                                      },
                                      "name": "type"
                                    },
                                    "computed": false
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "Literal",
                                    "start": 23606,
                                    "end": 23613,
                                    "loc": {
                                      "start": {
                                        "line": 627,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 627,
                                        "column": 38
                                      }
                                    },
                                    "value": "point",
                                    "rawValue": "point",
                                    "raw": "\"point\""
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 23615,
                                  "end": 23666,
                                  "loc": {
                                    "start": {
                                      "line": 627,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 627,
                                      "column": 91
                                    }
                                  },
                                  "value": "Attribute 'position' is supported only for points",
                                  "rawValue": "Attribute 'position' is supported only for points",
                                  "raw": "\"Attribute 'position' is supported only for points\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 23681,
                            "end": 23708,
                            "loc": {
                              "start": {
                                "line": 628,
                                "column": 12
                              },
                              "end": {
                                "line": 628,
                                "column": 39
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 23685,
                                "end": 23707,
                                "loc": {
                                  "start": {
                                    "line": 628,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 628,
                                    "column": 38
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 23685,
                                  "end": 23688,
                                  "loc": {
                                    "start": {
                                      "line": 628,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 628,
                                      "column": 19
                                    }
                                  },
                                  "name": "pos"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 23691,
                                  "end": 23707,
                                  "loc": {
                                    "start": {
                                      "line": 628,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 628,
                                      "column": 38
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 23691,
                                    "end": 23702,
                                    "loc": {
                                      "start": {
                                        "line": 628,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 628,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 23691,
                                      "end": 23695,
                                      "loc": {
                                        "start": {
                                          "line": 628,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 628,
                                          "column": 26
                                        }
                                      },
                                      "name": "auto"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23696,
                                      "end": 23702,
                                      "loc": {
                                        "start": {
                                          "line": 628,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 628,
                                          "column": 33
                                        }
                                      },
                                      "name": "getPos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 23703,
                                      "end": 23706,
                                      "loc": {
                                        "start": {
                                          "line": 628,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 628,
                                          "column": 37
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 23721,
                            "end": 23795,
                            "loc": {
                              "start": {
                                "line": 629,
                                "column": 12
                              },
                              "end": {
                                "line": 630,
                                "column": 29
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 23725,
                              "end": 23764,
                              "loc": {
                                "start": {
                                  "line": 629,
                                  "column": 16
                                },
                                "end": {
                                  "line": 629,
                                  "column": 55
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 23726,
                                "end": 23764,
                                "loc": {
                                  "start": {
                                    "line": 629,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 629,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 23726,
                                  "end": 23745,
                                  "loc": {
                                    "start": {
                                      "line": 629,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 629,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 23726,
                                    "end": 23730,
                                    "loc": {
                                      "start": {
                                        "line": 629,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 629,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23731,
                                    "end": 23745,
                                    "loc": {
                                      "start": {
                                        "line": 629,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 629,
                                        "column": 36
                                      }
                                    },
                                    "name": "isPositionSame"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 23746,
                                    "end": 23749,
                                    "loc": {
                                      "start": {
                                        "line": 629,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 629,
                                        "column": 40
                                      }
                                    },
                                    "name": "pos"
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "start": 23751,
                                    "end": 23763,
                                    "loc": {
                                      "start": {
                                        "line": 629,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 629,
                                        "column": 54
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 23751,
                                      "end": 23754,
                                      "loc": {
                                        "start": {
                                          "line": 629,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 629,
                                          "column": 45
                                        }
                                      },
                                      "name": "pat"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23755,
                                      "end": 23763,
                                      "loc": {
                                        "start": {
                                          "line": 629,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 629,
                                          "column": 54
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 23782,
                              "end": 23795,
                              "loc": {
                                "start": {
                                  "line": 630,
                                  "column": 16
                                },
                                "end": {
                                  "line": 630,
                                  "column": 29
                                }
                              },
                              "argument": {
                                "type": "Literal",
                                "start": 23789,
                                "end": 23794,
                                "loc": {
                                  "start": {
                                    "line": 630,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 630,
                                    "column": 28
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              }
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "short calls to static methods",
                          "start": 23500,
                          "end": 23531,
                          "loc": {
                            "start": {
                              "line": 624,
                              "column": 46
                            },
                            "end": {
                              "line": 624,
                              "column": 77
                            }
                          },
                          "range": [
                            23500,
                            23531
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 23815,
                      "end": 24517,
                      "loc": {
                        "start": {
                          "line": 633,
                          "column": 8
                        },
                        "end": {
                          "line": 643,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 23819,
                        "end": 23841,
                        "loc": {
                          "start": {
                            "line": 633,
                            "column": 12
                          },
                          "end": {
                            "line": 633,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 23819,
                          "end": 23827,
                          "loc": {
                            "start": {
                              "line": 633,
                              "column": 12
                            },
                            "end": {
                              "line": 633,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23819,
                            "end": 23822,
                            "loc": {
                              "start": {
                                "line": 633,
                                "column": 12
                              },
                              "end": {
                                "line": 633,
                                "column": 15
                              }
                            },
                            "name": "pat"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23823,
                            "end": 23827,
                            "loc": {
                              "start": {
                                "line": 633,
                                "column": 16
                              },
                              "end": {
                                "line": 633,
                                "column": 20
                              }
                            },
                            "name": "ends"
                          },
                          "computed": false
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Identifier",
                          "start": 23832,
                          "end": 23841,
                          "loc": {
                            "start": {
                              "line": 633,
                              "column": 25
                            },
                            "end": {
                              "line": 633,
                              "column": 34
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 23843,
                        "end": 24517,
                        "loc": {
                          "start": {
                            "line": 633,
                            "column": 36
                          },
                          "end": {
                            "line": 643,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 23857,
                            "end": 23964,
                            "loc": {
                              "start": {
                                "line": 634,
                                "column": 12
                              },
                              "end": {
                                "line": 634,
                                "column": 119
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 23857,
                              "end": 23963,
                              "loc": {
                                "start": {
                                  "line": 634,
                                  "column": 12
                                },
                                "end": {
                                  "line": 634,
                                  "column": 118
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 23857,
                                "end": 23862,
                                "loc": {
                                  "start": {
                                    "line": 634,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 634,
                                    "column": 17
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "LogicalExpression",
                                  "start": 23863,
                                  "end": 23911,
                                  "loc": {
                                    "start": {
                                      "line": 634,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 634,
                                      "column": 66
                                    }
                                  },
                                  "left": {
                                    "type": "CallExpression",
                                    "start": 23863,
                                    "end": 23886,
                                    "loc": {
                                      "start": {
                                        "line": 634,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 634,
                                        "column": 41
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 23863,
                                      "end": 23876,
                                      "loc": {
                                        "start": {
                                          "line": 634,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 634,
                                          "column": 31
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 23863,
                                        "end": 23868,
                                        "loc": {
                                          "start": {
                                            "line": 634,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 634,
                                            "column": 23
                                          }
                                        },
                                        "name": "Array"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 23869,
                                        "end": 23876,
                                        "loc": {
                                          "start": {
                                            "line": 634,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 634,
                                            "column": 31
                                          }
                                        },
                                        "name": "isArray"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 23877,
                                        "end": 23885,
                                        "loc": {
                                          "start": {
                                            "line": 634,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 634,
                                            "column": 40
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 23877,
                                          "end": 23880,
                                          "loc": {
                                            "start": {
                                              "line": 634,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 634,
                                              "column": 35
                                            }
                                          },
                                          "name": "pat"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 23881,
                                          "end": 23885,
                                          "loc": {
                                            "start": {
                                              "line": 634,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 634,
                                              "column": 40
                                            }
                                          },
                                          "name": "ends"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 23890,
                                    "end": 23911,
                                    "loc": {
                                      "start": {
                                        "line": 634,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 634,
                                        "column": 66
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 23890,
                                      "end": 23905,
                                      "loc": {
                                        "start": {
                                          "line": 634,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 634,
                                          "column": 60
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 23890,
                                        "end": 23898,
                                        "loc": {
                                          "start": {
                                            "line": 634,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 634,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 23890,
                                          "end": 23893,
                                          "loc": {
                                            "start": {
                                              "line": 634,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 634,
                                              "column": 48
                                            }
                                          },
                                          "name": "pat"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 23894,
                                          "end": 23898,
                                          "loc": {
                                            "start": {
                                              "line": 634,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 634,
                                              "column": 53
                                            }
                                          },
                                          "name": "ends"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 23899,
                                        "end": 23905,
                                        "loc": {
                                          "start": {
                                            "line": 634,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 634,
                                            "column": 60
                                          }
                                        },
                                        "name": "length"
                                      },
                                      "computed": false
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "Literal",
                                      "start": 23910,
                                      "end": 23911,
                                      "loc": {
                                        "start": {
                                          "line": 634,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 634,
                                          "column": 66
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 23913,
                                  "end": 23962,
                                  "loc": {
                                    "start": {
                                      "line": 634,
                                      "column": 68
                                    },
                                    "end": {
                                      "line": 634,
                                      "column": 117
                                    }
                                  },
                                  "value": "Attribute 'ends' must be array with two vectors",
                                  "rawValue": "Attribute 'ends' must be array with two vectors",
                                  "raw": "\"Attribute 'ends' must be array with two vectors\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 23977,
                            "end": 24083,
                            "loc": {
                              "start": {
                                "line": 635,
                                "column": 12
                              },
                              "end": {
                                "line": 635,
                                "column": 118
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 23977,
                              "end": 24082,
                              "loc": {
                                "start": {
                                  "line": 635,
                                  "column": 12
                                },
                                "end": {
                                  "line": 635,
                                  "column": 117
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 23977,
                                "end": 23982,
                                "loc": {
                                  "start": {
                                    "line": 635,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 635,
                                    "column": 17
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "LogicalExpression",
                                  "start": 23983,
                                  "end": 24024,
                                  "loc": {
                                    "start": {
                                      "line": 635,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 635,
                                      "column": 59
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 23983,
                                    "end": 24002,
                                    "loc": {
                                      "start": {
                                        "line": 635,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 635,
                                        "column": 37
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 23983,
                                      "end": 23991,
                                      "loc": {
                                        "start": {
                                          "line": 635,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 635,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 23983,
                                        "end": 23986,
                                        "loc": {
                                          "start": {
                                            "line": 635,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 635,
                                            "column": 21
                                          }
                                        },
                                        "name": "pat"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 23987,
                                        "end": 23991,
                                        "loc": {
                                          "start": {
                                            "line": 635,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 635,
                                            "column": 26
                                          }
                                        },
                                        "name": "type"
                                      },
                                      "computed": false
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "Literal",
                                      "start": 23996,
                                      "end": 24002,
                                      "loc": {
                                        "start": {
                                          "line": 635,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 635,
                                          "column": 37
                                        }
                                      },
                                      "value": "line",
                                      "rawValue": "line",
                                      "raw": "\"line\""
                                    }
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 24006,
                                    "end": 24024,
                                    "loc": {
                                      "start": {
                                        "line": 635,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 635,
                                        "column": 59
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 24006,
                                      "end": 24014,
                                      "loc": {
                                        "start": {
                                          "line": 635,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 635,
                                          "column": 49
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 24006,
                                        "end": 24009,
                                        "loc": {
                                          "start": {
                                            "line": 635,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 635,
                                            "column": 44
                                          }
                                        },
                                        "name": "pat"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24010,
                                        "end": 24014,
                                        "loc": {
                                          "start": {
                                            "line": 635,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 635,
                                            "column": 49
                                          }
                                        },
                                        "name": "type"
                                      },
                                      "computed": false
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "Literal",
                                      "start": 24019,
                                      "end": 24024,
                                      "loc": {
                                        "start": {
                                          "line": 635,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 635,
                                          "column": 59
                                        }
                                      },
                                      "value": "arc",
                                      "rawValue": "arc",
                                      "raw": "\"arc\""
                                    }
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 24026,
                                  "end": 24081,
                                  "loc": {
                                    "start": {
                                      "line": 635,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 635,
                                      "column": 116
                                    }
                                  },
                                  "value": "Attribute 'ends' is supported only for lines and arcs",
                                  "rawValue": "Attribute 'ends' is supported only for lines and arcs",
                                  "raw": "\"Attribute 'ends' is supported only for lines and arcs\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 24096,
                            "end": 24145,
                            "loc": {
                              "start": {
                                "line": 636,
                                "column": 12
                              },
                              "end": {
                                "line": 636,
                                "column": 61
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 24100,
                                "end": 24144,
                                "loc": {
                                  "start": {
                                    "line": 636,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 636,
                                    "column": 60
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 24100,
                                  "end": 24104,
                                  "loc": {
                                    "start": {
                                      "line": 636,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 636,
                                      "column": 20
                                    }
                                  },
                                  "name": "pos0"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 24107,
                                  "end": 24144,
                                  "loc": {
                                    "start": {
                                      "line": 636,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 636,
                                      "column": 60
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 24107,
                                    "end": 24118,
                                    "loc": {
                                      "start": {
                                        "line": 636,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 636,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 24107,
                                      "end": 24111,
                                      "loc": {
                                        "start": {
                                          "line": 636,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 636,
                                          "column": 27
                                        }
                                      },
                                      "name": "auto"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 24112,
                                      "end": 24118,
                                      "loc": {
                                        "start": {
                                          "line": 636,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 636,
                                          "column": 34
                                        }
                                      },
                                      "name": "getPos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "start": 24119,
                                      "end": 24143,
                                      "loc": {
                                        "start": {
                                          "line": 636,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 636,
                                          "column": 59
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 24119,
                                        "end": 24135,
                                        "loc": {
                                          "start": {
                                            "line": 636,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 636,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 24119,
                                          "end": 24123,
                                          "loc": {
                                            "start": {
                                              "line": 636,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 636,
                                              "column": 39
                                            }
                                          },
                                          "name": "auto"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 24124,
                                          "end": 24135,
                                          "loc": {
                                            "start": {
                                              "line": 636,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 636,
                                              "column": 51
                                            }
                                          },
                                          "name": "getEndPoint"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 24136,
                                          "end": 24139,
                                          "loc": {
                                            "start": {
                                              "line": 636,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 636,
                                              "column": 55
                                            }
                                          },
                                          "name": "obj"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 24141,
                                          "end": 24142,
                                          "loc": {
                                            "start": {
                                              "line": 636,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 636,
                                              "column": 58
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 24158,
                            "end": 24207,
                            "loc": {
                              "start": {
                                "line": 637,
                                "column": 12
                              },
                              "end": {
                                "line": 637,
                                "column": 61
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 24162,
                                "end": 24206,
                                "loc": {
                                  "start": {
                                    "line": 637,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 637,
                                    "column": 60
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 24162,
                                  "end": 24166,
                                  "loc": {
                                    "start": {
                                      "line": 637,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 637,
                                      "column": 20
                                    }
                                  },
                                  "name": "pos1"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 24169,
                                  "end": 24206,
                                  "loc": {
                                    "start": {
                                      "line": 637,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 637,
                                      "column": 60
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 24169,
                                    "end": 24180,
                                    "loc": {
                                      "start": {
                                        "line": 637,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 637,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 24169,
                                      "end": 24173,
                                      "loc": {
                                        "start": {
                                          "line": 637,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 637,
                                          "column": 27
                                        }
                                      },
                                      "name": "auto"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 24174,
                                      "end": 24180,
                                      "loc": {
                                        "start": {
                                          "line": 637,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 637,
                                          "column": 34
                                        }
                                      },
                                      "name": "getPos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "start": 24181,
                                      "end": 24205,
                                      "loc": {
                                        "start": {
                                          "line": 637,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 637,
                                          "column": 59
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 24181,
                                        "end": 24197,
                                        "loc": {
                                          "start": {
                                            "line": 637,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 637,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 24181,
                                          "end": 24185,
                                          "loc": {
                                            "start": {
                                              "line": 637,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 637,
                                              "column": 39
                                            }
                                          },
                                          "name": "auto"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 24186,
                                          "end": 24197,
                                          "loc": {
                                            "start": {
                                              "line": 637,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 637,
                                              "column": 51
                                            }
                                          },
                                          "name": "getEndPoint"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 24198,
                                          "end": 24201,
                                          "loc": {
                                            "start": {
                                              "line": 637,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 637,
                                              "column": 55
                                            }
                                          },
                                          "name": "obj"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 24203,
                                          "end": 24204,
                                          "loc": {
                                            "start": {
                                              "line": 637,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 637,
                                              "column": 58
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 24220,
                            "end": 24312,
                            "loc": {
                              "start": {
                                "line": 638,
                                "column": 12
                              },
                              "end": {
                                "line": 638,
                                "column": 104
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 24224,
                                "end": 24311,
                                "loc": {
                                  "start": {
                                    "line": 638,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 638,
                                    "column": 103
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 24224,
                                  "end": 24228,
                                  "loc": {
                                    "start": {
                                      "line": 638,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 638,
                                      "column": 20
                                    }
                                  },
                                  "name": "same"
                                },
                                "init": {
                                  "type": "LogicalExpression",
                                  "start": 24231,
                                  "end": 24311,
                                  "loc": {
                                    "start": {
                                      "line": 638,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 638,
                                      "column": 103
                                    }
                                  },
                                  "left": {
                                    "type": "CallExpression",
                                    "start": 24231,
                                    "end": 24269,
                                    "loc": {
                                      "start": {
                                        "line": 638,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 638,
                                        "column": 61
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 24231,
                                      "end": 24250,
                                      "loc": {
                                        "start": {
                                          "line": 638,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 638,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 24231,
                                        "end": 24235,
                                        "loc": {
                                          "start": {
                                            "line": 638,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 638,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24236,
                                        "end": 24250,
                                        "loc": {
                                          "start": {
                                            "line": 638,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 638,
                                            "column": 42
                                          }
                                        },
                                        "name": "isPositionSame"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 24251,
                                        "end": 24255,
                                        "loc": {
                                          "start": {
                                            "line": 638,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 638,
                                            "column": 47
                                          }
                                        },
                                        "name": "pos0"
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 24257,
                                        "end": 24268,
                                        "loc": {
                                          "start": {
                                            "line": 638,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 638,
                                            "column": 60
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 24257,
                                          "end": 24265,
                                          "loc": {
                                            "start": {
                                              "line": 638,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 638,
                                              "column": 57
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 24257,
                                            "end": 24260,
                                            "loc": {
                                              "start": {
                                                "line": 638,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 638,
                                                "column": 52
                                              }
                                            },
                                            "name": "pat"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 24261,
                                            "end": 24265,
                                            "loc": {
                                              "start": {
                                                "line": 638,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 638,
                                                "column": 57
                                              }
                                            },
                                            "name": "ends"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 24266,
                                          "end": 24267,
                                          "loc": {
                                            "start": {
                                              "line": 638,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 638,
                                              "column": 59
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      }
                                    ]
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 24273,
                                    "end": 24311,
                                    "loc": {
                                      "start": {
                                        "line": 638,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 638,
                                        "column": 103
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 24273,
                                      "end": 24292,
                                      "loc": {
                                        "start": {
                                          "line": 638,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 638,
                                          "column": 84
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 24273,
                                        "end": 24277,
                                        "loc": {
                                          "start": {
                                            "line": 638,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 638,
                                            "column": 69
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24278,
                                        "end": 24292,
                                        "loc": {
                                          "start": {
                                            "line": 638,
                                            "column": 70
                                          },
                                          "end": {
                                            "line": 638,
                                            "column": 84
                                          }
                                        },
                                        "name": "isPositionSame"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 24293,
                                        "end": 24297,
                                        "loc": {
                                          "start": {
                                            "line": 638,
                                            "column": 85
                                          },
                                          "end": {
                                            "line": 638,
                                            "column": 89
                                          }
                                        },
                                        "name": "pos1"
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 24299,
                                        "end": 24310,
                                        "loc": {
                                          "start": {
                                            "line": 638,
                                            "column": 91
                                          },
                                          "end": {
                                            "line": 638,
                                            "column": 102
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 24299,
                                          "end": 24307,
                                          "loc": {
                                            "start": {
                                              "line": 638,
                                              "column": 91
                                            },
                                            "end": {
                                              "line": 638,
                                              "column": 99
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 24299,
                                            "end": 24302,
                                            "loc": {
                                              "start": {
                                                "line": 638,
                                                "column": 91
                                              },
                                              "end": {
                                                "line": 638,
                                                "column": 94
                                              }
                                            },
                                            "name": "pat"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 24303,
                                            "end": 24307,
                                            "loc": {
                                              "start": {
                                                "line": 638,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 638,
                                                "column": 99
                                              }
                                            },
                                            "name": "ends"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 24308,
                                          "end": 24309,
                                          "loc": {
                                            "start": {
                                              "line": 638,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 638,
                                              "column": 101
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "computed": true
                                      }
                                    ]
                                  }
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 24325,
                            "end": 24454,
                            "loc": {
                              "start": {
                                "line": 639,
                                "column": 12
                              },
                              "end": {
                                "line": 640,
                                "column": 114
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 24329,
                              "end": 24338,
                              "loc": {
                                "start": {
                                  "line": 639,
                                  "column": 16
                                },
                                "end": {
                                  "line": 639,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24329,
                                "end": 24332,
                                "loc": {
                                  "start": {
                                    "line": 639,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 639,
                                    "column": 19
                                  }
                                },
                                "name": "pat"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24333,
                                "end": 24338,
                                "loc": {
                                  "start": {
                                    "line": 639,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 639,
                                    "column": 25
                                  }
                                },
                                "name": "undir"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 24356,
                              "end": 24454,
                              "loc": {
                                "start": {
                                  "line": 640,
                                  "column": 16
                                },
                                "end": {
                                  "line": 640,
                                  "column": 114
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 24356,
                                "end": 24453,
                                "loc": {
                                  "start": {
                                    "line": 640,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 640,
                                    "column": 113
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 24356,
                                  "end": 24360,
                                  "loc": {
                                    "start": {
                                      "line": 640,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 640,
                                      "column": 20
                                    }
                                  },
                                  "name": "same"
                                },
                                "right": {
                                  "type": "LogicalExpression",
                                  "start": 24363,
                                  "end": 24453,
                                  "loc": {
                                    "start": {
                                      "line": 640,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 640,
                                      "column": 113
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 24363,
                                    "end": 24367,
                                    "loc": {
                                      "start": {
                                        "line": 640,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 640,
                                        "column": 27
                                      }
                                    },
                                    "name": "same"
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "LogicalExpression",
                                    "start": 24372,
                                    "end": 24452,
                                    "loc": {
                                      "start": {
                                        "line": 640,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 640,
                                        "column": 112
                                      }
                                    },
                                    "left": {
                                      "type": "CallExpression",
                                      "start": 24372,
                                      "end": 24410,
                                      "loc": {
                                        "start": {
                                          "line": 640,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 640,
                                          "column": 70
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 24372,
                                        "end": 24391,
                                        "loc": {
                                          "start": {
                                            "line": 640,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 640,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 24372,
                                          "end": 24376,
                                          "loc": {
                                            "start": {
                                              "line": 640,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 640,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 24377,
                                          "end": 24391,
                                          "loc": {
                                            "start": {
                                              "line": 640,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 640,
                                              "column": 51
                                            }
                                          },
                                          "name": "isPositionSame"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 24392,
                                          "end": 24396,
                                          "loc": {
                                            "start": {
                                              "line": 640,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 640,
                                              "column": 56
                                            }
                                          },
                                          "name": "pos0"
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 24398,
                                          "end": 24409,
                                          "loc": {
                                            "start": {
                                              "line": 640,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 640,
                                              "column": 69
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 24398,
                                            "end": 24406,
                                            "loc": {
                                              "start": {
                                                "line": 640,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 640,
                                                "column": 66
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 24398,
                                              "end": 24401,
                                              "loc": {
                                                "start": {
                                                  "line": 640,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 640,
                                                  "column": 61
                                                }
                                              },
                                              "name": "pat"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 24402,
                                              "end": 24406,
                                              "loc": {
                                                "start": {
                                                  "line": 640,
                                                  "column": 62
                                                },
                                                "end": {
                                                  "line": 640,
                                                  "column": 66
                                                }
                                              },
                                              "name": "ends"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "start": 24407,
                                            "end": 24408,
                                            "loc": {
                                              "start": {
                                                "line": 640,
                                                "column": 67
                                              },
                                              "end": {
                                                "line": 640,
                                                "column": 68
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "computed": true
                                        }
                                      ]
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 24414,
                                      "end": 24452,
                                      "loc": {
                                        "start": {
                                          "line": 640,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 640,
                                          "column": 112
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 24414,
                                        "end": 24433,
                                        "loc": {
                                          "start": {
                                            "line": 640,
                                            "column": 74
                                          },
                                          "end": {
                                            "line": 640,
                                            "column": 93
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 24414,
                                          "end": 24418,
                                          "loc": {
                                            "start": {
                                              "line": 640,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 640,
                                              "column": 78
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 24419,
                                          "end": 24433,
                                          "loc": {
                                            "start": {
                                              "line": 640,
                                              "column": 79
                                            },
                                            "end": {
                                              "line": 640,
                                              "column": 93
                                            }
                                          },
                                          "name": "isPositionSame"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 24434,
                                          "end": 24438,
                                          "loc": {
                                            "start": {
                                              "line": 640,
                                              "column": 94
                                            },
                                            "end": {
                                              "line": 640,
                                              "column": 98
                                            }
                                          },
                                          "name": "pos1"
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 24440,
                                          "end": 24451,
                                          "loc": {
                                            "start": {
                                              "line": 640,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 640,
                                              "column": 111
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 24440,
                                            "end": 24448,
                                            "loc": {
                                              "start": {
                                                "line": 640,
                                                "column": 100
                                              },
                                              "end": {
                                                "line": 640,
                                                "column": 108
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 24440,
                                              "end": 24443,
                                              "loc": {
                                                "start": {
                                                  "line": 640,
                                                  "column": 100
                                                },
                                                "end": {
                                                  "line": 640,
                                                  "column": 103
                                                }
                                              },
                                              "name": "pat"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 24444,
                                              "end": 24448,
                                              "loc": {
                                                "start": {
                                                  "line": 640,
                                                  "column": 104
                                                },
                                                "end": {
                                                  "line": 640,
                                                  "column": 108
                                                }
                                              },
                                              "name": "ends"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "start": 24449,
                                            "end": 24450,
                                            "loc": {
                                              "start": {
                                                "line": 640,
                                                "column": 109
                                              },
                                              "end": {
                                                "line": 640,
                                                "column": 110
                                              }
                                            },
                                            "value": 0,
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "computed": true
                                        }
                                      ]
                                    },
                                    "parenthesizedExpression": true
                                  }
                                }
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 24467,
                            "end": 24507,
                            "loc": {
                              "start": {
                                "line": 641,
                                "column": 12
                              },
                              "end": {
                                "line": 642,
                                "column": 29
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 24471,
                              "end": 24476,
                              "loc": {
                                "start": {
                                  "line": 641,
                                  "column": 16
                                },
                                "end": {
                                  "line": 641,
                                  "column": 21
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 24472,
                                "end": 24476,
                                "loc": {
                                  "start": {
                                    "line": 641,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 641,
                                    "column": 21
                                  }
                                },
                                "name": "same"
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 24494,
                              "end": 24507,
                              "loc": {
                                "start": {
                                  "line": 642,
                                  "column": 16
                                },
                                "end": {
                                  "line": 642,
                                  "column": 29
                                }
                              },
                              "argument": {
                                "type": "Literal",
                                "start": 24501,
                                "end": 24506,
                                "loc": {
                                  "start": {
                                    "line": 642,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 642,
                                    "column": 28
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              }
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 24527,
                      "end": 24821,
                      "loc": {
                        "start": {
                          "line": 645,
                          "column": 8
                        },
                        "end": {
                          "line": 650,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 24531,
                        "end": 24555,
                        "loc": {
                          "start": {
                            "line": 645,
                            "column": 12
                          },
                          "end": {
                            "line": 645,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 24531,
                          "end": 24541,
                          "loc": {
                            "start": {
                              "line": 645,
                              "column": 12
                            },
                            "end": {
                              "line": 645,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 24531,
                            "end": 24534,
                            "loc": {
                              "start": {
                                "line": 645,
                                "column": 12
                              },
                              "end": {
                                "line": 645,
                                "column": 15
                              }
                            },
                            "name": "pat"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 24535,
                            "end": 24541,
                            "loc": {
                              "start": {
                                "line": 645,
                                "column": 16
                              },
                              "end": {
                                "line": 645,
                                "column": 22
                              }
                            },
                            "name": "middle"
                          },
                          "computed": false
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Identifier",
                          "start": 24546,
                          "end": 24555,
                          "loc": {
                            "start": {
                              "line": 645,
                              "column": 27
                            },
                            "end": {
                              "line": 645,
                              "column": 36
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 24557,
                        "end": 24821,
                        "loc": {
                          "start": {
                            "line": 645,
                            "column": 38
                          },
                          "end": {
                            "line": 650,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 24571,
                            "end": 24680,
                            "loc": {
                              "start": {
                                "line": 646,
                                "column": 12
                              },
                              "end": {
                                "line": 646,
                                "column": 121
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 24571,
                              "end": 24679,
                              "loc": {
                                "start": {
                                  "line": 646,
                                  "column": 12
                                },
                                "end": {
                                  "line": 646,
                                  "column": 120
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 24571,
                                "end": 24576,
                                "loc": {
                                  "start": {
                                    "line": 646,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 646,
                                    "column": 17
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 24577,
                                  "end": 24620,
                                  "loc": {
                                    "start": {
                                      "line": 646,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 646,
                                      "column": 61
                                    }
                                  },
                                  "left": {
                                    "type": "CallExpression",
                                    "start": 24577,
                                    "end": 24613,
                                    "loc": {
                                      "start": {
                                        "line": 646,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 646,
                                        "column": 54
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 24577,
                                      "end": 24603,
                                      "loc": {
                                        "start": {
                                          "line": 646,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 646,
                                          "column": 44
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 24577,
                                        "end": 24595,
                                        "loc": {
                                          "start": {
                                            "line": 646,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 646,
                                            "column": 36
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 24577,
                                          "end": 24581,
                                          "loc": {
                                            "start": {
                                              "line": 646,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 646,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 24582,
                                          "end": 24595,
                                          "loc": {
                                            "start": {
                                              "line": 646,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 646,
                                              "column": 36
                                            }
                                          },
                                          "name": "geometryTypes"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24596,
                                        "end": 24603,
                                        "loc": {
                                          "start": {
                                            "line": 646,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 646,
                                            "column": 44
                                          }
                                        },
                                        "name": "indexOf"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 24604,
                                        "end": 24612,
                                        "loc": {
                                          "start": {
                                            "line": 646,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 646,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 24604,
                                          "end": 24607,
                                          "loc": {
                                            "start": {
                                              "line": 646,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 646,
                                              "column": 48
                                            }
                                          },
                                          "name": "pat"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 24608,
                                          "end": 24612,
                                          "loc": {
                                            "start": {
                                              "line": 646,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 646,
                                              "column": 53
                                            }
                                          },
                                          "name": "type"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  },
                                  "operator": "!==",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 24618,
                                    "end": 24620,
                                    "loc": {
                                      "start": {
                                        "line": 646,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 646,
                                        "column": 61
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Literal",
                                      "start": 24619,
                                      "end": 24620,
                                      "loc": {
                                        "start": {
                                          "line": 646,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 646,
                                          "column": 61
                                        }
                                      },
                                      "value": 1,
                                      "rawValue": 1,
                                      "raw": "1"
                                    }
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 24622,
                                  "end": 24678,
                                  "loc": {
                                    "start": {
                                      "line": 646,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 646,
                                      "column": 119
                                    }
                                  },
                                  "value": "Attribute 'middle' is supported only geometric objects",
                                  "rawValue": "Attribute 'middle' is supported only geometric objects",
                                  "raw": "\"Attribute 'middle' is supported only geometric objects\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 24693,
                            "end": 24726,
                            "loc": {
                              "start": {
                                "line": 647,
                                "column": 12
                              },
                              "end": {
                                "line": 647,
                                "column": 45
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 24697,
                                "end": 24725,
                                "loc": {
                                  "start": {
                                    "line": 647,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 647,
                                    "column": 44
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 24697,
                                  "end": 24700,
                                  "loc": {
                                    "start": {
                                      "line": 647,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 647,
                                      "column": 19
                                    }
                                  },
                                  "name": "pos"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 24703,
                                  "end": 24725,
                                  "loc": {
                                    "start": {
                                      "line": 647,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 647,
                                      "column": 44
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 24703,
                                    "end": 24720,
                                    "loc": {
                                      "start": {
                                        "line": 647,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 647,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 24703,
                                      "end": 24707,
                                      "loc": {
                                        "start": {
                                          "line": 647,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 647,
                                          "column": 26
                                        }
                                      },
                                      "name": "auto"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 24708,
                                      "end": 24720,
                                      "loc": {
                                        "start": {
                                          "line": 647,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 647,
                                          "column": 39
                                        }
                                      },
                                      "name": "getMiddlePos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 24721,
                                      "end": 24724,
                                      "loc": {
                                        "start": {
                                          "line": 647,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 647,
                                          "column": 43
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 24739,
                            "end": 24811,
                            "loc": {
                              "start": {
                                "line": 648,
                                "column": 12
                              },
                              "end": {
                                "line": 649,
                                "column": 29
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 24743,
                              "end": 24780,
                              "loc": {
                                "start": {
                                  "line": 648,
                                  "column": 16
                                },
                                "end": {
                                  "line": 648,
                                  "column": 53
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 24744,
                                "end": 24780,
                                "loc": {
                                  "start": {
                                    "line": 648,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 648,
                                    "column": 53
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 24744,
                                  "end": 24763,
                                  "loc": {
                                    "start": {
                                      "line": 648,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 648,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 24744,
                                    "end": 24748,
                                    "loc": {
                                      "start": {
                                        "line": 648,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 648,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24749,
                                    "end": 24763,
                                    "loc": {
                                      "start": {
                                        "line": 648,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 648,
                                        "column": 36
                                      }
                                    },
                                    "name": "isPositionSame"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 24764,
                                    "end": 24767,
                                    "loc": {
                                      "start": {
                                        "line": 648,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 648,
                                        "column": 40
                                      }
                                    },
                                    "name": "pos"
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "start": 24769,
                                    "end": 24779,
                                    "loc": {
                                      "start": {
                                        "line": 648,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 648,
                                        "column": 52
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 24769,
                                      "end": 24772,
                                      "loc": {
                                        "start": {
                                          "line": 648,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 648,
                                          "column": 45
                                        }
                                      },
                                      "name": "pat"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 24773,
                                      "end": 24779,
                                      "loc": {
                                        "start": {
                                          "line": 648,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 648,
                                          "column": 52
                                        }
                                      },
                                      "name": "middle"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 24798,
                              "end": 24811,
                              "loc": {
                                "start": {
                                  "line": 649,
                                  "column": 16
                                },
                                "end": {
                                  "line": 649,
                                  "column": 29
                                }
                              },
                              "argument": {
                                "type": "Literal",
                                "start": 24805,
                                "end": 24810,
                                "loc": {
                                  "start": {
                                    "line": 649,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 649,
                                    "column": 28
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              }
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 24831,
                      "end": 26497,
                      "loc": {
                        "start": {
                          "line": 652,
                          "column": 8
                        },
                        "end": {
                          "line": 693,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 24835,
                        "end": 24857,
                        "loc": {
                          "start": {
                            "line": 652,
                            "column": 12
                          },
                          "end": {
                            "line": 652,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 24835,
                          "end": 24843,
                          "loc": {
                            "start": {
                              "line": 652,
                              "column": 12
                            },
                            "end": {
                              "line": 652,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 24835,
                            "end": 24838,
                            "loc": {
                              "start": {
                                "line": 652,
                                "column": 12
                              },
                              "end": {
                                "line": 652,
                                "column": 15
                              }
                            },
                            "name": "pat"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 24839,
                            "end": 24843,
                            "loc": {
                              "start": {
                                "line": 652,
                                "column": 16
                              },
                              "end": {
                                "line": 652,
                                "column": 20
                              }
                            },
                            "name": "args"
                          },
                          "computed": false
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Identifier",
                          "start": 24848,
                          "end": 24857,
                          "loc": {
                            "start": {
                              "line": 652,
                              "column": 25
                            },
                            "end": {
                              "line": 652,
                              "column": 34
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 24859,
                        "end": 26497,
                        "loc": {
                          "start": {
                            "line": 652,
                            "column": 36
                          },
                          "end": {
                            "line": 693,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 24873,
                            "end": 24893,
                            "loc": {
                              "start": {
                                "line": 653,
                                "column": 12
                              },
                              "end": {
                                "line": 653,
                                "column": 32
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 24877,
                                "end": 24892,
                                "loc": {
                                  "start": {
                                    "line": 653,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 653,
                                    "column": 31
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 24877,
                                  "end": 24881,
                                  "loc": {
                                    "start": {
                                      "line": 653,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 653,
                                      "column": 20
                                    }
                                  },
                                  "name": "args"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 24884,
                                  "end": 24892,
                                  "loc": {
                                    "start": {
                                      "line": 653,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 653,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 24884,
                                    "end": 24887,
                                    "loc": {
                                      "start": {
                                        "line": 653,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 653,
                                        "column": 26
                                      }
                                    },
                                    "name": "pat"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24888,
                                    "end": 24892,
                                    "loc": {
                                      "start": {
                                        "line": 653,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 653,
                                        "column": 31
                                      }
                                    },
                                    "name": "args"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 24906,
                            "end": 24996,
                            "loc": {
                              "start": {
                                "line": 654,
                                "column": 12
                              },
                              "end": {
                                "line": 655,
                                "column": 30
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 24910,
                              "end": 24964,
                              "loc": {
                                "start": {
                                  "line": 654,
                                  "column": 16
                                },
                                "end": {
                                  "line": 654,
                                  "column": 70
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 24910,
                                "end": 24935,
                                "loc": {
                                  "start": {
                                    "line": 654,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 654,
                                    "column": 41
                                  }
                                },
                                "left": {
                                  "type": "UnaryExpression",
                                  "start": 24910,
                                  "end": 24922,
                                  "loc": {
                                    "start": {
                                      "line": 654,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 654,
                                      "column": 28
                                    }
                                  },
                                  "operator": "typeof",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 24917,
                                    "end": 24921,
                                    "loc": {
                                      "start": {
                                        "line": 654,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 654,
                                        "column": 27
                                      }
                                    },
                                    "name": "args",
                                    "parenthesizedExpression": true
                                  }
                                },
                                "operator": "===",
                                "right": {
                                  "type": "Literal",
                                  "start": 24927,
                                  "end": 24935,
                                  "loc": {
                                    "start": {
                                      "line": 654,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 654,
                                      "column": 41
                                    }
                                  },
                                  "value": "number",
                                  "rawValue": "number",
                                  "raw": "\"number\""
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 24939,
                                "end": 24964,
                                "loc": {
                                  "start": {
                                    "line": 654,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 654,
                                    "column": 70
                                  }
                                },
                                "left": {
                                  "type": "UnaryExpression",
                                  "start": 24939,
                                  "end": 24951,
                                  "loc": {
                                    "start": {
                                      "line": 654,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 654,
                                      "column": 57
                                    }
                                  },
                                  "operator": "typeof",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 24946,
                                    "end": 24950,
                                    "loc": {
                                      "start": {
                                        "line": 654,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 654,
                                        "column": 56
                                      }
                                    },
                                    "name": "args",
                                    "parenthesizedExpression": true
                                  }
                                },
                                "operator": "===",
                                "right": {
                                  "type": "Literal",
                                  "start": 24956,
                                  "end": 24964,
                                  "loc": {
                                    "start": {
                                      "line": 654,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 654,
                                      "column": 70
                                    }
                                  },
                                  "value": "string",
                                  "rawValue": "string",
                                  "raw": "\"string\""
                                }
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 24982,
                              "end": 24996,
                              "loc": {
                                "start": {
                                  "line": 655,
                                  "column": 16
                                },
                                "end": {
                                  "line": 655,
                                  "column": 30
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 24982,
                                "end": 24995,
                                "loc": {
                                  "start": {
                                    "line": 655,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 655,
                                    "column": 29
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 24982,
                                  "end": 24986,
                                  "loc": {
                                    "start": {
                                      "line": 655,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 655,
                                      "column": 20
                                    }
                                  },
                                  "name": "args"
                                },
                                "right": {
                                  "type": "ArrayExpression",
                                  "start": 24989,
                                  "end": 24995,
                                  "loc": {
                                    "start": {
                                      "line": 655,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 655,
                                      "column": 29
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "Identifier",
                                      "start": 24990,
                                      "end": 24994,
                                      "loc": {
                                        "start": {
                                          "line": 655,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 655,
                                          "column": 28
                                        }
                                      },
                                      "name": "args"
                                    }
                                  ]
                                }
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 25009,
                            "end": 25070,
                            "loc": {
                              "start": {
                                "line": 656,
                                "column": 12
                              },
                              "end": {
                                "line": 656,
                                "column": 73
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 25009,
                              "end": 25069,
                              "loc": {
                                "start": {
                                  "line": 656,
                                  "column": 12
                                },
                                "end": {
                                  "line": 656,
                                  "column": 72
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 25009,
                                "end": 25014,
                                "loc": {
                                  "start": {
                                    "line": 656,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 656,
                                    "column": 17
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 25015,
                                  "end": 25034,
                                  "loc": {
                                    "start": {
                                      "line": 656,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 656,
                                      "column": 37
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 25015,
                                    "end": 25028,
                                    "loc": {
                                      "start": {
                                        "line": 656,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 656,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 25015,
                                      "end": 25020,
                                      "loc": {
                                        "start": {
                                          "line": 656,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 656,
                                          "column": 23
                                        }
                                      },
                                      "name": "Array"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 25021,
                                      "end": 25028,
                                      "loc": {
                                        "start": {
                                          "line": 656,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 656,
                                          "column": 31
                                        }
                                      },
                                      "name": "isArray"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 25029,
                                      "end": 25033,
                                      "loc": {
                                        "start": {
                                          "line": 656,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 656,
                                          "column": 36
                                        }
                                      },
                                      "name": "args"
                                    }
                                  ]
                                },
                                {
                                  "type": "Literal",
                                  "start": 25036,
                                  "end": 25068,
                                  "loc": {
                                    "start": {
                                      "line": 656,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 656,
                                      "column": 71
                                    }
                                  },
                                  "value": "Attribute 'args' must be array",
                                  "rawValue": "Attribute 'args' must be array",
                                  "raw": "\"Attribute 'args' must be array\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 25084,
                            "end": 25101,
                            "loc": {
                              "start": {
                                "line": 658,
                                "column": 12
                              },
                              "end": {
                                "line": 658,
                                "column": 29
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 25088,
                                "end": 25100,
                                "loc": {
                                  "start": {
                                    "line": 658,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 658,
                                    "column": 28
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 25088,
                                  "end": 25095,
                                  "loc": {
                                    "start": {
                                      "line": 658,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 658,
                                      "column": 23
                                    }
                                  },
                                  "name": "objArgs"
                                },
                                "init": {
                                  "type": "ArrayExpression",
                                  "start": 25098,
                                  "end": 25100,
                                  "loc": {
                                    "start": {
                                      "line": 658,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 658,
                                      "column": 28
                                    }
                                  },
                                  "elements": []
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ForStatement",
                            "start": 25114,
                            "end": 25297,
                            "loc": {
                              "start": {
                                "line": 659,
                                "column": 12
                              },
                              "end": {
                                "line": 663,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 25119,
                              "end": 25128,
                              "loc": {
                                "start": {
                                  "line": 659,
                                  "column": 17
                                },
                                "end": {
                                  "line": 659,
                                  "column": 26
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 25123,
                                  "end": 25128,
                                  "loc": {
                                    "start": {
                                      "line": 659,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 659,
                                      "column": 26
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 25123,
                                    "end": 25124,
                                    "loc": {
                                      "start": {
                                        "line": 659,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 659,
                                        "column": 22
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "start": 25127,
                                    "end": 25128,
                                    "loc": {
                                      "start": {
                                        "line": 659,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 659,
                                        "column": 26
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                }
                              ],
                              "kind": "let"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 25130,
                              "end": 25145,
                              "loc": {
                                "start": {
                                  "line": 659,
                                  "column": 28
                                },
                                "end": {
                                  "line": 659,
                                  "column": 43
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 25130,
                                "end": 25131,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 29
                                  }
                                },
                                "name": "i"
                              },
                              "operator": "<",
                              "right": {
                                "type": "MemberExpression",
                                "start": 25134,
                                "end": 25145,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 25134,
                                  "end": 25138,
                                  "loc": {
                                    "start": {
                                      "line": 659,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 659,
                                      "column": 36
                                    }
                                  },
                                  "name": "args"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 25139,
                                  "end": 25145,
                                  "loc": {
                                    "start": {
                                      "line": 659,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 659,
                                      "column": 43
                                    }
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "start": 25147,
                              "end": 25150,
                              "loc": {
                                "start": {
                                  "line": 659,
                                  "column": 45
                                },
                                "end": {
                                  "line": 659,
                                  "column": 48
                                }
                              },
                              "operator": "++",
                              "prefix": false,
                              "argument": {
                                "type": "Identifier",
                                "start": 25147,
                                "end": 25148,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 46
                                  }
                                },
                                "name": "i"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 25152,
                              "end": 25297,
                              "loc": {
                                "start": {
                                  "line": 659,
                                  "column": 50
                                },
                                "end": {
                                  "line": 663,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 25170,
                                  "end": 25188,
                                  "loc": {
                                    "start": {
                                      "line": 660,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 660,
                                      "column": 34
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 25174,
                                      "end": 25187,
                                      "loc": {
                                        "start": {
                                          "line": 660,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 660,
                                          "column": 33
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 25174,
                                        "end": 25177,
                                        "loc": {
                                          "start": {
                                            "line": 660,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 660,
                                            "column": 23
                                          }
                                        },
                                        "name": "arg"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 25180,
                                        "end": 25187,
                                        "loc": {
                                          "start": {
                                            "line": 660,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 660,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 25180,
                                          "end": 25184,
                                          "loc": {
                                            "start": {
                                              "line": 660,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 660,
                                              "column": 30
                                            }
                                          },
                                          "name": "args"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 25185,
                                          "end": 25186,
                                          "loc": {
                                            "start": {
                                              "line": 660,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 660,
                                              "column": 32
                                            }
                                          },
                                          "name": "i"
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 25205,
                                  "end": 25245,
                                  "loc": {
                                    "start": {
                                      "line": 661,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 661,
                                      "column": 56
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 25209,
                                      "end": 25244,
                                      "loc": {
                                        "start": {
                                          "line": 661,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 661,
                                          "column": 55
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 25209,
                                        "end": 25215,
                                        "loc": {
                                          "start": {
                                            "line": 661,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 661,
                                            "column": 26
                                          }
                                        },
                                        "name": "argObj"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 25218,
                                        "end": 25244,
                                        "loc": {
                                          "start": {
                                            "line": 661,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 661,
                                            "column": 55
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 25218,
                                          "end": 25233,
                                          "loc": {
                                            "start": {
                                              "line": 661,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 661,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 25218,
                                            "end": 25222,
                                            "loc": {
                                              "start": {
                                                "line": 661,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 661,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 25223,
                                            "end": 25233,
                                            "loc": {
                                              "start": {
                                                "line": 661,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 661,
                                                "column": 44
                                              }
                                            },
                                            "name": "resolveRef"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 25234,
                                            "end": 25237,
                                            "loc": {
                                              "start": {
                                                "line": 661,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 661,
                                                "column": 48
                                              }
                                            },
                                            "name": "arg"
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 25239,
                                            "end": 25243,
                                            "loc": {
                                              "start": {
                                                "line": 661,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 661,
                                                "column": 54
                                              }
                                            },
                                            "value": true,
                                            "rawValue": true,
                                            "raw": "true"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 25262,
                                  "end": 25283,
                                  "loc": {
                                    "start": {
                                      "line": 662,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 662,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 25262,
                                    "end": 25282,
                                    "loc": {
                                      "start": {
                                        "line": 662,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 662,
                                        "column": 36
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 25262,
                                      "end": 25274,
                                      "loc": {
                                        "start": {
                                          "line": 662,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 662,
                                          "column": 28
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 25262,
                                        "end": 25269,
                                        "loc": {
                                          "start": {
                                            "line": 662,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 662,
                                            "column": 23
                                          }
                                        },
                                        "name": "objArgs"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 25270,
                                        "end": 25274,
                                        "loc": {
                                          "start": {
                                            "line": 662,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 662,
                                            "column": 28
                                          }
                                        },
                                        "name": "push"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 25275,
                                        "end": 25281,
                                        "loc": {
                                          "start": {
                                            "line": 662,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 662,
                                            "column": 35
                                          }
                                        },
                                        "name": "argObj"
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 25311,
                            "end": 25380,
                            "loc": {
                              "start": {
                                "line": 665,
                                "column": 12
                              },
                              "end": {
                                "line": 666,
                                "column": 29
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 25315,
                              "end": 25349,
                              "loc": {
                                "start": {
                                  "line": 665,
                                  "column": 16
                                },
                                "end": {
                                  "line": 665,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 25315,
                                "end": 25330,
                                "loc": {
                                  "start": {
                                    "line": 665,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 665,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 25315,
                                  "end": 25323,
                                  "loc": {
                                    "start": {
                                      "line": 665,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 665,
                                      "column": 24
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 25315,
                                    "end": 25318,
                                    "loc": {
                                      "start": {
                                        "line": 665,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 665,
                                        "column": 19
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 25319,
                                    "end": 25323,
                                    "loc": {
                                      "start": {
                                        "line": 665,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 665,
                                        "column": 24
                                      }
                                    },
                                    "name": "args"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 25324,
                                  "end": 25330,
                                  "loc": {
                                    "start": {
                                      "line": 665,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 665,
                                      "column": 31
                                    }
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              },
                              "operator": "!==",
                              "right": {
                                "type": "MemberExpression",
                                "start": 25335,
                                "end": 25349,
                                "loc": {
                                  "start": {
                                    "line": 665,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 665,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 25335,
                                  "end": 25342,
                                  "loc": {
                                    "start": {
                                      "line": 665,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 665,
                                      "column": 43
                                    }
                                  },
                                  "name": "objArgs"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 25343,
                                  "end": 25349,
                                  "loc": {
                                    "start": {
                                      "line": 665,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 665,
                                      "column": 50
                                    }
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 25367,
                              "end": 25380,
                              "loc": {
                                "start": {
                                  "line": 666,
                                  "column": 16
                                },
                                "end": {
                                  "line": 666,
                                  "column": 29
                                }
                              },
                              "argument": {
                                "type": "Literal",
                                "start": 25374,
                                "end": 25379,
                                "loc": {
                                  "start": {
                                    "line": 666,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 666,
                                    "column": 28
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 25394,
                            "end": 25413,
                            "loc": {
                              "start": {
                                "line": 668,
                                "column": 12
                              },
                              "end": {
                                "line": 668,
                                "column": 31
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 25398,
                                "end": 25412,
                                "loc": {
                                  "start": {
                                    "line": 668,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 668,
                                    "column": 30
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 25398,
                                  "end": 25405,
                                  "loc": {
                                    "start": {
                                      "line": 668,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 668,
                                      "column": 23
                                    }
                                  },
                                  "name": "matches"
                                },
                                "init": {
                                  "type": "Literal",
                                  "start": 25408,
                                  "end": 25412,
                                  "loc": {
                                    "start": {
                                      "line": 668,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 668,
                                      "column": 30
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ForStatement",
                            "start": 25426,
                            "end": 25551,
                            "loc": {
                              "start": {
                                "line": 669,
                                "column": 12
                              },
                              "end": {
                                "line": 671,
                                "column": 36
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 25431,
                              "end": 25440,
                              "loc": {
                                "start": {
                                  "line": 669,
                                  "column": 17
                                },
                                "end": {
                                  "line": 669,
                                  "column": 26
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 25435,
                                  "end": 25440,
                                  "loc": {
                                    "start": {
                                      "line": 669,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 669,
                                      "column": 26
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 25435,
                                    "end": 25436,
                                    "loc": {
                                      "start": {
                                        "line": 669,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 669,
                                        "column": 22
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "start": 25439,
                                    "end": 25440,
                                    "loc": {
                                      "start": {
                                        "line": 669,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 669,
                                        "column": 26
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                }
                              ],
                              "kind": "let"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 25442,
                              "end": 25460,
                              "loc": {
                                "start": {
                                  "line": 669,
                                  "column": 28
                                },
                                "end": {
                                  "line": 669,
                                  "column": 46
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 25442,
                                "end": 25443,
                                "loc": {
                                  "start": {
                                    "line": 669,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 669,
                                    "column": 29
                                  }
                                },
                                "name": "i"
                              },
                              "operator": "<",
                              "right": {
                                "type": "MemberExpression",
                                "start": 25446,
                                "end": 25460,
                                "loc": {
                                  "start": {
                                    "line": 669,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 669,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 25446,
                                  "end": 25453,
                                  "loc": {
                                    "start": {
                                      "line": 669,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 669,
                                      "column": 39
                                    }
                                  },
                                  "name": "objArgs"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 25454,
                                  "end": 25460,
                                  "loc": {
                                    "start": {
                                      "line": 669,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 669,
                                      "column": 46
                                    }
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "start": 25462,
                              "end": 25465,
                              "loc": {
                                "start": {
                                  "line": 669,
                                  "column": 48
                                },
                                "end": {
                                  "line": 669,
                                  "column": 51
                                }
                              },
                              "operator": "++",
                              "prefix": false,
                              "argument": {
                                "type": "Identifier",
                                "start": 25462,
                                "end": 25463,
                                "loc": {
                                  "start": {
                                    "line": 669,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 669,
                                    "column": 49
                                  }
                                },
                                "name": "i"
                              }
                            },
                            "body": {
                              "type": "IfStatement",
                              "start": 25483,
                              "end": 25551,
                              "loc": {
                                "start": {
                                  "line": 670,
                                  "column": 16
                                },
                                "end": {
                                  "line": 671,
                                  "column": 36
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 25487,
                                "end": 25513,
                                "loc": {
                                  "start": {
                                    "line": 670,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 670,
                                    "column": 46
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 25487,
                                  "end": 25497,
                                  "loc": {
                                    "start": {
                                      "line": 670,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 670,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 25487,
                                    "end": 25494,
                                    "loc": {
                                      "start": {
                                        "line": 670,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 670,
                                        "column": 27
                                      }
                                    },
                                    "name": "objArgs"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 25495,
                                    "end": 25496,
                                    "loc": {
                                      "start": {
                                        "line": 670,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 670,
                                        "column": 29
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                },
                                "operator": "!==",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 25502,
                                  "end": 25513,
                                  "loc": {
                                    "start": {
                                      "line": 670,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 670,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 25502,
                                    "end": 25510,
                                    "loc": {
                                      "start": {
                                        "line": 670,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 670,
                                        "column": 43
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 25502,
                                      "end": 25505,
                                      "loc": {
                                        "start": {
                                          "line": 670,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 670,
                                          "column": 38
                                        }
                                      },
                                      "name": "obj"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 25506,
                                      "end": 25510,
                                      "loc": {
                                        "start": {
                                          "line": 670,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 670,
                                          "column": 43
                                        }
                                      },
                                      "name": "args"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 25511,
                                    "end": 25512,
                                    "loc": {
                                      "start": {
                                        "line": 670,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 670,
                                        "column": 45
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                }
                              },
                              "consequent": {
                                "type": "ExpressionStatement",
                                "start": 25535,
                                "end": 25551,
                                "loc": {
                                  "start": {
                                    "line": 671,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 671,
                                    "column": 36
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 25535,
                                  "end": 25550,
                                  "loc": {
                                    "start": {
                                      "line": 671,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 671,
                                      "column": 35
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 25535,
                                    "end": 25542,
                                    "loc": {
                                      "start": {
                                        "line": 671,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 671,
                                        "column": 27
                                      }
                                    },
                                    "name": "matches"
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "start": 25545,
                                    "end": 25550,
                                    "loc": {
                                      "start": {
                                        "line": 671,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 671,
                                        "column": 35
                                      }
                                    },
                                    "value": false,
                                    "rawValue": false,
                                    "raw": "false"
                                  }
                                }
                              },
                              "alternate": null
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 25565,
                            "end": 26111,
                            "loc": {
                              "start": {
                                "line": 673,
                                "column": 12
                              },
                              "end": {
                                "line": 683,
                                "column": 47
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 25569,
                                "end": 26110,
                                "loc": {
                                  "start": {
                                    "line": 673,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 683,
                                    "column": 46
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 25569,
                                  "end": 25586,
                                  "loc": {
                                    "start": {
                                      "line": 673,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 673,
                                      "column": 33
                                    }
                                  },
                                  "name": "binaryCommutative"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 25589,
                                  "end": 26110,
                                  "loc": {
                                    "start": {
                                      "line": 673,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 683,
                                      "column": 46
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 25589,
                                    "end": 26081,
                                    "loc": {
                                      "start": {
                                        "line": 673,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 683,
                                        "column": 17
                                      }
                                    },
                                    "object": {
                                      "type": "ArrayExpression",
                                      "start": 25589,
                                      "end": 26077,
                                      "loc": {
                                        "start": {
                                          "line": 673,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 683,
                                          "column": 13
                                        }
                                      },
                                      "elements": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 25607,
                                          "end": 25638,
                                          "loc": {
                                            "start": {
                                              "line": 674,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 674,
                                              "column": 47
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 25607,
                                            "end": 25628,
                                            "loc": {
                                              "start": {
                                                "line": 674,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 674,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 25607,
                                              "end": 25623,
                                              "loc": {
                                                "start": {
                                                  "line": 674,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 674,
                                                  "column": 32
                                                }
                                              },
                                              "name": "SketchConstraint"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 25624,
                                              "end": 25628,
                                              "loc": {
                                                "start": {
                                                  "line": 674,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 674,
                                                  "column": 37
                                                }
                                              },
                                              "name": "Type"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 25629,
                                            "end": 25638,
                                            "loc": {
                                              "start": {
                                                "line": 674,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 674,
                                                "column": 47
                                              }
                                            },
                                            "name": "INCIDENCE"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 25656,
                                          "end": 25686,
                                          "loc": {
                                            "start": {
                                              "line": 675,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 675,
                                              "column": 46
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 25656,
                                            "end": 25677,
                                            "loc": {
                                              "start": {
                                                "line": 675,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 675,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 25656,
                                              "end": 25672,
                                              "loc": {
                                                "start": {
                                                  "line": 675,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 675,
                                                  "column": 32
                                                }
                                              },
                                              "name": "SketchConstraint"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 25673,
                                              "end": 25677,
                                              "loc": {
                                                "start": {
                                                  "line": 675,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 675,
                                                  "column": 37
                                                }
                                              },
                                              "name": "Type"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 25678,
                                            "end": 25686,
                                            "loc": {
                                              "start": {
                                                "line": 675,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 675,
                                                "column": 46
                                              }
                                            },
                                            "name": "DISTANCE"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 25704,
                                          "end": 25731,
                                          "loc": {
                                            "start": {
                                              "line": 676,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 676,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 25704,
                                            "end": 25725,
                                            "loc": {
                                              "start": {
                                                "line": 676,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 676,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 25704,
                                              "end": 25720,
                                              "loc": {
                                                "start": {
                                                  "line": 676,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 676,
                                                  "column": 32
                                                }
                                              },
                                              "name": "SketchConstraint"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 25721,
                                              "end": 25725,
                                              "loc": {
                                                "start": {
                                                  "line": 676,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 676,
                                                  "column": 37
                                                }
                                              },
                                              "name": "Type"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 25726,
                                            "end": 25731,
                                            "loc": {
                                              "start": {
                                                "line": 676,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 676,
                                                "column": 43
                                              }
                                            },
                                            "name": "ANGLE"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 25749,
                                          "end": 25779,
                                          "loc": {
                                            "start": {
                                              "line": 677,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 677,
                                              "column": 46
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 25749,
                                            "end": 25770,
                                            "loc": {
                                              "start": {
                                                "line": 677,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 677,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 25749,
                                              "end": 25765,
                                              "loc": {
                                                "start": {
                                                  "line": 677,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 677,
                                                  "column": 32
                                                }
                                              },
                                              "name": "SketchConstraint"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 25766,
                                              "end": 25770,
                                              "loc": {
                                                "start": {
                                                  "line": 677,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 677,
                                                  "column": 37
                                                }
                                              },
                                              "name": "Type"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 25771,
                                            "end": 25779,
                                            "loc": {
                                              "start": {
                                                "line": 677,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 677,
                                                "column": 46
                                              }
                                            },
                                            "name": "TANGENCY"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 25797,
                                          "end": 25835,
                                          "loc": {
                                            "start": {
                                              "line": 678,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 678,
                                              "column": 54
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 25797,
                                            "end": 25818,
                                            "loc": {
                                              "start": {
                                                "line": 678,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 678,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 25797,
                                              "end": 25813,
                                              "loc": {
                                                "start": {
                                                  "line": 678,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 678,
                                                  "column": 32
                                                }
                                              },
                                              "name": "SketchConstraint"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 25814,
                                              "end": 25818,
                                              "loc": {
                                                "start": {
                                                  "line": 678,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 678,
                                                  "column": 37
                                                }
                                              },
                                              "name": "Type"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 25819,
                                            "end": 25835,
                                            "loc": {
                                              "start": {
                                                "line": 678,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 678,
                                                "column": 54
                                              }
                                            },
                                            "name": "PERPENDICULARITY"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 25853,
                                          "end": 25886,
                                          "loc": {
                                            "start": {
                                              "line": 679,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 679,
                                              "column": 49
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 25853,
                                            "end": 25874,
                                            "loc": {
                                              "start": {
                                                "line": 679,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 679,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 25853,
                                              "end": 25869,
                                              "loc": {
                                                "start": {
                                                  "line": 679,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 679,
                                                  "column": 32
                                                }
                                              },
                                              "name": "SketchConstraint"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 25870,
                                              "end": 25874,
                                              "loc": {
                                                "start": {
                                                  "line": 679,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 679,
                                                  "column": 37
                                                }
                                              },
                                              "name": "Type"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 25875,
                                            "end": 25886,
                                            "loc": {
                                              "start": {
                                                "line": 679,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 679,
                                                "column": 49
                                              }
                                            },
                                            "name": "PARALLELITY"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 25904,
                                          "end": 25936,
                                          "loc": {
                                            "start": {
                                              "line": 680,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 680,
                                              "column": 48
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 25904,
                                            "end": 25925,
                                            "loc": {
                                              "start": {
                                                "line": 680,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 680,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 25904,
                                              "end": 25920,
                                              "loc": {
                                                "start": {
                                                  "line": 680,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 680,
                                                  "column": 32
                                                }
                                              },
                                              "name": "SketchConstraint"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 25921,
                                              "end": 25925,
                                              "loc": {
                                                "start": {
                                                  "line": 680,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 680,
                                                  "column": 37
                                                }
                                              },
                                              "name": "Type"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 25926,
                                            "end": 25936,
                                            "loc": {
                                              "start": {
                                                "line": 680,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 680,
                                                "column": 48
                                              }
                                            },
                                            "name": "CONCENTRIC"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 25954,
                                          "end": 25984,
                                          "loc": {
                                            "start": {
                                              "line": 681,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 681,
                                              "column": 46
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 25954,
                                            "end": 25975,
                                            "loc": {
                                              "start": {
                                                "line": 681,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 681,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 25954,
                                              "end": 25970,
                                              "loc": {
                                                "start": {
                                                  "line": 681,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 681,
                                                  "column": 32
                                                }
                                              },
                                              "name": "SketchConstraint"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 25971,
                                              "end": 25975,
                                              "loc": {
                                                "start": {
                                                  "line": 681,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 681,
                                                  "column": 37
                                                }
                                              },
                                              "name": "Type"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 25976,
                                            "end": 25984,
                                            "loc": {
                                              "start": {
                                                "line": 681,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 681,
                                                "column": 46
                                              }
                                            },
                                            "name": "COLINEAR"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 26017,
                                          "end": 26051,
                                          "loc": {
                                            "start": {
                                              "line": 682,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 682,
                                              "column": 50
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 26017,
                                            "end": 26038,
                                            "loc": {
                                              "start": {
                                                "line": 682,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 682,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 26017,
                                              "end": 26033,
                                              "loc": {
                                                "start": {
                                                  "line": 682,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 682,
                                                  "column": 32
                                                }
                                              },
                                              "name": "SketchConstraint",
                                              "leadingComments": null
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 26034,
                                              "end": 26038,
                                              "loc": {
                                                "start": {
                                                  "line": 682,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 682,
                                                  "column": 37
                                                }
                                              },
                                              "name": "Type"
                                            },
                                            "computed": false,
                                            "leadingComments": null
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 26039,
                                            "end": 26051,
                                            "loc": {
                                              "start": {
                                                "line": 682,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 682,
                                                "column": 50
                                              }
                                            },
                                            "name": "EQUAL_RADIUS",
                                            "leadingComments": null,
                                            "trailingComments": null
                                          },
                                          "computed": false,
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": "not sure",
                                              "start": 25990,
                                              "end": 26000,
                                              "loc": {
                                                "start": {
                                                  "line": 681,
                                                  "column": 52
                                                },
                                                "end": {
                                                  "line": 681,
                                                  "column": 62
                                                }
                                              },
                                              "range": [
                                                25990,
                                                26000
                                              ]
                                            }
                                          ],
                                          "trailingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": "not sure",
                                              "start": 26053,
                                              "end": 26063,
                                              "loc": {
                                                "start": {
                                                  "line": 682,
                                                  "column": 52
                                                },
                                                "end": {
                                                  "line": 682,
                                                  "column": 62
                                                }
                                              },
                                              "range": [
                                                26053,
                                                26063
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 26078,
                                      "end": 26081,
                                      "loc": {
                                        "start": {
                                          "line": 683,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 683,
                                          "column": 17
                                        }
                                      },
                                      "name": "map",
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": "not sure",
                                          "start": 26053,
                                          "end": 26063,
                                          "loc": {
                                            "start": {
                                              "line": 682,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 682,
                                              "column": 62
                                            }
                                          },
                                          "range": [
                                            26053,
                                            26063
                                          ]
                                        }
                                      ]
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 26082,
                                      "end": 26109,
                                      "loc": {
                                        "start": {
                                          "line": 683,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 683,
                                          "column": 45
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 26082,
                                          "end": 26085,
                                          "loc": {
                                            "start": {
                                              "line": 683,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 683,
                                              "column": 21
                                            }
                                          },
                                          "name": "obj"
                                        }
                                      ],
                                      "body": {
                                        "type": "CallExpression",
                                        "start": 26089,
                                        "end": 26109,
                                        "loc": {
                                          "start": {
                                            "line": 683,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 683,
                                            "column": 45
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 26089,
                                          "end": 26107,
                                          "loc": {
                                            "start": {
                                              "line": 683,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 683,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 26089,
                                            "end": 26095,
                                            "loc": {
                                              "start": {
                                                "line": 683,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 683,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 26089,
                                              "end": 26092,
                                              "loc": {
                                                "start": {
                                                  "line": 683,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 683,
                                                  "column": 28
                                                }
                                              },
                                              "name": "obj"
                                            },
                                            "property": {
                                              "type": "Literal",
                                              "start": 26093,
                                              "end": 26094,
                                              "loc": {
                                                "start": {
                                                  "line": 683,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 683,
                                                  "column": 30
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "computed": true
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 26096,
                                            "end": 26107,
                                            "loc": {
                                              "start": {
                                                "line": 683,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 683,
                                                "column": 43
                                              }
                                            },
                                            "name": "toLowerCase"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 26125,
                            "end": 26418,
                            "loc": {
                              "start": {
                                "line": 685,
                                "column": 12
                              },
                              "end": {
                                "line": 689,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 26129,
                              "end": 26171,
                              "loc": {
                                "start": {
                                  "line": 685,
                                  "column": 16
                                },
                                "end": {
                                  "line": 685,
                                  "column": 58
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 26129,
                                "end": 26164,
                                "loc": {
                                  "start": {
                                    "line": 685,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 685,
                                    "column": 51
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 26129,
                                  "end": 26154,
                                  "loc": {
                                    "start": {
                                      "line": 685,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 685,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 26129,
                                    "end": 26146,
                                    "loc": {
                                      "start": {
                                        "line": 685,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 685,
                                        "column": 33
                                      }
                                    },
                                    "name": "binaryCommutative"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 26147,
                                    "end": 26154,
                                    "loc": {
                                      "start": {
                                        "line": 685,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 685,
                                        "column": 41
                                      }
                                    },
                                    "name": "indexOf"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 26155,
                                    "end": 26163,
                                    "loc": {
                                      "start": {
                                        "line": 685,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 685,
                                        "column": 50
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 26155,
                                      "end": 26158,
                                      "loc": {
                                        "start": {
                                          "line": 685,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 685,
                                          "column": 45
                                        }
                                      },
                                      "name": "pat"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 26159,
                                      "end": 26163,
                                      "loc": {
                                        "start": {
                                          "line": 685,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 685,
                                          "column": 50
                                        }
                                      },
                                      "name": "type"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "operator": "!==",
                              "right": {
                                "type": "UnaryExpression",
                                "start": 26169,
                                "end": 26171,
                                "loc": {
                                  "start": {
                                    "line": 685,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 685,
                                    "column": 58
                                  }
                                },
                                "operator": "-",
                                "prefix": true,
                                "argument": {
                                  "type": "Literal",
                                  "start": 26170,
                                  "end": 26171,
                                  "loc": {
                                    "start": {
                                      "line": 685,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 685,
                                      "column": 58
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 26173,
                              "end": 26418,
                              "loc": {
                                "start": {
                                  "line": 685,
                                  "column": 60
                                },
                                "end": {
                                  "line": 689,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 26191,
                                  "end": 26290,
                                  "loc": {
                                    "start": {
                                      "line": 686,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 686,
                                      "column": 115
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 26191,
                                    "end": 26289,
                                    "loc": {
                                      "start": {
                                        "line": 686,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 686,
                                        "column": 114
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 26191,
                                      "end": 26196,
                                      "loc": {
                                        "start": {
                                          "line": 686,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 686,
                                          "column": 21
                                        }
                                      },
                                      "name": "check"
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 26197,
                                        "end": 26217,
                                        "loc": {
                                          "start": {
                                            "line": 686,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 686,
                                            "column": 42
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 26197,
                                          "end": 26211,
                                          "loc": {
                                            "start": {
                                              "line": 686,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 686,
                                              "column": 36
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 26197,
                                            "end": 26204,
                                            "loc": {
                                              "start": {
                                                "line": 686,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 686,
                                                "column": 29
                                              }
                                            },
                                            "name": "objArgs"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 26205,
                                            "end": 26211,
                                            "loc": {
                                              "start": {
                                                "line": 686,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 686,
                                                "column": 36
                                              }
                                            },
                                            "name": "length"
                                          },
                                          "computed": false
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "Literal",
                                          "start": 26216,
                                          "end": 26217,
                                          "loc": {
                                            "start": {
                                              "line": 686,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 686,
                                              "column": 42
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 26219,
                                        "end": 26288,
                                        "loc": {
                                          "start": {
                                            "line": 686,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 686,
                                            "column": 113
                                          }
                                        },
                                        "left": {
                                          "type": "BinaryExpression",
                                          "start": 26219,
                                          "end": 26273,
                                          "loc": {
                                            "start": {
                                              "line": 686,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 686,
                                              "column": 98
                                            }
                                          },
                                          "left": {
                                            "type": "Literal",
                                            "start": 26219,
                                            "end": 26256,
                                            "loc": {
                                              "start": {
                                                "line": 686,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 686,
                                                "column": 81
                                              }
                                            },
                                            "value": "Error: commutative constraint with ",
                                            "rawValue": "Error: commutative constraint with ",
                                            "raw": "\"Error: commutative constraint with \""
                                          },
                                          "operator": "+",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 26259,
                                            "end": 26273,
                                            "loc": {
                                              "start": {
                                                "line": 686,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 686,
                                                "column": 98
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 26259,
                                              "end": 26266,
                                              "loc": {
                                                "start": {
                                                  "line": 686,
                                                  "column": 84
                                                },
                                                "end": {
                                                  "line": 686,
                                                  "column": 91
                                                }
                                              },
                                              "name": "objArgs"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 26267,
                                              "end": 26273,
                                              "loc": {
                                                "start": {
                                                  "line": 686,
                                                  "column": 92
                                                },
                                                "end": {
                                                  "line": 686,
                                                  "column": 98
                                                }
                                              },
                                              "name": "length"
                                            },
                                            "computed": false
                                          }
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Literal",
                                          "start": 26276,
                                          "end": 26288,
                                          "loc": {
                                            "start": {
                                              "line": 686,
                                              "column": 101
                                            },
                                            "end": {
                                              "line": 686,
                                              "column": 113
                                            }
                                          },
                                          "value": " arguments",
                                          "rawValue": " arguments",
                                          "raw": "\" arguments\""
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 26307,
                                  "end": 26404,
                                  "loc": {
                                    "start": {
                                      "line": 687,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 688,
                                      "column": 35
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 26311,
                                    "end": 26367,
                                    "loc": {
                                      "start": {
                                        "line": 687,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 687,
                                        "column": 76
                                      }
                                    },
                                    "left": {
                                      "type": "BinaryExpression",
                                      "start": 26311,
                                      "end": 26337,
                                      "loc": {
                                        "start": {
                                          "line": 687,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 687,
                                          "column": 46
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 26311,
                                        "end": 26321,
                                        "loc": {
                                          "start": {
                                            "line": 687,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 687,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 26311,
                                          "end": 26318,
                                          "loc": {
                                            "start": {
                                              "line": 687,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 687,
                                              "column": 27
                                            }
                                          },
                                          "name": "objArgs"
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 26319,
                                          "end": 26320,
                                          "loc": {
                                            "start": {
                                              "line": 687,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 687,
                                              "column": 29
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 26326,
                                        "end": 26337,
                                        "loc": {
                                          "start": {
                                            "line": 687,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 687,
                                            "column": 46
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 26326,
                                          "end": 26334,
                                          "loc": {
                                            "start": {
                                              "line": 687,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 687,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 26326,
                                            "end": 26329,
                                            "loc": {
                                              "start": {
                                                "line": 687,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 687,
                                                "column": 38
                                              }
                                            },
                                            "name": "obj"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 26330,
                                            "end": 26334,
                                            "loc": {
                                              "start": {
                                                "line": 687,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 687,
                                                "column": 43
                                              }
                                            },
                                            "name": "args"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 26335,
                                          "end": 26336,
                                          "loc": {
                                            "start": {
                                              "line": 687,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 687,
                                              "column": 45
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "computed": true
                                      }
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 26341,
                                      "end": 26367,
                                      "loc": {
                                        "start": {
                                          "line": 687,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 687,
                                          "column": 76
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 26341,
                                        "end": 26351,
                                        "loc": {
                                          "start": {
                                            "line": 687,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 687,
                                            "column": 60
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 26341,
                                          "end": 26348,
                                          "loc": {
                                            "start": {
                                              "line": 687,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 687,
                                              "column": 57
                                            }
                                          },
                                          "name": "objArgs"
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 26349,
                                          "end": 26350,
                                          "loc": {
                                            "start": {
                                              "line": 687,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 687,
                                              "column": 59
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "computed": true
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 26356,
                                        "end": 26367,
                                        "loc": {
                                          "start": {
                                            "line": 687,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 687,
                                            "column": 76
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 26356,
                                          "end": 26364,
                                          "loc": {
                                            "start": {
                                              "line": 687,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 687,
                                              "column": 73
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 26356,
                                            "end": 26359,
                                            "loc": {
                                              "start": {
                                                "line": 687,
                                                "column": 65
                                              },
                                              "end": {
                                                "line": 687,
                                                "column": 68
                                              }
                                            },
                                            "name": "obj"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 26360,
                                            "end": 26364,
                                            "loc": {
                                              "start": {
                                                "line": 687,
                                                "column": 69
                                              },
                                              "end": {
                                                "line": 687,
                                                "column": 73
                                              }
                                            },
                                            "name": "args"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 26365,
                                          "end": 26366,
                                          "loc": {
                                            "start": {
                                              "line": 687,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 687,
                                              "column": 75
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 26389,
                                    "end": 26404,
                                    "loc": {
                                      "start": {
                                        "line": 688,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 688,
                                        "column": 35
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 26389,
                                      "end": 26403,
                                      "loc": {
                                        "start": {
                                          "line": 688,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 688,
                                          "column": 34
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 26389,
                                        "end": 26396,
                                        "loc": {
                                          "start": {
                                            "line": 688,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 688,
                                            "column": 27
                                          }
                                        },
                                        "name": "matches"
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "start": 26399,
                                        "end": 26403,
                                        "loc": {
                                          "start": {
                                            "line": 688,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 688,
                                            "column": 34
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      }
                                    }
                                  },
                                  "alternate": null
                                }
                              ]
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 26444,
                            "end": 26487,
                            "loc": {
                              "start": {
                                "line": 691,
                                "column": 12
                              },
                              "end": {
                                "line": 692,
                                "column": 29
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 26448,
                              "end": 26456,
                              "loc": {
                                "start": {
                                  "line": 691,
                                  "column": 16
                                },
                                "end": {
                                  "line": 691,
                                  "column": 24
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 26449,
                                "end": 26456,
                                "loc": {
                                  "start": {
                                    "line": 691,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 691,
                                    "column": 24
                                  }
                                },
                                "name": "matches"
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 26474,
                              "end": 26487,
                              "loc": {
                                "start": {
                                  "line": 692,
                                  "column": 16
                                },
                                "end": {
                                  "line": 692,
                                  "column": 29
                                }
                              },
                              "argument": {
                                "type": "Literal",
                                "start": 26481,
                                "end": 26486,
                                "loc": {
                                  "start": {
                                    "line": 692,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 692,
                                    "column": 28
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              }
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 26507,
                      "end": 26631,
                      "loc": {
                        "start": {
                          "line": 695,
                          "column": 8
                        },
                        "end": {
                          "line": 698,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 26511,
                        "end": 26534,
                        "loc": {
                          "start": {
                            "line": 695,
                            "column": 12
                          },
                          "end": {
                            "line": 695,
                            "column": 35
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 26511,
                          "end": 26520,
                          "loc": {
                            "start": {
                              "line": 695,
                              "column": 12
                            },
                            "end": {
                              "line": 695,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 26511,
                            "end": 26514,
                            "loc": {
                              "start": {
                                "line": 695,
                                "column": 12
                              },
                              "end": {
                                "line": 695,
                                "column": 15
                              }
                            },
                            "name": "pat"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 26515,
                            "end": 26520,
                            "loc": {
                              "start": {
                                "line": 695,
                                "column": 16
                              },
                              "end": {
                                "line": 695,
                                "column": 21
                              }
                            },
                            "name": "value"
                          },
                          "computed": false
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Identifier",
                          "start": 26525,
                          "end": 26534,
                          "loc": {
                            "start": {
                              "line": 695,
                              "column": 26
                            },
                            "end": {
                              "line": 695,
                              "column": 35
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 26536,
                        "end": 26631,
                        "loc": {
                          "start": {
                            "line": 695,
                            "column": 37
                          },
                          "end": {
                            "line": 698,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 26569,
                            "end": 26621,
                            "loc": {
                              "start": {
                                "line": 697,
                                "column": 12
                              },
                              "end": {
                                "line": 697,
                                "column": 64
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 26569,
                              "end": 26620,
                              "loc": {
                                "start": {
                                  "line": 697,
                                  "column": 12
                                },
                                "end": {
                                  "line": 697,
                                  "column": 63
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 26569,
                                "end": 26574,
                                "loc": {
                                  "start": {
                                    "line": 697,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 697,
                                    "column": 17
                                  }
                                },
                                "name": "check",
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 26575,
                                  "end": 26580,
                                  "loc": {
                                    "start": {
                                      "line": 697,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 697,
                                      "column": 23
                                    }
                                  },
                                  "value": false,
                                  "rawValue": false,
                                  "raw": "false"
                                },
                                {
                                  "type": "Literal",
                                  "start": 26582,
                                  "end": 26619,
                                  "loc": {
                                    "start": {
                                      "line": 697,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 697,
                                      "column": 62
                                    }
                                  },
                                  "value": "Attribute 'value' not supported yet",
                                  "rawValue": "Attribute 'value' not supported yet",
                                  "raw": "\"Attribute 'value' not supported yet\""
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "TODO",
                                "start": 26550,
                                "end": 26556,
                                "loc": {
                                  "start": {
                                    "line": 696,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 696,
                                    "column": 18
                                  }
                                },
                                "range": [
                                  26550,
                                  26556
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 26641,
                      "end": 26653,
                      "loc": {
                        "start": {
                          "line": 700,
                          "column": 8
                        },
                        "end": {
                          "line": 700,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "Literal",
                        "start": 26648,
                        "end": 26652,
                        "loc": {
                          "start": {
                            "line": 700,
                            "column": 15
                          },
                          "end": {
                            "line": 700,
                            "column": 19
                          }
                        },
                        "value": true,
                        "rawValue": true,
                        "raw": "true"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 26665,
              "end": 26750,
              "loc": {
                "start": {
                  "line": 703,
                  "column": 4
                },
                "end": {
                  "line": 705,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 26665,
                "end": 26684,
                "loc": {
                  "start": {
                    "line": 703,
                    "column": 4
                  },
                  "end": {
                    "line": 703,
                    "column": 23
                  }
                },
                "name": "getUnmatchedObjects"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 26684,
                "end": 26750,
                "loc": {
                  "start": {
                    "line": 703,
                    "column": 23
                  },
                  "end": {
                    "line": 705,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 26687,
                  "end": 26750,
                  "loc": {
                    "start": {
                      "line": 703,
                      "column": 26
                    },
                    "end": {
                      "line": 705,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 26697,
                      "end": 26744,
                      "loc": {
                        "start": {
                          "line": 704,
                          "column": 8
                        },
                        "end": {
                          "line": 704,
                          "column": 55
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 26704,
                        "end": 26743,
                        "loc": {
                          "start": {
                            "line": 704,
                            "column": 15
                          },
                          "end": {
                            "line": 704,
                            "column": 54
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 26704,
                          "end": 26723,
                          "loc": {
                            "start": {
                              "line": 704,
                              "column": 15
                            },
                            "end": {
                              "line": 704,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 26704,
                            "end": 26716,
                            "loc": {
                              "start": {
                                "line": 704,
                                "column": 15
                              },
                              "end": {
                                "line": 704,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 26704,
                              "end": 26708,
                              "loc": {
                                "start": {
                                  "line": 704,
                                  "column": 15
                                },
                                "end": {
                                  "line": 704,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26709,
                              "end": 26716,
                              "loc": {
                                "start": {
                                  "line": 704,
                                  "column": 20
                                },
                                "end": {
                                  "line": 704,
                                  "column": 27
                                }
                              },
                              "name": "objects"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 26717,
                            "end": 26723,
                            "loc": {
                              "start": {
                                "line": 704,
                                "column": 28
                              },
                              "end": {
                                "line": 704,
                                "column": 34
                              }
                            },
                            "name": "filter"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 26724,
                            "end": 26742,
                            "loc": {
                              "start": {
                                "line": 704,
                                "column": 35
                              },
                              "end": {
                                "line": 704,
                                "column": 53
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 26724,
                                "end": 26727,
                                "loc": {
                                  "start": {
                                    "line": 704,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 704,
                                    "column": 38
                                  }
                                },
                                "name": "obj"
                              }
                            ],
                            "body": {
                              "type": "UnaryExpression",
                              "start": 26731,
                              "end": 26742,
                              "loc": {
                                "start": {
                                  "line": 704,
                                  "column": 42
                                },
                                "end": {
                                  "line": 704,
                                  "column": 53
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 26732,
                                "end": 26742,
                                "loc": {
                                  "start": {
                                    "line": 704,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 704,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 26732,
                                  "end": 26735,
                                  "loc": {
                                    "start": {
                                      "line": 704,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 704,
                                      "column": 46
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26736,
                                  "end": 26742,
                                  "loc": {
                                    "start": {
                                      "line": 704,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 704,
                                      "column": 53
                                    }
                                  },
                                  "name": "_match"
                                },
                                "computed": false
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 26755,
              "end": 26842,
              "loc": {
                "start": {
                  "line": 706,
                  "column": 4
                },
                "end": {
                  "line": 708,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 26755,
                "end": 26775,
                "loc": {
                  "start": {
                    "line": 706,
                    "column": 4
                  },
                  "end": {
                    "line": 706,
                    "column": 24
                  }
                },
                "name": "getUnmatchedPatterns"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 26775,
                "end": 26842,
                "loc": {
                  "start": {
                    "line": 706,
                    "column": 24
                  },
                  "end": {
                    "line": 708,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 26778,
                  "end": 26842,
                  "loc": {
                    "start": {
                      "line": 706,
                      "column": 27
                    },
                    "end": {
                      "line": 708,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 26788,
                      "end": 26836,
                      "loc": {
                        "start": {
                          "line": 707,
                          "column": 8
                        },
                        "end": {
                          "line": 707,
                          "column": 56
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 26795,
                        "end": 26835,
                        "loc": {
                          "start": {
                            "line": 707,
                            "column": 15
                          },
                          "end": {
                            "line": 707,
                            "column": 55
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 26795,
                          "end": 26815,
                          "loc": {
                            "start": {
                              "line": 707,
                              "column": 15
                            },
                            "end": {
                              "line": 707,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 26795,
                            "end": 26808,
                            "loc": {
                              "start": {
                                "line": 707,
                                "column": 15
                              },
                              "end": {
                                "line": 707,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 26795,
                              "end": 26799,
                              "loc": {
                                "start": {
                                  "line": 707,
                                  "column": 15
                                },
                                "end": {
                                  "line": 707,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26800,
                              "end": 26808,
                              "loc": {
                                "start": {
                                  "line": 707,
                                  "column": 20
                                },
                                "end": {
                                  "line": 707,
                                  "column": 28
                                }
                              },
                              "name": "patterns"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 26809,
                            "end": 26815,
                            "loc": {
                              "start": {
                                "line": 707,
                                "column": 29
                              },
                              "end": {
                                "line": 707,
                                "column": 35
                              }
                            },
                            "name": "filter"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 26816,
                            "end": 26834,
                            "loc": {
                              "start": {
                                "line": 707,
                                "column": 36
                              },
                              "end": {
                                "line": 707,
                                "column": 54
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 26816,
                                "end": 26819,
                                "loc": {
                                  "start": {
                                    "line": 707,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 707,
                                    "column": 39
                                  }
                                },
                                "name": "pat"
                              }
                            ],
                            "body": {
                              "type": "UnaryExpression",
                              "start": 26823,
                              "end": 26834,
                              "loc": {
                                "start": {
                                  "line": 707,
                                  "column": 43
                                },
                                "end": {
                                  "line": 707,
                                  "column": 54
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 26824,
                                "end": 26834,
                                "loc": {
                                  "start": {
                                    "line": 707,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 707,
                                    "column": 54
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 26824,
                                  "end": 26827,
                                  "loc": {
                                    "start": {
                                      "line": 707,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 707,
                                      "column": 47
                                    }
                                  },
                                  "name": "pat"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26828,
                                  "end": 26834,
                                  "loc": {
                                    "start": {
                                      "line": 707,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 707,
                                      "column": 54
                                    }
                                  },
                                  "name": "_match"
                                },
                                "computed": false
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 26848,
              "end": 28617,
              "loc": {
                "start": {
                  "line": 710,
                  "column": 4
                },
                "end": {
                  "line": 742,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 26855,
                "end": 26858,
                "loc": {
                  "start": {
                    "line": 710,
                    "column": 11
                  },
                  "end": {
                    "line": 710,
                    "column": 14
                  }
                },
                "name": "run"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 26858,
                "end": 28617,
                "loc": {
                  "start": {
                    "line": 710,
                    "column": 14
                  },
                  "end": {
                    "line": 742,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 26859,
                    "end": 26865,
                    "loc": {
                      "start": {
                        "line": 710,
                        "column": 15
                      },
                      "end": {
                        "line": 710,
                        "column": 21
                      }
                    },
                    "name": "sketch"
                  },
                  {
                    "type": "Identifier",
                    "start": 26867,
                    "end": 26875,
                    "loc": {
                      "start": {
                        "line": 710,
                        "column": 23
                      },
                      "end": {
                        "line": 710,
                        "column": 31
                      }
                    },
                    "name": "patterns"
                  },
                  {
                    "type": "Identifier",
                    "start": 26877,
                    "end": 26885,
                    "loc": {
                      "start": {
                        "line": 710,
                        "column": 33
                      },
                      "end": {
                        "line": 710,
                        "column": 41
                      }
                    },
                    "name": "settings"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 26887,
                  "end": 28617,
                  "loc": {
                    "start": {
                      "line": 710,
                      "column": 43
                    },
                    "end": {
                      "line": 742,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 26897,
                      "end": 26923,
                      "loc": {
                        "start": {
                          "line": 711,
                          "column": 8
                        },
                        "end": {
                          "line": 711,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 26897,
                        "end": 26922,
                        "loc": {
                          "start": {
                            "line": 711,
                            "column": 8
                          },
                          "end": {
                            "line": 711,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 26897,
                          "end": 26905,
                          "loc": {
                            "start": {
                              "line": 711,
                              "column": 8
                            },
                            "end": {
                              "line": 711,
                              "column": 16
                            }
                          },
                          "name": "settings"
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 26908,
                          "end": 26922,
                          "loc": {
                            "start": {
                              "line": 711,
                              "column": 19
                            },
                            "end": {
                              "line": 711,
                              "column": 33
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 26908,
                            "end": 26916,
                            "loc": {
                              "start": {
                                "line": 711,
                                "column": 19
                              },
                              "end": {
                                "line": 711,
                                "column": 27
                              }
                            },
                            "name": "settings"
                          },
                          "operator": "||",
                          "right": {
                            "type": "ObjectExpression",
                            "start": 26920,
                            "end": 26922,
                            "loc": {
                              "start": {
                                "line": 711,
                                "column": 31
                              },
                              "end": {
                                "line": 711,
                                "column": 33
                              }
                            },
                            "properties": []
                          }
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "create and run matcher, get unmatched things",
                          "start": 26933,
                          "end": 26979,
                          "loc": {
                            "start": {
                              "line": 713,
                              "column": 8
                            },
                            "end": {
                              "line": 713,
                              "column": 54
                            }
                          },
                          "range": [
                            26933,
                            26979
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 26988,
                      "end": 27038,
                      "loc": {
                        "start": {
                          "line": 714,
                          "column": 8
                        },
                        "end": {
                          "line": 714,
                          "column": 58
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 26992,
                          "end": 27037,
                          "loc": {
                            "start": {
                              "line": 714,
                              "column": 12
                            },
                            "end": {
                              "line": 714,
                              "column": 57
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 26992,
                            "end": 26999,
                            "loc": {
                              "start": {
                                "line": 714,
                                "column": 12
                              },
                              "end": {
                                "line": 714,
                                "column": 19
                              }
                            },
                            "name": "matcher",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 27002,
                            "end": 27037,
                            "loc": {
                              "start": {
                                "line": 714,
                                "column": 22
                              },
                              "end": {
                                "line": 714,
                                "column": 57
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 27006,
                              "end": 27019,
                              "loc": {
                                "start": {
                                  "line": 714,
                                  "column": 26
                                },
                                "end": {
                                  "line": 714,
                                  "column": 39
                                }
                              },
                              "name": "SketchMatcher"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 27020,
                                "end": 27026,
                                "loc": {
                                  "start": {
                                    "line": 714,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 714,
                                    "column": 46
                                  }
                                },
                                "name": "sketch"
                              },
                              {
                                "type": "Identifier",
                                "start": 27028,
                                "end": 27036,
                                "loc": {
                                  "start": {
                                    "line": 714,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 714,
                                    "column": 56
                                  }
                                },
                                "name": "patterns"
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "create and run matcher, get unmatched things",
                          "start": 26933,
                          "end": 26979,
                          "loc": {
                            "start": {
                              "line": 713,
                              "column": 8
                            },
                            "end": {
                              "line": 713,
                              "column": 54
                            }
                          },
                          "range": [
                            26933,
                            26979
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 27047,
                      "end": 27065,
                      "loc": {
                        "start": {
                          "line": 715,
                          "column": 8
                        },
                        "end": {
                          "line": 715,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 27047,
                        "end": 27064,
                        "loc": {
                          "start": {
                            "line": 715,
                            "column": 8
                          },
                          "end": {
                            "line": 715,
                            "column": 25
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 27047,
                          "end": 27062,
                          "loc": {
                            "start": {
                              "line": 715,
                              "column": 8
                            },
                            "end": {
                              "line": 715,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 27047,
                            "end": 27054,
                            "loc": {
                              "start": {
                                "line": 715,
                                "column": 8
                              },
                              "end": {
                                "line": 715,
                                "column": 15
                              }
                            },
                            "name": "matcher"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 27055,
                            "end": 27062,
                            "loc": {
                              "start": {
                                "line": 715,
                                "column": 16
                              },
                              "end": {
                                "line": 715,
                                "column": 23
                              }
                            },
                            "name": "compute"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 27074,
                      "end": 27127,
                      "loc": {
                        "start": {
                          "line": 716,
                          "column": 8
                        },
                        "end": {
                          "line": 716,
                          "column": 61
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 27078,
                          "end": 27126,
                          "loc": {
                            "start": {
                              "line": 716,
                              "column": 12
                            },
                            "end": {
                              "line": 716,
                              "column": 60
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 27078,
                            "end": 27094,
                            "loc": {
                              "start": {
                                "line": 716,
                                "column": 12
                              },
                              "end": {
                                "line": 716,
                                "column": 28
                              }
                            },
                            "name": "unmatchedObjects"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 27097,
                            "end": 27126,
                            "loc": {
                              "start": {
                                "line": 716,
                                "column": 31
                              },
                              "end": {
                                "line": 716,
                                "column": 60
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 27097,
                              "end": 27124,
                              "loc": {
                                "start": {
                                  "line": 716,
                                  "column": 31
                                },
                                "end": {
                                  "line": 716,
                                  "column": 58
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27097,
                                "end": 27104,
                                "loc": {
                                  "start": {
                                    "line": 716,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 716,
                                    "column": 38
                                  }
                                },
                                "name": "matcher"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27105,
                                "end": 27124,
                                "loc": {
                                  "start": {
                                    "line": 716,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 716,
                                    "column": 58
                                  }
                                },
                                "name": "getUnmatchedObjects"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 27136,
                      "end": 27191,
                      "loc": {
                        "start": {
                          "line": 717,
                          "column": 8
                        },
                        "end": {
                          "line": 717,
                          "column": 63
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 27140,
                          "end": 27190,
                          "loc": {
                            "start": {
                              "line": 717,
                              "column": 12
                            },
                            "end": {
                              "line": 717,
                              "column": 62
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 27140,
                            "end": 27157,
                            "loc": {
                              "start": {
                                "line": 717,
                                "column": 12
                              },
                              "end": {
                                "line": 717,
                                "column": 29
                              }
                            },
                            "name": "unmatchedPatterns"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 27160,
                            "end": 27190,
                            "loc": {
                              "start": {
                                "line": 717,
                                "column": 32
                              },
                              "end": {
                                "line": 717,
                                "column": 62
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 27160,
                              "end": 27188,
                              "loc": {
                                "start": {
                                  "line": 717,
                                  "column": 32
                                },
                                "end": {
                                  "line": 717,
                                  "column": 60
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27160,
                                "end": 27167,
                                "loc": {
                                  "start": {
                                    "line": 717,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 717,
                                    "column": 39
                                  }
                                },
                                "name": "matcher"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27168,
                                "end": 27188,
                                "loc": {
                                  "start": {
                                    "line": 717,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 717,
                                    "column": 60
                                  }
                                },
                                "name": "getUnmatchedPatterns"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "detect settings for ignoring unmatches sketch objects",
                          "start": 27201,
                          "end": 27256,
                          "loc": {
                            "start": {
                              "line": 719,
                              "column": 8
                            },
                            "end": {
                              "line": 719,
                              "column": 63
                            }
                          },
                          "range": [
                            27201,
                            27256
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 27265,
                      "end": 27368,
                      "loc": {
                        "start": {
                          "line": 720,
                          "column": 8
                        },
                        "end": {
                          "line": 720,
                          "column": 111
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 27269,
                          "end": 27367,
                          "loc": {
                            "start": {
                              "line": 720,
                              "column": 12
                            },
                            "end": {
                              "line": 720,
                              "column": 110
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 27269,
                            "end": 27286,
                            "loc": {
                              "start": {
                                "line": 720,
                                "column": 12
                              },
                              "end": {
                                "line": 720,
                                "column": 29
                              }
                            },
                            "name": "ignoreConstraints",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 27290,
                            "end": 27366,
                            "loc": {
                              "start": {
                                "line": 720,
                                "column": 33
                              },
                              "end": {
                                "line": 720,
                                "column": 109
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 27290,
                              "end": 27330,
                              "loc": {
                                "start": {
                                  "line": 720,
                                  "column": 33
                                },
                                "end": {
                                  "line": 720,
                                  "column": 73
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 27290,
                                "end": 27316,
                                "loc": {
                                  "start": {
                                    "line": 720,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 720,
                                    "column": 59
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 27290,
                                  "end": 27298,
                                  "loc": {
                                    "start": {
                                      "line": 720,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 720,
                                      "column": 41
                                    }
                                  },
                                  "name": "settings"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 27299,
                                  "end": 27316,
                                  "loc": {
                                    "start": {
                                      "line": 720,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 720,
                                      "column": 59
                                    }
                                  },
                                  "name": "ignoreConstraints"
                                },
                                "computed": false
                              },
                              "operator": "!==",
                              "right": {
                                "type": "Identifier",
                                "start": 27321,
                                "end": 27330,
                                "loc": {
                                  "start": {
                                    "line": 720,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 720,
                                    "column": 73
                                  }
                                },
                                "name": "undefined"
                              }
                            },
                            "consequent": {
                              "type": "MemberExpression",
                              "start": 27333,
                              "end": 27359,
                              "loc": {
                                "start": {
                                  "line": 720,
                                  "column": 76
                                },
                                "end": {
                                  "line": 720,
                                  "column": 102
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27333,
                                "end": 27341,
                                "loc": {
                                  "start": {
                                    "line": 720,
                                    "column": 76
                                  },
                                  "end": {
                                    "line": 720,
                                    "column": 84
                                  }
                                },
                                "name": "settings"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27342,
                                "end": 27359,
                                "loc": {
                                  "start": {
                                    "line": 720,
                                    "column": 85
                                  },
                                  "end": {
                                    "line": 720,
                                    "column": 102
                                  }
                                },
                                "name": "ignoreConstraints"
                              },
                              "computed": false
                            },
                            "alternate": {
                              "type": "Literal",
                              "start": 27362,
                              "end": 27366,
                              "loc": {
                                "start": {
                                  "line": 720,
                                  "column": 105
                                },
                                "end": {
                                  "line": 720,
                                  "column": 109
                                }
                              },
                              "value": true,
                              "rawValue": true,
                              "raw": "true"
                            },
                            "parenthesizedExpression": true
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "detect settings for ignoring unmatches sketch objects",
                          "start": 27201,
                          "end": 27256,
                          "loc": {
                            "start": {
                              "line": 719,
                              "column": 8
                            },
                            "end": {
                              "line": 719,
                              "column": 63
                            }
                          },
                          "range": [
                            27201,
                            27256
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 27377,
                      "end": 27472,
                      "loc": {
                        "start": {
                          "line": 721,
                          "column": 8
                        },
                        "end": {
                          "line": 721,
                          "column": 103
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 27381,
                          "end": 27471,
                          "loc": {
                            "start": {
                              "line": 721,
                              "column": 12
                            },
                            "end": {
                              "line": 721,
                              "column": 102
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 27381,
                            "end": 27395,
                            "loc": {
                              "start": {
                                "line": 721,
                                "column": 12
                              },
                              "end": {
                                "line": 721,
                                "column": 26
                              }
                            },
                            "name": "ignoreGeometry"
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 27399,
                            "end": 27470,
                            "loc": {
                              "start": {
                                "line": 721,
                                "column": 30
                              },
                              "end": {
                                "line": 721,
                                "column": 101
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 27399,
                              "end": 27436,
                              "loc": {
                                "start": {
                                  "line": 721,
                                  "column": 30
                                },
                                "end": {
                                  "line": 721,
                                  "column": 67
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 27399,
                                "end": 27422,
                                "loc": {
                                  "start": {
                                    "line": 721,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 721,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 27399,
                                  "end": 27407,
                                  "loc": {
                                    "start": {
                                      "line": 721,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 721,
                                      "column": 38
                                    }
                                  },
                                  "name": "settings"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 27408,
                                  "end": 27422,
                                  "loc": {
                                    "start": {
                                      "line": 721,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 721,
                                      "column": 53
                                    }
                                  },
                                  "name": "ignoreGeometry"
                                },
                                "computed": false
                              },
                              "operator": "!==",
                              "right": {
                                "type": "Identifier",
                                "start": 27427,
                                "end": 27436,
                                "loc": {
                                  "start": {
                                    "line": 721,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 721,
                                    "column": 67
                                  }
                                },
                                "name": "undefined"
                              }
                            },
                            "consequent": {
                              "type": "MemberExpression",
                              "start": 27439,
                              "end": 27462,
                              "loc": {
                                "start": {
                                  "line": 721,
                                  "column": 70
                                },
                                "end": {
                                  "line": 721,
                                  "column": 93
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27439,
                                "end": 27447,
                                "loc": {
                                  "start": {
                                    "line": 721,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 721,
                                    "column": 78
                                  }
                                },
                                "name": "settings"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27448,
                                "end": 27462,
                                "loc": {
                                  "start": {
                                    "line": 721,
                                    "column": 79
                                  },
                                  "end": {
                                    "line": 721,
                                    "column": 93
                                  }
                                },
                                "name": "ignoreGeometry"
                              },
                              "computed": false
                            },
                            "alternate": {
                              "type": "Literal",
                              "start": 27465,
                              "end": 27470,
                              "loc": {
                                "start": {
                                  "line": 721,
                                  "column": 96
                                },
                                "end": {
                                  "line": 721,
                                  "column": 101
                                }
                              },
                              "value": false,
                              "rawValue": false,
                              "raw": "false"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 27481,
                      "end": 27559,
                      "loc": {
                        "start": {
                          "line": 722,
                          "column": 8
                        },
                        "end": {
                          "line": 723,
                          "column": 54
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 27485,
                        "end": 27503,
                        "loc": {
                          "start": {
                            "line": 722,
                            "column": 12
                          },
                          "end": {
                            "line": 722,
                            "column": 30
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 27485,
                          "end": 27493,
                          "loc": {
                            "start": {
                              "line": 722,
                              "column": 12
                            },
                            "end": {
                              "line": 722,
                              "column": 20
                            }
                          },
                          "name": "settings"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 27494,
                          "end": 27503,
                          "loc": {
                            "start": {
                              "line": 722,
                              "column": 21
                            },
                            "end": {
                              "line": 722,
                              "column": 30
                            }
                          },
                          "name": "ignoreAll"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 27517,
                        "end": 27559,
                        "loc": {
                          "start": {
                            "line": 723,
                            "column": 12
                          },
                          "end": {
                            "line": 723,
                            "column": 54
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 27517,
                          "end": 27558,
                          "loc": {
                            "start": {
                              "line": 723,
                              "column": 12
                            },
                            "end": {
                              "line": 723,
                              "column": 53
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 27517,
                            "end": 27531,
                            "loc": {
                              "start": {
                                "line": 723,
                                "column": 12
                              },
                              "end": {
                                "line": 723,
                                "column": 26
                              }
                            },
                            "name": "ignoreGeometry"
                          },
                          "right": {
                            "type": "AssignmentExpression",
                            "start": 27534,
                            "end": 27558,
                            "loc": {
                              "start": {
                                "line": 723,
                                "column": 29
                              },
                              "end": {
                                "line": 723,
                                "column": 53
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 27534,
                              "end": 27551,
                              "loc": {
                                "start": {
                                  "line": 723,
                                  "column": 29
                                },
                                "end": {
                                  "line": 723,
                                  "column": 46
                                }
                              },
                              "name": "ignoreConstraints"
                            },
                            "right": {
                              "type": "Literal",
                              "start": 27554,
                              "end": 27558,
                              "loc": {
                                "start": {
                                  "line": 723,
                                  "column": 49
                                },
                                "end": {
                                  "line": 723,
                                  "column": 53
                                }
                              },
                              "value": true,
                              "rawValue": true,
                              "raw": "true"
                            }
                          }
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "ignore unmatched sketch objects and patterns",
                          "start": 27569,
                          "end": 27615,
                          "loc": {
                            "start": {
                              "line": 725,
                              "column": 8
                            },
                            "end": {
                              "line": 725,
                              "column": 54
                            }
                          },
                          "range": [
                            27569,
                            27615
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 27624,
                      "end": 27742,
                      "loc": {
                        "start": {
                          "line": 726,
                          "column": 8
                        },
                        "end": {
                          "line": 727,
                          "column": 98
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 27628,
                        "end": 27642,
                        "loc": {
                          "start": {
                            "line": 726,
                            "column": 12
                          },
                          "end": {
                            "line": 726,
                            "column": 26
                          }
                        },
                        "name": "ignoreGeometry",
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 27656,
                        "end": 27742,
                        "loc": {
                          "start": {
                            "line": 727,
                            "column": 12
                          },
                          "end": {
                            "line": 727,
                            "column": 98
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 27656,
                          "end": 27741,
                          "loc": {
                            "start": {
                              "line": 727,
                              "column": 12
                            },
                            "end": {
                              "line": 727,
                              "column": 97
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 27656,
                            "end": 27672,
                            "loc": {
                              "start": {
                                "line": 727,
                                "column": 12
                              },
                              "end": {
                                "line": 727,
                                "column": 28
                              }
                            },
                            "name": "unmatchedObjects"
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 27675,
                            "end": 27741,
                            "loc": {
                              "start": {
                                "line": 727,
                                "column": 31
                              },
                              "end": {
                                "line": 727,
                                "column": 97
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 27675,
                              "end": 27698,
                              "loc": {
                                "start": {
                                  "line": 727,
                                  "column": 31
                                },
                                "end": {
                                  "line": 727,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27675,
                                "end": 27691,
                                "loc": {
                                  "start": {
                                    "line": 727,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 727,
                                    "column": 47
                                  }
                                },
                                "name": "unmatchedObjects"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27692,
                                "end": 27698,
                                "loc": {
                                  "start": {
                                    "line": 727,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 727,
                                    "column": 54
                                  }
                                },
                                "name": "filter"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 27699,
                                "end": 27740,
                                "loc": {
                                  "start": {
                                    "line": 727,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 727,
                                    "column": 96
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 27699,
                                    "end": 27702,
                                    "loc": {
                                      "start": {
                                        "line": 727,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 727,
                                        "column": 58
                                      }
                                    },
                                    "name": "obj"
                                  }
                                ],
                                "body": {
                                  "type": "UnaryExpression",
                                  "start": 27706,
                                  "end": 27740,
                                  "loc": {
                                    "start": {
                                      "line": 727,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 727,
                                      "column": 96
                                    }
                                  },
                                  "operator": "!",
                                  "prefix": true,
                                  "argument": {
                                    "type": "BinaryExpression",
                                    "start": 27708,
                                    "end": 27739,
                                    "loc": {
                                      "start": {
                                        "line": 727,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 727,
                                        "column": 95
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 27708,
                                      "end": 27711,
                                      "loc": {
                                        "start": {
                                          "line": 727,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 727,
                                          "column": 67
                                        }
                                      },
                                      "name": "obj"
                                    },
                                    "operator": "instanceof",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 27723,
                                      "end": 27739,
                                      "loc": {
                                        "start": {
                                          "line": 727,
                                          "column": 79
                                        },
                                        "end": {
                                          "line": 727,
                                          "column": 95
                                        }
                                      },
                                      "name": "SketchGeomObject"
                                    },
                                    "parenthesizedExpression": true
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "ignore unmatched sketch objects and patterns",
                          "start": 27569,
                          "end": 27615,
                          "loc": {
                            "start": {
                              "line": 725,
                              "column": 8
                            },
                            "end": {
                              "line": 725,
                              "column": 54
                            }
                          },
                          "range": [
                            27569,
                            27615
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 27751,
                      "end": 27872,
                      "loc": {
                        "start": {
                          "line": 728,
                          "column": 8
                        },
                        "end": {
                          "line": 729,
                          "column": 98
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 27755,
                        "end": 27772,
                        "loc": {
                          "start": {
                            "line": 728,
                            "column": 12
                          },
                          "end": {
                            "line": 728,
                            "column": 29
                          }
                        },
                        "name": "ignoreConstraints"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 27786,
                        "end": 27872,
                        "loc": {
                          "start": {
                            "line": 729,
                            "column": 12
                          },
                          "end": {
                            "line": 729,
                            "column": 98
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 27786,
                          "end": 27871,
                          "loc": {
                            "start": {
                              "line": 729,
                              "column": 12
                            },
                            "end": {
                              "line": 729,
                              "column": 97
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 27786,
                            "end": 27802,
                            "loc": {
                              "start": {
                                "line": 729,
                                "column": 12
                              },
                              "end": {
                                "line": 729,
                                "column": 28
                              }
                            },
                            "name": "unmatchedObjects"
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 27805,
                            "end": 27871,
                            "loc": {
                              "start": {
                                "line": 729,
                                "column": 31
                              },
                              "end": {
                                "line": 729,
                                "column": 97
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 27805,
                              "end": 27828,
                              "loc": {
                                "start": {
                                  "line": 729,
                                  "column": 31
                                },
                                "end": {
                                  "line": 729,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27805,
                                "end": 27821,
                                "loc": {
                                  "start": {
                                    "line": 729,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 729,
                                    "column": 47
                                  }
                                },
                                "name": "unmatchedObjects"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27822,
                                "end": 27828,
                                "loc": {
                                  "start": {
                                    "line": 729,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 729,
                                    "column": 54
                                  }
                                },
                                "name": "filter"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 27829,
                                "end": 27870,
                                "loc": {
                                  "start": {
                                    "line": 729,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 729,
                                    "column": 96
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 27829,
                                    "end": 27832,
                                    "loc": {
                                      "start": {
                                        "line": 729,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 729,
                                        "column": 58
                                      }
                                    },
                                    "name": "obj"
                                  }
                                ],
                                "body": {
                                  "type": "UnaryExpression",
                                  "start": 27836,
                                  "end": 27870,
                                  "loc": {
                                    "start": {
                                      "line": 729,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 729,
                                      "column": 96
                                    }
                                  },
                                  "operator": "!",
                                  "prefix": true,
                                  "argument": {
                                    "type": "BinaryExpression",
                                    "start": 27838,
                                    "end": 27869,
                                    "loc": {
                                      "start": {
                                        "line": 729,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 729,
                                        "column": 95
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 27838,
                                      "end": 27841,
                                      "loc": {
                                        "start": {
                                          "line": 729,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 729,
                                          "column": 67
                                        }
                                      },
                                      "name": "obj"
                                    },
                                    "operator": "instanceof",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 27853,
                                      "end": 27869,
                                      "loc": {
                                        "start": {
                                          "line": 729,
                                          "column": 79
                                        },
                                        "end": {
                                          "line": 729,
                                          "column": 95
                                        }
                                      },
                                      "name": "SketchConstraint"
                                    },
                                    "parenthesizedExpression": true
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 27881,
                      "end": 27948,
                      "loc": {
                        "start": {
                          "line": 730,
                          "column": 8
                        },
                        "end": {
                          "line": 730,
                          "column": 75
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 27881,
                        "end": 27947,
                        "loc": {
                          "start": {
                            "line": 730,
                            "column": 8
                          },
                          "end": {
                            "line": 730,
                            "column": 74
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 27881,
                          "end": 27898,
                          "loc": {
                            "start": {
                              "line": 730,
                              "column": 8
                            },
                            "end": {
                              "line": 730,
                              "column": 25
                            }
                          },
                          "name": "unmatchedPatterns"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 27901,
                          "end": 27947,
                          "loc": {
                            "start": {
                              "line": 730,
                              "column": 28
                            },
                            "end": {
                              "line": 730,
                              "column": 74
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 27901,
                            "end": 27925,
                            "loc": {
                              "start": {
                                "line": 730,
                                "column": 28
                              },
                              "end": {
                                "line": 730,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 27901,
                              "end": 27918,
                              "loc": {
                                "start": {
                                  "line": 730,
                                  "column": 28
                                },
                                "end": {
                                  "line": 730,
                                  "column": 45
                                }
                              },
                              "name": "unmatchedPatterns"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 27919,
                              "end": 27925,
                              "loc": {
                                "start": {
                                  "line": 730,
                                  "column": 46
                                },
                                "end": {
                                  "line": 730,
                                  "column": 52
                                }
                              },
                              "name": "filter"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 27926,
                              "end": 27946,
                              "loc": {
                                "start": {
                                  "line": 730,
                                  "column": 53
                                },
                                "end": {
                                  "line": 730,
                                  "column": 73
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": true,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 27926,
                                  "end": 27929,
                                  "loc": {
                                    "start": {
                                      "line": 730,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 730,
                                      "column": 56
                                    }
                                  },
                                  "name": "obj"
                                }
                              ],
                              "body": {
                                "type": "UnaryExpression",
                                "start": 27933,
                                "end": 27946,
                                "loc": {
                                  "start": {
                                    "line": 730,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 730,
                                    "column": 73
                                  }
                                },
                                "operator": "!",
                                "prefix": true,
                                "argument": {
                                  "type": "MemberExpression",
                                  "start": 27934,
                                  "end": 27946,
                                  "loc": {
                                    "start": {
                                      "line": 730,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 730,
                                      "column": 73
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 27934,
                                    "end": 27937,
                                    "loc": {
                                      "start": {
                                        "line": 730,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 730,
                                        "column": 64
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 27938,
                                    "end": 27946,
                                    "loc": {
                                      "start": {
                                        "line": 730,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 730,
                                        "column": 73
                                      }
                                    },
                                    "name": "optional"
                                  },
                                  "computed": false
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 27958,
                      "end": 28022,
                      "loc": {
                        "start": {
                          "line": 732,
                          "column": 8
                        },
                        "end": {
                          "line": 732,
                          "column": 72
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 27962,
                          "end": 28021,
                          "loc": {
                            "start": {
                              "line": 732,
                              "column": 12
                            },
                            "end": {
                              "line": 732,
                              "column": 71
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 27962,
                            "end": 27983,
                            "loc": {
                              "start": {
                                "line": 732,
                                "column": 12
                              },
                              "end": {
                                "line": 732,
                                "column": 33
                              }
                            },
                            "name": "unmatchedObjectsCount"
                          },
                          "init": {
                            "type": "LogicalExpression",
                            "start": 27986,
                            "end": 28021,
                            "loc": {
                              "start": {
                                "line": 732,
                                "column": 36
                              },
                              "end": {
                                "line": 732,
                                "column": 71
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 27986,
                              "end": 28016,
                              "loc": {
                                "start": {
                                  "line": 732,
                                  "column": 36
                                },
                                "end": {
                                  "line": 732,
                                  "column": 66
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27986,
                                "end": 27994,
                                "loc": {
                                  "start": {
                                    "line": 732,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 732,
                                    "column": 44
                                  }
                                },
                                "name": "settings"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27995,
                                "end": 28016,
                                "loc": {
                                  "start": {
                                    "line": 732,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 732,
                                    "column": 66
                                  }
                                },
                                "name": "unmatchedObjectsCount"
                              },
                              "computed": false
                            },
                            "operator": "||",
                            "right": {
                              "type": "Literal",
                              "start": 28020,
                              "end": 28021,
                              "loc": {
                                "start": {
                                  "line": 732,
                                  "column": 70
                                },
                                "end": {
                                  "line": 732,
                                  "column": 71
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 28031,
                      "end": 28097,
                      "loc": {
                        "start": {
                          "line": 733,
                          "column": 8
                        },
                        "end": {
                          "line": 733,
                          "column": 74
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 28035,
                          "end": 28096,
                          "loc": {
                            "start": {
                              "line": 733,
                              "column": 12
                            },
                            "end": {
                              "line": 733,
                              "column": 73
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 28035,
                            "end": 28057,
                            "loc": {
                              "start": {
                                "line": 733,
                                "column": 12
                              },
                              "end": {
                                "line": 733,
                                "column": 34
                              }
                            },
                            "name": "unmatchedPatternsCount"
                          },
                          "init": {
                            "type": "LogicalExpression",
                            "start": 28060,
                            "end": 28096,
                            "loc": {
                              "start": {
                                "line": 733,
                                "column": 37
                              },
                              "end": {
                                "line": 733,
                                "column": 73
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 28060,
                              "end": 28091,
                              "loc": {
                                "start": {
                                  "line": 733,
                                  "column": 37
                                },
                                "end": {
                                  "line": 733,
                                  "column": 68
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 28060,
                                "end": 28068,
                                "loc": {
                                  "start": {
                                    "line": 733,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 733,
                                    "column": 45
                                  }
                                },
                                "name": "settings"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 28069,
                                "end": 28091,
                                "loc": {
                                  "start": {
                                    "line": 733,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 733,
                                    "column": 68
                                  }
                                },
                                "name": "unmatchedPatternsCount"
                              },
                              "computed": false
                            },
                            "operator": "||",
                            "right": {
                              "type": "Literal",
                              "start": 28095,
                              "end": 28096,
                              "loc": {
                                "start": {
                                  "line": 733,
                                  "column": 72
                                },
                                "end": {
                                  "line": 733,
                                  "column": 73
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 28106,
                      "end": 28536,
                      "loc": {
                        "start": {
                          "line": 734,
                          "column": 8
                        },
                        "end": {
                          "line": 739,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 28110,
                        "end": 28210,
                        "loc": {
                          "start": {
                            "line": 734,
                            "column": 12
                          },
                          "end": {
                            "line": 734,
                            "column": 112
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 28110,
                          "end": 28157,
                          "loc": {
                            "start": {
                              "line": 734,
                              "column": 12
                            },
                            "end": {
                              "line": 734,
                              "column": 59
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 28110,
                            "end": 28133,
                            "loc": {
                              "start": {
                                "line": 734,
                                "column": 12
                              },
                              "end": {
                                "line": 734,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 28110,
                              "end": 28126,
                              "loc": {
                                "start": {
                                  "line": 734,
                                  "column": 12
                                },
                                "end": {
                                  "line": 734,
                                  "column": 28
                                }
                              },
                              "name": "unmatchedObjects"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 28127,
                              "end": 28133,
                              "loc": {
                                "start": {
                                  "line": 734,
                                  "column": 29
                                },
                                "end": {
                                  "line": 734,
                                  "column": 35
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": ">",
                          "right": {
                            "type": "Identifier",
                            "start": 28136,
                            "end": 28157,
                            "loc": {
                              "start": {
                                "line": 734,
                                "column": 38
                              },
                              "end": {
                                "line": 734,
                                "column": 59
                              }
                            },
                            "name": "unmatchedObjectsCount"
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 28161,
                          "end": 28210,
                          "loc": {
                            "start": {
                              "line": 734,
                              "column": 63
                            },
                            "end": {
                              "line": 734,
                              "column": 112
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 28161,
                            "end": 28185,
                            "loc": {
                              "start": {
                                "line": 734,
                                "column": 63
                              },
                              "end": {
                                "line": 734,
                                "column": 87
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 28161,
                              "end": 28178,
                              "loc": {
                                "start": {
                                  "line": 734,
                                  "column": 63
                                },
                                "end": {
                                  "line": 734,
                                  "column": 80
                                }
                              },
                              "name": "unmatchedPatterns"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 28179,
                              "end": 28185,
                              "loc": {
                                "start": {
                                  "line": 734,
                                  "column": 81
                                },
                                "end": {
                                  "line": 734,
                                  "column": 87
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": ">",
                          "right": {
                            "type": "Identifier",
                            "start": 28188,
                            "end": 28210,
                            "loc": {
                              "start": {
                                "line": 734,
                                "column": 90
                              },
                              "end": {
                                "line": 734,
                                "column": 112
                              }
                            },
                            "name": "unmatchedPatternsCount"
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 28212,
                        "end": 28536,
                        "loc": {
                          "start": {
                            "line": 734,
                            "column": 114
                          },
                          "end": {
                            "line": 739,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 28264,
                            "end": 28381,
                            "loc": {
                              "start": {
                                "line": 736,
                                "column": 12
                              },
                              "end": {
                                "line": 736,
                                "column": 129
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 28268,
                                "end": 28380,
                                "loc": {
                                  "start": {
                                    "line": 736,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 736,
                                    "column": 128
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 28268,
                                  "end": 28274,
                                  "loc": {
                                    "start": {
                                      "line": 736,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 736,
                                      "column": 22
                                    }
                                  },
                                  "name": "header",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 28277,
                                  "end": 28380,
                                  "loc": {
                                    "start": {
                                      "line": 736,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 736,
                                      "column": 128
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 28277,
                                    "end": 28365,
                                    "loc": {
                                      "start": {
                                        "line": 736,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 736,
                                        "column": 113
                                      }
                                    },
                                    "left": {
                                      "type": "BinaryExpression",
                                      "start": 28277,
                                      "end": 28339,
                                      "loc": {
                                        "start": {
                                          "line": 736,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 736,
                                          "column": 87
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 28277,
                                        "end": 28323,
                                        "loc": {
                                          "start": {
                                            "line": 736,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 736,
                                            "column": 71
                                          }
                                        },
                                        "left": {
                                          "type": "Literal",
                                          "start": 28277,
                                          "end": 28296,
                                          "loc": {
                                            "start": {
                                              "line": 736,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 736,
                                              "column": 44
                                            }
                                          },
                                          "value": "Found unmatched: ",
                                          "rawValue": "Found unmatched: ",
                                          "raw": "\"Found unmatched: \""
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 28299,
                                          "end": 28323,
                                          "loc": {
                                            "start": {
                                              "line": 736,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 736,
                                              "column": 71
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 28299,
                                            "end": 28316,
                                            "loc": {
                                              "start": {
                                                "line": 736,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 736,
                                                "column": 64
                                              }
                                            },
                                            "name": "unmatchedPatterns"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 28317,
                                            "end": 28323,
                                            "loc": {
                                              "start": {
                                                "line": 736,
                                                "column": 65
                                              },
                                              "end": {
                                                "line": 736,
                                                "column": 71
                                              }
                                            },
                                            "name": "length"
                                          },
                                          "computed": false
                                        }
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Literal",
                                        "start": 28326,
                                        "end": 28339,
                                        "loc": {
                                          "start": {
                                            "line": 736,
                                            "column": 74
                                          },
                                          "end": {
                                            "line": 736,
                                            "column": 87
                                          }
                                        },
                                        "value": " patterns, ",
                                        "rawValue": " patterns, ",
                                        "raw": "\" patterns, \""
                                      }
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 28342,
                                      "end": 28365,
                                      "loc": {
                                        "start": {
                                          "line": 736,
                                          "column": 90
                                        },
                                        "end": {
                                          "line": 736,
                                          "column": 113
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 28342,
                                        "end": 28358,
                                        "loc": {
                                          "start": {
                                            "line": 736,
                                            "column": 90
                                          },
                                          "end": {
                                            "line": 736,
                                            "column": 106
                                          }
                                        },
                                        "name": "unmatchedObjects"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 28359,
                                        "end": 28365,
                                        "loc": {
                                          "start": {
                                            "line": 736,
                                            "column": 107
                                          },
                                          "end": {
                                            "line": 736,
                                            "column": 113
                                          }
                                        },
                                        "name": "length"
                                      },
                                      "computed": false
                                    }
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Literal",
                                    "start": 28368,
                                    "end": 28380,
                                    "loc": {
                                      "start": {
                                        "line": 736,
                                        "column": 116
                                      },
                                      "end": {
                                        "line": 736,
                                        "column": 128
                                      }
                                    },
                                    "value": " objects\n",
                                    "rawValue": " objects\n",
                                    "raw": "\" objects\\n\""
                                  }
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "var",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "TODO: use check instead",
                                "start": 28226,
                                "end": 28251,
                                "loc": {
                                  "start": {
                                    "line": 735,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 735,
                                    "column": 37
                                  }
                                },
                                "range": [
                                  28226,
                                  28251
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 28394,
                            "end": 28451,
                            "loc": {
                              "start": {
                                "line": 737,
                                "column": 12
                              },
                              "end": {
                                "line": 737,
                                "column": 69
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 28394,
                              "end": 28450,
                              "loc": {
                                "start": {
                                  "line": 737,
                                  "column": 12
                                },
                                "end": {
                                  "line": 737,
                                  "column": 68
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 28394,
                                "end": 28405,
                                "loc": {
                                  "start": {
                                    "line": 737,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 737,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 28394,
                                  "end": 28401,
                                  "loc": {
                                    "start": {
                                      "line": 737,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 737,
                                      "column": 19
                                    }
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 28402,
                                  "end": 28405,
                                  "loc": {
                                    "start": {
                                      "line": 737,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 737,
                                      "column": 23
                                    }
                                  },
                                  "name": "log"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 28406,
                                  "end": 28412,
                                  "loc": {
                                    "start": {
                                      "line": 737,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 737,
                                      "column": 30
                                    }
                                  },
                                  "name": "header"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 28414,
                                  "end": 28431,
                                  "loc": {
                                    "start": {
                                      "line": 737,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 737,
                                      "column": 49
                                    }
                                  },
                                  "name": "unmatchedPatterns"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 28433,
                                  "end": 28449,
                                  "loc": {
                                    "start": {
                                      "line": 737,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 737,
                                      "column": 67
                                    }
                                  },
                                  "name": "unmatchedObjects"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 28464,
                            "end": 28526,
                            "loc": {
                              "start": {
                                "line": 738,
                                "column": 12
                              },
                              "end": {
                                "line": 738,
                                "column": 74
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 28464,
                              "end": 28525,
                              "loc": {
                                "start": {
                                  "line": 738,
                                  "column": 12
                                },
                                "end": {
                                  "line": 738,
                                  "column": 73
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 28464,
                                "end": 28469,
                                "loc": {
                                  "start": {
                                    "line": 738,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 738,
                                    "column": 17
                                  }
                                },
                                "name": "check"
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 28470,
                                  "end": 28475,
                                  "loc": {
                                    "start": {
                                      "line": 738,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 738,
                                      "column": 23
                                    }
                                  },
                                  "value": false,
                                  "rawValue": false,
                                  "raw": "false"
                                },
                                {
                                  "type": "Literal",
                                  "start": 28477,
                                  "end": 28524,
                                  "loc": {
                                    "start": {
                                      "line": 738,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 738,
                                      "column": 72
                                    }
                                  },
                                  "value": "Sketch matching returned unacceptable results",
                                  "rawValue": "Sketch matching returned unacceptable results",
                                  "raw": "\"Sketch matching returned unacceptable results\""
                                }
                              ]
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "return matcher object for further checks",
                          "start": 28545,
                          "end": 28587,
                          "loc": {
                            "start": {
                              "line": 740,
                              "column": 8
                            },
                            "end": {
                              "line": 740,
                              "column": 50
                            }
                          },
                          "range": [
                            28545,
                            28587
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 28596,
                      "end": 28611,
                      "loc": {
                        "start": {
                          "line": 741,
                          "column": 8
                        },
                        "end": {
                          "line": 741,
                          "column": 23
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 28603,
                        "end": 28610,
                        "loc": {
                          "start": {
                            "line": 741,
                            "column": 15
                          },
                          "end": {
                            "line": 741,
                            "column": 22
                          }
                        },
                        "name": "matcher",
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "return matcher object for further checks",
                          "start": 28545,
                          "end": 28587,
                          "loc": {
                            "start": {
                              "line": 740,
                              "column": 8
                            },
                            "end": {
                              "line": 740,
                              "column": 50
                            }
                          },
                          "range": [
                            28545,
                            28587
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Sample format for patterns array:\n * var patterns = [\n *   {name: \"pA\", type: \"point\", position: [10, 20]},             //point with precise location\n *   {name: \"pB\", type: \"point\"},                                 //point (location may be arbitrary)\n *   {name: \"lCD\", type: \"line\", ends: [[0, 0], [50, 0]]},        //line with precise location of endpoints\n *   {name: \"a1\", type: \"arc\", ends: [[0, 0], [50, 0]]},          //arc with precise location of endpoints (arbitrary center)\n *   {type: \"arc\", ends: [[30, 0], [50, 0]], middle: [40, 10]},   //unnamed curve with precise geometric state (endpoints + middle point)\n *   {type: \"line\", ends: [[0, -10], [50, -10]], undir: true},    //unnamed line with given endpoints (maybe in reversed order)\n *   {name: \"lST\", type: \"line\", middle: [50, 50]},               //line with prescribed middle point\n *   {type: \"fixation\", args: \"pA\"},                              //fixation constraint on point named \"pA\"\n *   {type: \"incidence\", args: [\"lCD\", \"lST\"]},                   //lines \"lCD\" and \"lST\" have collinearity constraint on them\n *   {type: \"distance\", args: [1, \"lCD\"], value: 50},             //distance constraint from \"pB\" (second pattern in array) to \"lCD\" with value = 50\n *   {type: \"coincidence\", args: [\"lST.e\", \"3.c\"]},               //'c'enter of arc a1 (by index 3) is coincident with 'e'ndpoint of line lST\n * ];\n *\n * General plan of matching things:\n * 1. Named objects are matched to named patterns.\n *   This is the preferred way of matching things.\n *   You can give (test) names in unit tests by writing:\n *     {name: \"...\", ...},        //pattern with name\n *     setTestName(obj, \"...\");   //sketch object got a name \n *                                //note: there are helpers in SketcherAutomation\n *   Names must be unique among objects and unique among patterns.\n *   Any object or pattern with name must have a match of same name (otherwise error is triggered).\n * 2. Unnamed patterns of geometric objects are matched to unnamed sketch objects.\n *   Each pattern is compared to all yet unmatched sketch objects.\n *   If any compatible sketch object is found, it is considered a match.\n *   Patterns are checked in order of definition, but order of objects on sketch may change.\n *   That's why this method is not very reliable.\n * 3. Unnamed patterns of constraints are matched to unnamed constraints on sketch.\n *   Commutativity of many constraint types is taken into account.\n *   This is usually a good way of matching constraints.\n *\n * After all the matching is complete, we check that for each matching pair all the additional info is compatible (e.g. positions, etc).\n * Finally, you can get the following info:\n * 1. List of all unmatched objects.\n * 2. List of all unmatched patterns.\n * Generally, these lists should be empty for a fully specified sketch description.\n * But you can e.g. avoid describing constraints and check that list 1 contains only constraints.\n ",
            "start": 14153,
            "end": 17127,
            "loc": {
              "start": {
                "line": 395,
                "column": 0
              },
              "end": {
                "line": 435,
                "column": 3
              }
            },
            "range": [
              14153,
              17127
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Sample format for patterns array:\n * var patterns = [\n *   {name: \"pA\", type: \"point\", position: [10, 20]},             //point with precise location\n *   {name: \"pB\", type: \"point\"},                                 //point (location may be arbitrary)\n *   {name: \"lCD\", type: \"line\", ends: [[0, 0], [50, 0]]},        //line with precise location of endpoints\n *   {name: \"a1\", type: \"arc\", ends: [[0, 0], [50, 0]]},          //arc with precise location of endpoints (arbitrary center)\n *   {type: \"arc\", ends: [[30, 0], [50, 0]], middle: [40, 10]},   //unnamed curve with precise geometric state (endpoints + middle point)\n *   {type: \"line\", ends: [[0, -10], [50, -10]], undir: true},    //unnamed line with given endpoints (maybe in reversed order)\n *   {name: \"lST\", type: \"line\", middle: [50, 50]},               //line with prescribed middle point\n *   {type: \"fixation\", args: \"pA\"},                              //fixation constraint on point named \"pA\"\n *   {type: \"incidence\", args: [\"lCD\", \"lST\"]},                   //lines \"lCD\" and \"lST\" have collinearity constraint on them\n *   {type: \"distance\", args: [1, \"lCD\"], value: 50},             //distance constraint from \"pB\" (second pattern in array) to \"lCD\" with value = 50\n *   {type: \"coincidence\", args: [\"lST.e\", \"3.c\"]},               //'c'enter of arc a1 (by index 3) is coincident with 'e'ndpoint of line lST\n * ];\n *\n * General plan of matching things:\n * 1. Named objects are matched to named patterns.\n *   This is the preferred way of matching things.\n *   You can give (test) names in unit tests by writing:\n *     {name: \"...\", ...},        //pattern with name\n *     setTestName(obj, \"...\");   //sketch object got a name \n *                                //note: there are helpers in SketcherAutomation\n *   Names must be unique among objects and unique among patterns.\n *   Any object or pattern with name must have a match of same name (otherwise error is triggered).\n * 2. Unnamed patterns of geometric objects are matched to unnamed sketch objects.\n *   Each pattern is compared to all yet unmatched sketch objects.\n *   If any compatible sketch object is found, it is considered a match.\n *   Patterns are checked in order of definition, but order of objects on sketch may change.\n *   That's why this method is not very reliable.\n * 3. Unnamed patterns of constraints are matched to unnamed constraints on sketch.\n *   Commutativity of many constraint types is taken into account.\n *   This is usually a good way of matching constraints.\n *\n * After all the matching is complete, we check that for each matching pair all the additional info is compatible (e.g. positions, etc).\n * Finally, you can get the following info:\n * 1. List of all unmatched objects.\n * 2. List of all unmatched patterns.\n * Generally, these lists should be empty for a fully specified sketch description.\n * But you can e.g. avoid describing constraints and check that list 1 contains only constraints.\n ",
          "start": 14153,
          "end": 17127,
          "loc": {
            "start": {
              "line": 395,
              "column": 0
            },
            "end": {
              "line": 435,
              "column": 3
            }
          },
          "range": [
            14153,
            17127
          ]
        }
      ]
    },
    {
      "type": "EmptyStatement",
      "start": 28619,
      "end": 28620,
      "loc": {
        "start": {
          "line": 743,
          "column": 1
        },
        "end": {
          "line": 743,
          "column": 2
        }
      },
      "leadingComments": null,
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "TODO",
          "start": 28622,
          "end": 28628,
          "loc": {
            "start": {
              "line": 745,
              "column": 0
            },
            "end": {
              "line": 745,
              "column": 6
            }
          },
          "range": [
            28622,
            28628
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 28629,
      "end": 28664,
      "loc": {
        "start": {
          "line": 746,
          "column": 0
        },
        "end": {
          "line": 748,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 28636,
        "end": 28664,
        "loc": {
          "start": {
            "line": 746,
            "column": 7
          },
          "end": {
            "line": 748,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 28642,
          "end": 28659,
          "loc": {
            "start": {
              "line": 746,
              "column": 13
            },
            "end": {
              "line": 746,
              "column": 30
            }
          },
          "name": "SketcherUnitTests",
          "leadingComments": null
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 28660,
          "end": 28664,
          "loc": {
            "start": {
              "line": 746,
              "column": 31
            },
            "end": {
              "line": 748,
              "column": 1
            }
          },
          "body": []
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "TODO",
            "start": 28622,
            "end": 28628,
            "loc": {
              "start": {
                "line": 745,
                "column": 0
              },
              "end": {
                "line": 745,
                "column": 6
              }
            },
            "range": [
              28622,
              28628
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "TODO",
          "start": 28622,
          "end": 28628,
          "loc": {
            "start": {
              "line": 745,
              "column": 0
            },
            "end": {
              "line": 745,
              "column": 6
            }
          },
          "range": [
            28622,
            28628
          ]
        }
      ]
    },
    {
      "type": "EmptyStatement",
      "start": 28664,
      "end": 28665,
      "loc": {
        "start": {
          "line": 748,
          "column": 1
        },
        "end": {
          "line": 748,
          "column": 2
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "start": 28667,
      "end": 31925,
      "loc": {
        "start": {
          "line": 750,
          "column": 0
        },
        "end": {
          "line": 829,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 28682,
        "end": 28701,
        "loc": {
          "start": {
            "line": 750,
            "column": 15
          },
          "end": {
            "line": 750,
            "column": 34
          }
        },
        "name": "someAutomationStuff"
      },
      "generator": false,
      "expression": false,
      "async": true,
      "params": [
        {
          "type": "Identifier",
          "start": 28702,
          "end": 28706,
          "loc": {
            "start": {
              "line": 750,
              "column": 35
            },
            "end": {
              "line": 750,
              "column": 39
            }
          },
          "name": "auto"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 28708,
        "end": 31925,
        "loc": {
          "start": {
            "line": 750,
            "column": 41
          },
          "end": {
            "line": 829,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 28714,
            "end": 28751,
            "loc": {
              "start": {
                "line": 751,
                "column": 4
              },
              "end": {
                "line": 751,
                "column": 41
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 28718,
                "end": 28750,
                "loc": {
                  "start": {
                    "line": 751,
                    "column": 8
                  },
                  "end": {
                    "line": 751,
                    "column": 40
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 28718,
                  "end": 28724,
                  "loc": {
                    "start": {
                      "line": 751,
                      "column": 8
                    },
                    "end": {
                      "line": 751,
                      "column": 14
                    }
                  },
                  "name": "sketch"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 28727,
                  "end": 28750,
                  "loc": {
                    "start": {
                      "line": 751,
                      "column": 17
                    },
                    "end": {
                      "line": 751,
                      "column": 40
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 28727,
                    "end": 28748,
                    "loc": {
                      "start": {
                        "line": 751,
                        "column": 17
                      },
                      "end": {
                        "line": 751,
                        "column": 38
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 28727,
                      "end": 28731,
                      "loc": {
                        "start": {
                          "line": 751,
                          "column": 17
                        },
                        "end": {
                          "line": 751,
                          "column": 21
                        }
                      },
                      "name": "auto"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 28732,
                      "end": 28748,
                      "loc": {
                        "start": {
                          "line": 751,
                          "column": 22
                        },
                        "end": {
                          "line": 751,
                          "column": 38
                        }
                      },
                      "name": "getCurrentSketch"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 28757,
            "end": 28811,
            "loc": {
              "start": {
                "line": 753,
                "column": 4
              },
              "end": {
                "line": 753,
                "column": 58
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 28761,
                "end": 28810,
                "loc": {
                  "start": {
                    "line": 753,
                    "column": 8
                  },
                  "end": {
                    "line": 753,
                    "column": 57
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 28761,
                  "end": 28766,
                  "loc": {
                    "start": {
                      "line": 753,
                      "column": 8
                    },
                    "end": {
                      "line": 753,
                      "column": 13
                    }
                  },
                  "name": "line1"
                },
                "init": {
                  "type": "AwaitExpression",
                  "start": 28769,
                  "end": 28810,
                  "loc": {
                    "start": {
                      "line": 753,
                      "column": 16
                    },
                    "end": {
                      "line": 753,
                      "column": 57
                    }
                  },
                  "all": false,
                  "argument": {
                    "type": "CallExpression",
                    "start": 28775,
                    "end": 28810,
                    "loc": {
                      "start": {
                        "line": 753,
                        "column": 22
                      },
                      "end": {
                        "line": 753,
                        "column": 57
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 28775,
                      "end": 28788,
                      "loc": {
                        "start": {
                          "line": 753,
                          "column": 22
                        },
                        "end": {
                          "line": 753,
                          "column": 35
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 28775,
                        "end": 28779,
                        "loc": {
                          "start": {
                            "line": 753,
                            "column": 22
                          },
                          "end": {
                            "line": 753,
                            "column": 26
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 28780,
                        "end": 28788,
                        "loc": {
                          "start": {
                            "line": 753,
                            "column": 27
                          },
                          "end": {
                            "line": 753,
                            "column": 35
                          }
                        },
                        "name": "drawLine"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "ArrayExpression",
                        "start": 28789,
                        "end": 28798,
                        "loc": {
                          "start": {
                            "line": 753,
                            "column": 36
                          },
                          "end": {
                            "line": 753,
                            "column": 45
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 28790,
                            "end": 28792,
                            "loc": {
                              "start": {
                                "line": 753,
                                "column": 37
                              },
                              "end": {
                                "line": 753,
                                "column": 39
                              }
                            },
                            "value": 50,
                            "rawValue": 50,
                            "raw": "50"
                          },
                          {
                            "type": "Literal",
                            "start": 28794,
                            "end": 28797,
                            "loc": {
                              "start": {
                                "line": 753,
                                "column": 41
                              },
                              "end": {
                                "line": 753,
                                "column": 44
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 28800,
                        "end": 28809,
                        "loc": {
                          "start": {
                            "line": 753,
                            "column": 47
                          },
                          "end": {
                            "line": 753,
                            "column": 56
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 28801,
                            "end": 28804,
                            "loc": {
                              "start": {
                                "line": 753,
                                "column": 48
                              },
                              "end": {
                                "line": 753,
                                "column": 51
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          },
                          {
                            "type": "Literal",
                            "start": 28806,
                            "end": 28808,
                            "loc": {
                              "start": {
                                "line": 753,
                                "column": 53
                              },
                              "end": {
                                "line": 753,
                                "column": 55
                              }
                            },
                            "value": 50,
                            "rawValue": 50,
                            "raw": "50"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 28817,
            "end": 28964,
            "loc": {
              "start": {
                "line": 755,
                "column": 4
              },
              "end": {
                "line": 757,
                "column": 35
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 28817,
              "end": 28963,
              "loc": {
                "start": {
                  "line": 755,
                  "column": 4
                },
                "end": {
                  "line": 757,
                  "column": 34
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 28817,
                "end": 28834,
                "loc": {
                  "start": {
                    "line": 755,
                    "column": 4
                  },
                  "end": {
                    "line": 755,
                    "column": 21
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 28817,
                  "end": 28830,
                  "loc": {
                    "start": {
                      "line": 755,
                      "column": 4
                    },
                    "end": {
                      "line": 755,
                      "column": 17
                    }
                  },
                  "name": "SketchMatcher"
                },
                "property": {
                  "type": "Identifier",
                  "start": 28831,
                  "end": 28834,
                  "loc": {
                    "start": {
                      "line": 755,
                      "column": 18
                    },
                    "end": {
                      "line": 755,
                      "column": 21
                    }
                  },
                  "name": "run"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 28835,
                  "end": 28841,
                  "loc": {
                    "start": {
                      "line": 755,
                      "column": 22
                    },
                    "end": {
                      "line": 755,
                      "column": 28
                    }
                  },
                  "name": "sketch"
                },
                {
                  "type": "ArrayExpression",
                  "start": 28843,
                  "end": 28934,
                  "loc": {
                    "start": {
                      "line": 755,
                      "column": 30
                    },
                    "end": {
                      "line": 757,
                      "column": 5
                    }
                  },
                  "elements": [
                    {
                      "type": "ObjectExpression",
                      "start": 28853,
                      "end": 28928,
                      "loc": {
                        "start": {
                          "line": 756,
                          "column": 8
                        },
                        "end": {
                          "line": 756,
                          "column": 83
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 28854,
                          "end": 28866,
                          "loc": {
                            "start": {
                              "line": 756,
                              "column": 9
                            },
                            "end": {
                              "line": 756,
                              "column": 21
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 28854,
                            "end": 28858,
                            "loc": {
                              "start": {
                                "line": 756,
                                "column": 9
                              },
                              "end": {
                                "line": 756,
                                "column": 13
                              }
                            },
                            "name": "type"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 28860,
                            "end": 28866,
                            "loc": {
                              "start": {
                                "line": 756,
                                "column": 15
                              },
                              "end": {
                                "line": 756,
                                "column": 21
                              }
                            },
                            "value": "line",
                            "rawValue": "line",
                            "raw": "\"line\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 28868,
                          "end": 28896,
                          "loc": {
                            "start": {
                              "line": 756,
                              "column": 23
                            },
                            "end": {
                              "line": 756,
                              "column": 51
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 28868,
                            "end": 28872,
                            "loc": {
                              "start": {
                                "line": 756,
                                "column": 23
                              },
                              "end": {
                                "line": 756,
                                "column": 27
                              }
                            },
                            "name": "ends"
                          },
                          "value": {
                            "type": "ArrayExpression",
                            "start": 28874,
                            "end": 28896,
                            "loc": {
                              "start": {
                                "line": 756,
                                "column": 29
                              },
                              "end": {
                                "line": 756,
                                "column": 51
                              }
                            },
                            "elements": [
                              {
                                "type": "ArrayExpression",
                                "start": 28875,
                                "end": 28884,
                                "loc": {
                                  "start": {
                                    "line": 756,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 756,
                                    "column": 39
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 28876,
                                    "end": 28879,
                                    "loc": {
                                      "start": {
                                        "line": 756,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 756,
                                        "column": 34
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 28881,
                                    "end": 28883,
                                    "loc": {
                                      "start": {
                                        "line": 756,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 756,
                                        "column": 38
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 28886,
                                "end": 28895,
                                "loc": {
                                  "start": {
                                    "line": 756,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 756,
                                    "column": 50
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 28887,
                                    "end": 28889,
                                    "loc": {
                                      "start": {
                                        "line": 756,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 756,
                                        "column": 44
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 28891,
                                    "end": 28894,
                                    "loc": {
                                      "start": {
                                        "line": 756,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 756,
                                        "column": 49
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 28898,
                          "end": 28914,
                          "loc": {
                            "start": {
                              "line": 756,
                              "column": 53
                            },
                            "end": {
                              "line": 756,
                              "column": 69
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 28898,
                            "end": 28904,
                            "loc": {
                              "start": {
                                "line": 756,
                                "column": 53
                              },
                              "end": {
                                "line": 756,
                                "column": 59
                              }
                            },
                            "name": "middle"
                          },
                          "value": {
                            "type": "ArrayExpression",
                            "start": 28906,
                            "end": 28914,
                            "loc": {
                              "start": {
                                "line": 756,
                                "column": 61
                              },
                              "end": {
                                "line": 756,
                                "column": 69
                              }
                            },
                            "elements": [
                              {
                                "type": "Literal",
                                "start": 28907,
                                "end": 28909,
                                "loc": {
                                  "start": {
                                    "line": 756,
                                    "column": 62
                                  },
                                  "end": {
                                    "line": 756,
                                    "column": 64
                                  }
                                },
                                "value": 75,
                                "rawValue": 75,
                                "raw": "75"
                              },
                              {
                                "type": "Literal",
                                "start": 28911,
                                "end": 28913,
                                "loc": {
                                  "start": {
                                    "line": 756,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 756,
                                    "column": 68
                                  }
                                },
                                "value": 75,
                                "rawValue": 75,
                                "raw": "75"
                              }
                            ]
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 28916,
                          "end": 28927,
                          "loc": {
                            "start": {
                              "line": 756,
                              "column": 71
                            },
                            "end": {
                              "line": 756,
                              "column": 82
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 28916,
                            "end": 28921,
                            "loc": {
                              "start": {
                                "line": 756,
                                "column": 71
                              },
                              "end": {
                                "line": 756,
                                "column": 76
                              }
                            },
                            "name": "undir"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 28923,
                            "end": 28927,
                            "loc": {
                              "start": {
                                "line": 756,
                                "column": 78
                              },
                              "end": {
                                "line": 756,
                                "column": 82
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          },
                          "kind": "init"
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "ObjectExpression",
                  "start": 28936,
                  "end": 28962,
                  "loc": {
                    "start": {
                      "line": 757,
                      "column": 7
                    },
                    "end": {
                      "line": 757,
                      "column": 33
                    }
                  },
                  "properties": [
                    {
                      "type": "Property",
                      "start": 28937,
                      "end": 28961,
                      "loc": {
                        "start": {
                          "line": 757,
                          "column": 8
                        },
                        "end": {
                          "line": 757,
                          "column": 32
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 28937,
                        "end": 28954,
                        "loc": {
                          "start": {
                            "line": 757,
                            "column": 8
                          },
                          "end": {
                            "line": 757,
                            "column": 25
                          }
                        },
                        "name": "ignoreConstraints"
                      },
                      "value": {
                        "type": "Literal",
                        "start": 28956,
                        "end": 28961,
                        "loc": {
                          "start": {
                            "line": 757,
                            "column": 27
                          },
                          "end": {
                            "line": 757,
                            "column": 32
                          }
                        },
                        "value": false,
                        "rawValue": false,
                        "raw": "false"
                      },
                      "kind": "init"
                    }
                  ]
                }
              ]
            }
          },
          {
            "type": "VariableDeclaration",
            "start": 28970,
            "end": 29025,
            "loc": {
              "start": {
                "line": 759,
                "column": 4
              },
              "end": {
                "line": 759,
                "column": 59
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 28974,
                "end": 29024,
                "loc": {
                  "start": {
                    "line": 759,
                    "column": 8
                  },
                  "end": {
                    "line": 759,
                    "column": 58
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 28974,
                  "end": 28979,
                  "loc": {
                    "start": {
                      "line": 759,
                      "column": 8
                    },
                    "end": {
                      "line": 759,
                      "column": 13
                    }
                  },
                  "name": "line2"
                },
                "init": {
                  "type": "AwaitExpression",
                  "start": 28982,
                  "end": 29024,
                  "loc": {
                    "start": {
                      "line": 759,
                      "column": 16
                    },
                    "end": {
                      "line": 759,
                      "column": 58
                    }
                  },
                  "all": false,
                  "argument": {
                    "type": "CallExpression",
                    "start": 28988,
                    "end": 29024,
                    "loc": {
                      "start": {
                        "line": 759,
                        "column": 22
                      },
                      "end": {
                        "line": 759,
                        "column": 58
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 28988,
                      "end": 29001,
                      "loc": {
                        "start": {
                          "line": 759,
                          "column": 22
                        },
                        "end": {
                          "line": 759,
                          "column": 35
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 28988,
                        "end": 28992,
                        "loc": {
                          "start": {
                            "line": 759,
                            "column": 22
                          },
                          "end": {
                            "line": 759,
                            "column": 26
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 28993,
                        "end": 29001,
                        "loc": {
                          "start": {
                            "line": 759,
                            "column": 27
                          },
                          "end": {
                            "line": 759,
                            "column": 35
                          }
                        },
                        "name": "drawLine"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "ArrayExpression",
                        "start": 29002,
                        "end": 29012,
                        "loc": {
                          "start": {
                            "line": 759,
                            "column": 36
                          },
                          "end": {
                            "line": 759,
                            "column": 46
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 29003,
                            "end": 29006,
                            "loc": {
                              "start": {
                                "line": 759,
                                "column": 37
                              },
                              "end": {
                                "line": 759,
                                "column": 40
                              }
                            },
                            "value": 125,
                            "rawValue": 125,
                            "raw": "125"
                          },
                          {
                            "type": "UnaryExpression",
                            "start": 29008,
                            "end": 29011,
                            "loc": {
                              "start": {
                                "line": 759,
                                "column": 42
                              },
                              "end": {
                                "line": 759,
                                "column": 45
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "Literal",
                              "start": 29009,
                              "end": 29011,
                              "loc": {
                                "start": {
                                  "line": 759,
                                  "column": 43
                                },
                                "end": {
                                  "line": 759,
                                  "column": 45
                                }
                              },
                              "value": 50,
                              "rawValue": 50,
                              "raw": "50"
                            }
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 29014,
                        "end": 29023,
                        "loc": {
                          "start": {
                            "line": 759,
                            "column": 48
                          },
                          "end": {
                            "line": 759,
                            "column": 57
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 29015,
                            "end": 29018,
                            "loc": {
                              "start": {
                                "line": 759,
                                "column": 49
                              },
                              "end": {
                                "line": 759,
                                "column": 52
                              }
                            },
                            "value": 125,
                            "rawValue": 125,
                            "raw": "125"
                          },
                          {
                            "type": "Literal",
                            "start": 29020,
                            "end": 29022,
                            "loc": {
                              "start": {
                                "line": 759,
                                "column": 54
                              },
                              "end": {
                                "line": 759,
                                "column": 56
                              }
                            },
                            "value": 50,
                            "rawValue": 50,
                            "raw": "50"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 29030,
            "end": 29165,
            "loc": {
              "start": {
                "line": 760,
                "column": 4
              },
              "end": {
                "line": 760,
                "column": 139
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 29030,
              "end": 29164,
              "loc": {
                "start": {
                  "line": 760,
                  "column": 4
                },
                "end": {
                  "line": 760,
                  "column": 138
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 29036,
                "end": 29164,
                "loc": {
                  "start": {
                    "line": 760,
                    "column": 10
                  },
                  "end": {
                    "line": 760,
                    "column": 138
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 29036,
                  "end": 29056,
                  "loc": {
                    "start": {
                      "line": 760,
                      "column": 10
                    },
                    "end": {
                      "line": 760,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 29036,
                    "end": 29040,
                    "loc": {
                      "start": {
                        "line": 760,
                        "column": 10
                      },
                      "end": {
                        "line": 760,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 29041,
                    "end": 29056,
                    "loc": {
                      "start": {
                        "line": 760,
                        "column": 15
                      },
                      "end": {
                        "line": 760,
                        "column": 30
                      }
                    },
                    "name": "dragSketchPoint"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "CallExpression",
                    "start": 29057,
                    "end": 29082,
                    "loc": {
                      "start": {
                        "line": 760,
                        "column": 31
                      },
                      "end": {
                        "line": 760,
                        "column": 56
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 29057,
                      "end": 29075,
                      "loc": {
                        "start": {
                          "line": 760,
                          "column": 31
                        },
                        "end": {
                          "line": 760,
                          "column": 49
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 29057,
                        "end": 29061,
                        "loc": {
                          "start": {
                            "line": 760,
                            "column": 31
                          },
                          "end": {
                            "line": 760,
                            "column": 35
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 29062,
                        "end": 29075,
                        "loc": {
                          "start": {
                            "line": 760,
                            "column": 36
                          },
                          "end": {
                            "line": 760,
                            "column": 49
                          }
                        },
                        "name": "getStartPoint"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 29076,
                        "end": 29081,
                        "loc": {
                          "start": {
                            "line": 760,
                            "column": 50
                          },
                          "end": {
                            "line": 760,
                            "column": 55
                          }
                        },
                        "name": "line1"
                      }
                    ]
                  },
                  {
                    "type": "ArrayExpression",
                    "start": 29084,
                    "end": 29151,
                    "loc": {
                      "start": {
                        "line": 760,
                        "column": 58
                      },
                      "end": {
                        "line": 760,
                        "column": 125
                      }
                    },
                    "elements": [
                      {
                        "type": "ArrayExpression",
                        "start": 29085,
                        "end": 29094,
                        "loc": {
                          "start": {
                            "line": 760,
                            "column": 59
                          },
                          "end": {
                            "line": 760,
                            "column": 68
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 29086,
                            "end": 29088,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 60
                              },
                              "end": {
                                "line": 760,
                                "column": 62
                              }
                            },
                            "value": 50,
                            "rawValue": 50,
                            "raw": "50"
                          },
                          {
                            "type": "Literal",
                            "start": 29090,
                            "end": 29093,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 64
                              },
                              "end": {
                                "line": 760,
                                "column": 67
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 29096,
                        "end": 29105,
                        "loc": {
                          "start": {
                            "line": 760,
                            "column": 70
                          },
                          "end": {
                            "line": 760,
                            "column": 79
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 29097,
                            "end": 29099,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 71
                              },
                              "end": {
                                "line": 760,
                                "column": 73
                              }
                            },
                            "value": 60,
                            "rawValue": 60,
                            "raw": "60"
                          },
                          {
                            "type": "Literal",
                            "start": 29101,
                            "end": 29104,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 75
                              },
                              "end": {
                                "line": 760,
                                "column": 78
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 29107,
                        "end": 29116,
                        "loc": {
                          "start": {
                            "line": 760,
                            "column": 81
                          },
                          "end": {
                            "line": 760,
                            "column": 90
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 29108,
                            "end": 29110,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 82
                              },
                              "end": {
                                "line": 760,
                                "column": 84
                              }
                            },
                            "value": 70,
                            "rawValue": 70,
                            "raw": "70"
                          },
                          {
                            "type": "Literal",
                            "start": 29112,
                            "end": 29115,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 86
                              },
                              "end": {
                                "line": 760,
                                "column": 89
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 29118,
                        "end": 29127,
                        "loc": {
                          "start": {
                            "line": 760,
                            "column": 92
                          },
                          "end": {
                            "line": 760,
                            "column": 101
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 29119,
                            "end": 29121,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 93
                              },
                              "end": {
                                "line": 760,
                                "column": 95
                              }
                            },
                            "value": 80,
                            "rawValue": 80,
                            "raw": "80"
                          },
                          {
                            "type": "Literal",
                            "start": 29123,
                            "end": 29126,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 97
                              },
                              "end": {
                                "line": 760,
                                "column": 100
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 29129,
                        "end": 29138,
                        "loc": {
                          "start": {
                            "line": 760,
                            "column": 103
                          },
                          "end": {
                            "line": 760,
                            "column": 112
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 29130,
                            "end": 29132,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 104
                              },
                              "end": {
                                "line": 760,
                                "column": 106
                              }
                            },
                            "value": 90,
                            "rawValue": 90,
                            "raw": "90"
                          },
                          {
                            "type": "Literal",
                            "start": 29134,
                            "end": 29137,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 108
                              },
                              "end": {
                                "line": 760,
                                "column": 111
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 29140,
                        "end": 29150,
                        "loc": {
                          "start": {
                            "line": 760,
                            "column": 114
                          },
                          "end": {
                            "line": 760,
                            "column": 124
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 29141,
                            "end": 29144,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 115
                              },
                              "end": {
                                "line": 760,
                                "column": 118
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          },
                          {
                            "type": "Literal",
                            "start": 29146,
                            "end": 29149,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 120
                              },
                              "end": {
                                "line": 760,
                                "column": 123
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "Literal",
                    "start": 29153,
                    "end": 29157,
                    "loc": {
                      "start": {
                        "line": 760,
                        "column": 127
                      },
                      "end": {
                        "line": 760,
                        "column": 131
                      }
                    },
                    "value": true,
                    "rawValue": true,
                    "raw": "true"
                  },
                  {
                    "type": "Literal",
                    "start": 29159,
                    "end": 29163,
                    "loc": {
                      "start": {
                        "line": 760,
                        "column": 133
                      },
                      "end": {
                        "line": 760,
                        "column": 137
                      }
                    },
                    "value": true,
                    "rawValue": true,
                    "raw": "true"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 29170,
            "end": 29251,
            "loc": {
              "start": {
                "line": 761,
                "column": 4
              },
              "end": {
                "line": 761,
                "column": 85
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 29170,
              "end": 29250,
              "loc": {
                "start": {
                  "line": 761,
                  "column": 4
                },
                "end": {
                  "line": 761,
                  "column": 84
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 29176,
                "end": 29250,
                "loc": {
                  "start": {
                    "line": 761,
                    "column": 10
                  },
                  "end": {
                    "line": 761,
                    "column": 84
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 29176,
                  "end": 29196,
                  "loc": {
                    "start": {
                      "line": 761,
                      "column": 10
                    },
                    "end": {
                      "line": 761,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 29176,
                    "end": 29180,
                    "loc": {
                      "start": {
                        "line": 761,
                        "column": 10
                      },
                      "end": {
                        "line": 761,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 29181,
                    "end": 29196,
                    "loc": {
                      "start": {
                        "line": 761,
                        "column": 15
                      },
                      "end": {
                        "line": 761,
                        "column": 30
                      }
                    },
                    "name": "dragSketchPoint"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "CallExpression",
                    "start": 29197,
                    "end": 29220,
                    "loc": {
                      "start": {
                        "line": 761,
                        "column": 31
                      },
                      "end": {
                        "line": 761,
                        "column": 54
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 29197,
                      "end": 29213,
                      "loc": {
                        "start": {
                          "line": 761,
                          "column": 31
                        },
                        "end": {
                          "line": 761,
                          "column": 47
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 29197,
                        "end": 29201,
                        "loc": {
                          "start": {
                            "line": 761,
                            "column": 31
                          },
                          "end": {
                            "line": 761,
                            "column": 35
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 29202,
                        "end": 29213,
                        "loc": {
                          "start": {
                            "line": 761,
                            "column": 36
                          },
                          "end": {
                            "line": 761,
                            "column": 47
                          }
                        },
                        "name": "getEndPoint"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 29214,
                        "end": 29219,
                        "loc": {
                          "start": {
                            "line": 761,
                            "column": 48
                          },
                          "end": {
                            "line": 761,
                            "column": 53
                          }
                        },
                        "name": "line2"
                      }
                    ]
                  },
                  {
                    "type": "ArrayExpression",
                    "start": 29222,
                    "end": 29243,
                    "loc": {
                      "start": {
                        "line": 761,
                        "column": 56
                      },
                      "end": {
                        "line": 761,
                        "column": 77
                      }
                    },
                    "elements": [
                      {
                        "type": "ArrayExpression",
                        "start": 29223,
                        "end": 29232,
                        "loc": {
                          "start": {
                            "line": 761,
                            "column": 57
                          },
                          "end": {
                            "line": 761,
                            "column": 66
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 29224,
                            "end": 29227,
                            "loc": {
                              "start": {
                                "line": 761,
                                "column": 58
                              },
                              "end": {
                                "line": 761,
                                "column": 61
                              }
                            },
                            "value": 125,
                            "rawValue": 125,
                            "raw": "125"
                          },
                          {
                            "type": "Literal",
                            "start": 29229,
                            "end": 29231,
                            "loc": {
                              "start": {
                                "line": 761,
                                "column": 63
                              },
                              "end": {
                                "line": 761,
                                "column": 65
                              }
                            },
                            "value": 50,
                            "rawValue": 50,
                            "raw": "50"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 29234,
                        "end": 29242,
                        "loc": {
                          "start": {
                            "line": 761,
                            "column": 68
                          },
                          "end": {
                            "line": 761,
                            "column": 76
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 29235,
                            "end": 29237,
                            "loc": {
                              "start": {
                                "line": 761,
                                "column": 69
                              },
                              "end": {
                                "line": 761,
                                "column": 71
                              }
                            },
                            "value": 50,
                            "rawValue": 50,
                            "raw": "50"
                          },
                          {
                            "type": "Literal",
                            "start": 29239,
                            "end": 29241,
                            "loc": {
                              "start": {
                                "line": 761,
                                "column": 73
                              },
                              "end": {
                                "line": 761,
                                "column": 75
                              }
                            },
                            "value": 50,
                            "rawValue": 50,
                            "raw": "50"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "Literal",
                    "start": 29245,
                    "end": 29249,
                    "loc": {
                      "start": {
                        "line": 761,
                        "column": 79
                      },
                      "end": {
                        "line": 761,
                        "column": 83
                      }
                    },
                    "value": true,
                    "rawValue": true,
                    "raw": "true"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 29257,
            "end": 29469,
            "loc": {
              "start": {
                "line": 763,
                "column": 4
              },
              "end": {
                "line": 767,
                "column": 35
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 29257,
              "end": 29468,
              "loc": {
                "start": {
                  "line": 763,
                  "column": 4
                },
                "end": {
                  "line": 767,
                  "column": 34
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 29257,
                "end": 29274,
                "loc": {
                  "start": {
                    "line": 763,
                    "column": 4
                  },
                  "end": {
                    "line": 763,
                    "column": 21
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 29257,
                  "end": 29270,
                  "loc": {
                    "start": {
                      "line": 763,
                      "column": 4
                    },
                    "end": {
                      "line": 763,
                      "column": 17
                    }
                  },
                  "name": "SketchMatcher"
                },
                "property": {
                  "type": "Identifier",
                  "start": 29271,
                  "end": 29274,
                  "loc": {
                    "start": {
                      "line": 763,
                      "column": 18
                    },
                    "end": {
                      "line": 763,
                      "column": 21
                    }
                  },
                  "name": "run"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 29275,
                  "end": 29281,
                  "loc": {
                    "start": {
                      "line": 763,
                      "column": 22
                    },
                    "end": {
                      "line": 763,
                      "column": 28
                    }
                  },
                  "name": "sketch"
                },
                {
                  "type": "ArrayExpression",
                  "start": 29283,
                  "end": 29439,
                  "loc": {
                    "start": {
                      "line": 763,
                      "column": 30
                    },
                    "end": {
                      "line": 767,
                      "column": 5
                    }
                  },
                  "elements": [
                    {
                      "type": "ObjectExpression",
                      "start": 29293,
                      "end": 29338,
                      "loc": {
                        "start": {
                          "line": 764,
                          "column": 8
                        },
                        "end": {
                          "line": 764,
                          "column": 53
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 29294,
                          "end": 29306,
                          "loc": {
                            "start": {
                              "line": 764,
                              "column": 9
                            },
                            "end": {
                              "line": 764,
                              "column": 21
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29294,
                            "end": 29298,
                            "loc": {
                              "start": {
                                "line": 764,
                                "column": 9
                              },
                              "end": {
                                "line": 764,
                                "column": 13
                              }
                            },
                            "name": "type"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 29300,
                            "end": 29306,
                            "loc": {
                              "start": {
                                "line": 764,
                                "column": 15
                              },
                              "end": {
                                "line": 764,
                                "column": 21
                              }
                            },
                            "value": "line",
                            "rawValue": "line",
                            "raw": "\"line\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 29308,
                          "end": 29337,
                          "loc": {
                            "start": {
                              "line": 764,
                              "column": 23
                            },
                            "end": {
                              "line": 764,
                              "column": 52
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29308,
                            "end": 29312,
                            "loc": {
                              "start": {
                                "line": 764,
                                "column": 23
                              },
                              "end": {
                                "line": 764,
                                "column": 27
                              }
                            },
                            "name": "ends"
                          },
                          "value": {
                            "type": "ArrayExpression",
                            "start": 29314,
                            "end": 29337,
                            "loc": {
                              "start": {
                                "line": 764,
                                "column": 29
                              },
                              "end": {
                                "line": 764,
                                "column": 52
                              }
                            },
                            "elements": [
                              {
                                "type": "ArrayExpression",
                                "start": 29315,
                                "end": 29325,
                                "loc": {
                                  "start": {
                                    "line": 764,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 764,
                                    "column": 40
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 29316,
                                    "end": 29319,
                                    "loc": {
                                      "start": {
                                        "line": 764,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 764,
                                        "column": 34
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 29321,
                                    "end": 29324,
                                    "loc": {
                                      "start": {
                                        "line": 764,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 764,
                                        "column": 39
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 29327,
                                "end": 29336,
                                "loc": {
                                  "start": {
                                    "line": 764,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 764,
                                    "column": 51
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 29328,
                                    "end": 29331,
                                    "loc": {
                                      "start": {
                                        "line": 764,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 764,
                                        "column": 46
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 29333,
                                    "end": 29335,
                                    "loc": {
                                      "start": {
                                        "line": 764,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 764,
                                        "column": 50
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init"
                        }
                      ]
                    },
                    {
                      "type": "ObjectExpression",
                      "start": 29348,
                      "end": 29392,
                      "loc": {
                        "start": {
                          "line": 765,
                          "column": 8
                        },
                        "end": {
                          "line": 765,
                          "column": 52
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 29349,
                          "end": 29361,
                          "loc": {
                            "start": {
                              "line": 765,
                              "column": 9
                            },
                            "end": {
                              "line": 765,
                              "column": 21
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29349,
                            "end": 29353,
                            "loc": {
                              "start": {
                                "line": 765,
                                "column": 9
                              },
                              "end": {
                                "line": 765,
                                "column": 13
                              }
                            },
                            "name": "type"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 29355,
                            "end": 29361,
                            "loc": {
                              "start": {
                                "line": 765,
                                "column": 15
                              },
                              "end": {
                                "line": 765,
                                "column": 21
                              }
                            },
                            "value": "line",
                            "rawValue": "line",
                            "raw": "\"line\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 29363,
                          "end": 29391,
                          "loc": {
                            "start": {
                              "line": 765,
                              "column": 23
                            },
                            "end": {
                              "line": 765,
                              "column": 51
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29363,
                            "end": 29367,
                            "loc": {
                              "start": {
                                "line": 765,
                                "column": 23
                              },
                              "end": {
                                "line": 765,
                                "column": 27
                              }
                            },
                            "name": "ends"
                          },
                          "value": {
                            "type": "ArrayExpression",
                            "start": 29369,
                            "end": 29391,
                            "loc": {
                              "start": {
                                "line": 765,
                                "column": 29
                              },
                              "end": {
                                "line": 765,
                                "column": 51
                              }
                            },
                            "elements": [
                              {
                                "type": "ArrayExpression",
                                "start": 29370,
                                "end": 29380,
                                "loc": {
                                  "start": {
                                    "line": 765,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 765,
                                    "column": 40
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 29371,
                                    "end": 29374,
                                    "loc": {
                                      "start": {
                                        "line": 765,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 765,
                                        "column": 34
                                      }
                                    },
                                    "value": 125,
                                    "rawValue": 125,
                                    "raw": "125"
                                  },
                                  {
                                    "type": "UnaryExpression",
                                    "start": 29376,
                                    "end": 29379,
                                    "loc": {
                                      "start": {
                                        "line": 765,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 765,
                                        "column": 39
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Literal",
                                      "start": 29377,
                                      "end": 29379,
                                      "loc": {
                                        "start": {
                                          "line": 765,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 765,
                                          "column": 39
                                        }
                                      },
                                      "value": 50,
                                      "rawValue": 50,
                                      "raw": "50"
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 29382,
                                "end": 29390,
                                "loc": {
                                  "start": {
                                    "line": 765,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 765,
                                    "column": 50
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 29383,
                                    "end": 29385,
                                    "loc": {
                                      "start": {
                                        "line": 765,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 765,
                                        "column": 45
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 29387,
                                    "end": 29389,
                                    "loc": {
                                      "start": {
                                        "line": 765,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 765,
                                        "column": 49
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init"
                        }
                      ]
                    },
                    {
                      "type": "ObjectExpression",
                      "start": 29402,
                      "end": 29432,
                      "loc": {
                        "start": {
                          "line": 766,
                          "column": 8
                        },
                        "end": {
                          "line": 766,
                          "column": 38
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 29403,
                          "end": 29422,
                          "loc": {
                            "start": {
                              "line": 766,
                              "column": 9
                            },
                            "end": {
                              "line": 766,
                              "column": 28
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29403,
                            "end": 29407,
                            "loc": {
                              "start": {
                                "line": 766,
                                "column": 9
                              },
                              "end": {
                                "line": 766,
                                "column": 13
                              }
                            },
                            "name": "type"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 29409,
                            "end": 29422,
                            "loc": {
                              "start": {
                                "line": 766,
                                "column": 15
                              },
                              "end": {
                                "line": 766,
                                "column": 28
                              }
                            },
                            "value": "verticality",
                            "rawValue": "verticality",
                            "raw": "\"verticality\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 29424,
                          "end": 29431,
                          "loc": {
                            "start": {
                              "line": 766,
                              "column": 30
                            },
                            "end": {
                              "line": 766,
                              "column": 37
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29424,
                            "end": 29428,
                            "loc": {
                              "start": {
                                "line": 766,
                                "column": 30
                              },
                              "end": {
                                "line": 766,
                                "column": 34
                              }
                            },
                            "name": "args"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 29430,
                            "end": 29431,
                            "loc": {
                              "start": {
                                "line": 766,
                                "column": 36
                              },
                              "end": {
                                "line": 766,
                                "column": 37
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "kind": "init"
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "ObjectExpression",
                  "start": 29441,
                  "end": 29467,
                  "loc": {
                    "start": {
                      "line": 767,
                      "column": 7
                    },
                    "end": {
                      "line": 767,
                      "column": 33
                    }
                  },
                  "properties": [
                    {
                      "type": "Property",
                      "start": 29442,
                      "end": 29466,
                      "loc": {
                        "start": {
                          "line": 767,
                          "column": 8
                        },
                        "end": {
                          "line": 767,
                          "column": 32
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 29442,
                        "end": 29459,
                        "loc": {
                          "start": {
                            "line": 767,
                            "column": 8
                          },
                          "end": {
                            "line": 767,
                            "column": 25
                          }
                        },
                        "name": "ignoreConstraints"
                      },
                      "value": {
                        "type": "Literal",
                        "start": 29461,
                        "end": 29466,
                        "loc": {
                          "start": {
                            "line": 767,
                            "column": 27
                          },
                          "end": {
                            "line": 767,
                            "column": 32
                          }
                        },
                        "value": false,
                        "rawValue": false,
                        "raw": "false"
                      },
                      "kind": "init"
                    }
                  ]
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 29474,
            "end": 29714,
            "loc": {
              "start": {
                "line": 768,
                "column": 4
              },
              "end": {
                "line": 772,
                "column": 7
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 29474,
              "end": 29713,
              "loc": {
                "start": {
                  "line": 768,
                  "column": 4
                },
                "end": {
                  "line": 772,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 29474,
                "end": 29491,
                "loc": {
                  "start": {
                    "line": 768,
                    "column": 4
                  },
                  "end": {
                    "line": 768,
                    "column": 21
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 29474,
                  "end": 29487,
                  "loc": {
                    "start": {
                      "line": 768,
                      "column": 4
                    },
                    "end": {
                      "line": 768,
                      "column": 17
                    }
                  },
                  "name": "SketchMatcher"
                },
                "property": {
                  "type": "Identifier",
                  "start": 29488,
                  "end": 29491,
                  "loc": {
                    "start": {
                      "line": 768,
                      "column": 18
                    },
                    "end": {
                      "line": 768,
                      "column": 21
                    }
                  },
                  "name": "run"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 29492,
                  "end": 29498,
                  "loc": {
                    "start": {
                      "line": 768,
                      "column": 22
                    },
                    "end": {
                      "line": 768,
                      "column": 28
                    }
                  },
                  "name": "sketch"
                },
                {
                  "type": "ArrayExpression",
                  "start": 29500,
                  "end": 29712,
                  "loc": {
                    "start": {
                      "line": 768,
                      "column": 30
                    },
                    "end": {
                      "line": 772,
                      "column": 5
                    }
                  },
                  "elements": [
                    {
                      "type": "ObjectExpression",
                      "start": 29510,
                      "end": 29563,
                      "loc": {
                        "start": {
                          "line": 769,
                          "column": 8
                        },
                        "end": {
                          "line": 769,
                          "column": 61
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 29511,
                          "end": 29524,
                          "loc": {
                            "start": {
                              "line": 769,
                              "column": 9
                            },
                            "end": {
                              "line": 769,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29511,
                            "end": 29515,
                            "loc": {
                              "start": {
                                "line": 769,
                                "column": 9
                              },
                              "end": {
                                "line": 769,
                                "column": 13
                              }
                            },
                            "name": "type"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 29517,
                            "end": 29524,
                            "loc": {
                              "start": {
                                "line": 769,
                                "column": 15
                              },
                              "end": {
                                "line": 769,
                                "column": 22
                              }
                            },
                            "value": "point",
                            "rawValue": "point",
                            "raw": "\"point\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 29526,
                          "end": 29546,
                          "loc": {
                            "start": {
                              "line": 769,
                              "column": 24
                            },
                            "end": {
                              "line": 769,
                              "column": 44
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29526,
                            "end": 29534,
                            "loc": {
                              "start": {
                                "line": 769,
                                "column": 24
                              },
                              "end": {
                                "line": 769,
                                "column": 32
                              }
                            },
                            "name": "position"
                          },
                          "value": {
                            "type": "ArrayExpression",
                            "start": 29536,
                            "end": 29546,
                            "loc": {
                              "start": {
                                "line": 769,
                                "column": 34
                              },
                              "end": {
                                "line": 769,
                                "column": 44
                              }
                            },
                            "elements": [
                              {
                                "type": "Literal",
                                "start": 29537,
                                "end": 29540,
                                "loc": {
                                  "start": {
                                    "line": 769,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 769,
                                    "column": 38
                                  }
                                },
                                "value": 100,
                                "rawValue": 100,
                                "raw": "100"
                              },
                              {
                                "type": "Literal",
                                "start": 29542,
                                "end": 29545,
                                "loc": {
                                  "start": {
                                    "line": 769,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 769,
                                    "column": 43
                                  }
                                },
                                "value": 100,
                                "rawValue": 100,
                                "raw": "100"
                              }
                            ]
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 29548,
                          "end": 29562,
                          "loc": {
                            "start": {
                              "line": 769,
                              "column": 46
                            },
                            "end": {
                              "line": 769,
                              "column": 60
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29548,
                            "end": 29556,
                            "loc": {
                              "start": {
                                "line": 769,
                                "column": 46
                              },
                              "end": {
                                "line": 769,
                                "column": 54
                              }
                            },
                            "name": "optional"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 29558,
                            "end": 29562,
                            "loc": {
                              "start": {
                                "line": 769,
                                "column": 56
                              },
                              "end": {
                                "line": 769,
                                "column": 60
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          },
                          "kind": "init"
                        }
                      ]
                    },
                    {
                      "type": "ObjectExpression",
                      "start": 29606,
                      "end": 29651,
                      "loc": {
                        "start": {
                          "line": 770,
                          "column": 8
                        },
                        "end": {
                          "line": 770,
                          "column": 53
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 29607,
                          "end": 29619,
                          "loc": {
                            "start": {
                              "line": 770,
                              "column": 9
                            },
                            "end": {
                              "line": 770,
                              "column": 21
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29607,
                            "end": 29611,
                            "loc": {
                              "start": {
                                "line": 770,
                                "column": 9
                              },
                              "end": {
                                "line": 770,
                                "column": 13
                              }
                            },
                            "name": "type",
                            "leadingComments": null
                          },
                          "value": {
                            "type": "Literal",
                            "start": 29613,
                            "end": 29619,
                            "loc": {
                              "start": {
                                "line": 770,
                                "column": 15
                              },
                              "end": {
                                "line": 770,
                                "column": 21
                              }
                            },
                            "value": "line",
                            "rawValue": "line",
                            "raw": "\"line\""
                          },
                          "kind": "init",
                          "leadingComments": null
                        },
                        {
                          "type": "Property",
                          "start": 29621,
                          "end": 29650,
                          "loc": {
                            "start": {
                              "line": 770,
                              "column": 23
                            },
                            "end": {
                              "line": 770,
                              "column": 52
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29621,
                            "end": 29625,
                            "loc": {
                              "start": {
                                "line": 770,
                                "column": 23
                              },
                              "end": {
                                "line": 770,
                                "column": 27
                              }
                            },
                            "name": "ends"
                          },
                          "value": {
                            "type": "ArrayExpression",
                            "start": 29627,
                            "end": 29650,
                            "loc": {
                              "start": {
                                "line": 770,
                                "column": 29
                              },
                              "end": {
                                "line": 770,
                                "column": 52
                              }
                            },
                            "elements": [
                              {
                                "type": "ArrayExpression",
                                "start": 29628,
                                "end": 29638,
                                "loc": {
                                  "start": {
                                    "line": 770,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 770,
                                    "column": 40
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 29629,
                                    "end": 29632,
                                    "loc": {
                                      "start": {
                                        "line": 770,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 770,
                                        "column": 34
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 29634,
                                    "end": 29637,
                                    "loc": {
                                      "start": {
                                        "line": 770,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 770,
                                        "column": 39
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 29640,
                                "end": 29649,
                                "loc": {
                                  "start": {
                                    "line": 770,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 770,
                                    "column": 51
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 29641,
                                    "end": 29644,
                                    "loc": {
                                      "start": {
                                        "line": 770,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 770,
                                        "column": 46
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 29646,
                                    "end": 29648,
                                    "loc": {
                                      "start": {
                                        "line": 770,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 770,
                                        "column": 50
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init"
                        }
                      ],
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "just for testing matcher =)",
                          "start": 29568,
                          "end": 29597,
                          "loc": {
                            "start": {
                              "line": 769,
                              "column": 66
                            },
                            "end": {
                              "line": 769,
                              "column": 95
                            }
                          },
                          "range": [
                            29568,
                            29597
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ObjectExpression",
                      "start": 29661,
                      "end": 29705,
                      "loc": {
                        "start": {
                          "line": 771,
                          "column": 8
                        },
                        "end": {
                          "line": 771,
                          "column": 52
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 29662,
                          "end": 29674,
                          "loc": {
                            "start": {
                              "line": 771,
                              "column": 9
                            },
                            "end": {
                              "line": 771,
                              "column": 21
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29662,
                            "end": 29666,
                            "loc": {
                              "start": {
                                "line": 771,
                                "column": 9
                              },
                              "end": {
                                "line": 771,
                                "column": 13
                              }
                            },
                            "name": "type"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 29668,
                            "end": 29674,
                            "loc": {
                              "start": {
                                "line": 771,
                                "column": 15
                              },
                              "end": {
                                "line": 771,
                                "column": 21
                              }
                            },
                            "value": "line",
                            "rawValue": "line",
                            "raw": "\"line\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 29676,
                          "end": 29704,
                          "loc": {
                            "start": {
                              "line": 771,
                              "column": 23
                            },
                            "end": {
                              "line": 771,
                              "column": 51
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29676,
                            "end": 29680,
                            "loc": {
                              "start": {
                                "line": 771,
                                "column": 23
                              },
                              "end": {
                                "line": 771,
                                "column": 27
                              }
                            },
                            "name": "ends"
                          },
                          "value": {
                            "type": "ArrayExpression",
                            "start": 29682,
                            "end": 29704,
                            "loc": {
                              "start": {
                                "line": 771,
                                "column": 29
                              },
                              "end": {
                                "line": 771,
                                "column": 51
                              }
                            },
                            "elements": [
                              {
                                "type": "ArrayExpression",
                                "start": 29683,
                                "end": 29693,
                                "loc": {
                                  "start": {
                                    "line": 771,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 771,
                                    "column": 40
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 29684,
                                    "end": 29687,
                                    "loc": {
                                      "start": {
                                        "line": 771,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 771,
                                        "column": 34
                                      }
                                    },
                                    "value": 125,
                                    "rawValue": 125,
                                    "raw": "125"
                                  },
                                  {
                                    "type": "UnaryExpression",
                                    "start": 29689,
                                    "end": 29692,
                                    "loc": {
                                      "start": {
                                        "line": 771,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 771,
                                        "column": 39
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Literal",
                                      "start": 29690,
                                      "end": 29692,
                                      "loc": {
                                        "start": {
                                          "line": 771,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 771,
                                          "column": 39
                                        }
                                      },
                                      "value": 50,
                                      "rawValue": 50,
                                      "raw": "50"
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 29695,
                                "end": 29703,
                                "loc": {
                                  "start": {
                                    "line": 771,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 771,
                                    "column": 50
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 29696,
                                    "end": 29698,
                                    "loc": {
                                      "start": {
                                        "line": 771,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 771,
                                        "column": 45
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 29700,
                                    "end": 29702,
                                    "loc": {
                                      "start": {
                                        "line": 771,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 771,
                                        "column": 49
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 29720,
            "end": 29748,
            "loc": {
              "start": {
                "line": 774,
                "column": 4
              },
              "end": {
                "line": 774,
                "column": 32
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 29720,
              "end": 29747,
              "loc": {
                "start": {
                  "line": 774,
                  "column": 4
                },
                "end": {
                  "line": 774,
                  "column": 31
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 29720,
                "end": 29731,
                "loc": {
                  "start": {
                    "line": 774,
                    "column": 4
                  },
                  "end": {
                    "line": 774,
                    "column": 15
                  }
                },
                "name": "setTestName"
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 29732,
                  "end": 29737,
                  "loc": {
                    "start": {
                      "line": 774,
                      "column": 16
                    },
                    "end": {
                      "line": 774,
                      "column": 21
                    }
                  },
                  "name": "line1"
                },
                {
                  "type": "Literal",
                  "start": 29739,
                  "end": 29746,
                  "loc": {
                    "start": {
                      "line": 774,
                      "column": 23
                    },
                    "end": {
                      "line": 774,
                      "column": 30
                    }
                  },
                  "value": "line1",
                  "rawValue": "line1",
                  "raw": "\"line1\""
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 29753,
            "end": 29781,
            "loc": {
              "start": {
                "line": 775,
                "column": 4
              },
              "end": {
                "line": 775,
                "column": 32
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 29753,
              "end": 29780,
              "loc": {
                "start": {
                  "line": 775,
                  "column": 4
                },
                "end": {
                  "line": 775,
                  "column": 31
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 29753,
                "end": 29764,
                "loc": {
                  "start": {
                    "line": 775,
                    "column": 4
                  },
                  "end": {
                    "line": 775,
                    "column": 15
                  }
                },
                "name": "setTestName"
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 29765,
                  "end": 29770,
                  "loc": {
                    "start": {
                      "line": 775,
                      "column": 16
                    },
                    "end": {
                      "line": 775,
                      "column": 21
                    }
                  },
                  "name": "line2"
                },
                {
                  "type": "Literal",
                  "start": 29772,
                  "end": 29779,
                  "loc": {
                    "start": {
                      "line": 775,
                      "column": 23
                    },
                    "end": {
                      "line": 775,
                      "column": 30
                    }
                  },
                  "value": "line2",
                  "rawValue": "line2",
                  "raw": "\"line2\""
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 29787,
            "end": 29821,
            "loc": {
              "start": {
                "line": 777,
                "column": 4
              },
              "end": {
                "line": 777,
                "column": 38
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 29787,
              "end": 29820,
              "loc": {
                "start": {
                  "line": 777,
                  "column": 4
                },
                "end": {
                  "line": 777,
                  "column": 37
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 29793,
                "end": 29820,
                "loc": {
                  "start": {
                    "line": 777,
                    "column": 10
                  },
                  "end": {
                    "line": 777,
                    "column": 37
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 29793,
                  "end": 29808,
                  "loc": {
                    "start": {
                      "line": 777,
                      "column": 10
                    },
                    "end": {
                      "line": 777,
                      "column": 25
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 29793,
                    "end": 29797,
                    "loc": {
                      "start": {
                        "line": 777,
                        "column": 10
                      },
                      "end": {
                        "line": 777,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 29798,
                    "end": 29808,
                    "loc": {
                      "start": {
                        "line": 777,
                        "column": 15
                      },
                      "end": {
                        "line": 777,
                        "column": 25
                      }
                    },
                    "name": "chooseTool"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 29809,
                    "end": 29819,
                    "loc": {
                      "start": {
                        "line": 777,
                        "column": 26
                      },
                      "end": {
                        "line": 777,
                        "column": 36
                      }
                    },
                    "value": "fixation",
                    "rawValue": "fixation",
                    "raw": "'fixation'"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 29826,
            "end": 29874,
            "loc": {
              "start": {
                "line": 778,
                "column": 4
              },
              "end": {
                "line": 778,
                "column": 52
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 29826,
              "end": 29873,
              "loc": {
                "start": {
                  "line": 778,
                  "column": 4
                },
                "end": {
                  "line": 778,
                  "column": 51
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 29832,
                "end": 29873,
                "loc": {
                  "start": {
                    "line": 778,
                    "column": 10
                  },
                  "end": {
                    "line": 778,
                    "column": 51
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 29832,
                  "end": 29848,
                  "loc": {
                    "start": {
                      "line": 778,
                      "column": 10
                    },
                    "end": {
                      "line": 778,
                      "column": 26
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 29832,
                    "end": 29836,
                    "loc": {
                      "start": {
                        "line": 778,
                        "column": 10
                      },
                      "end": {
                        "line": 778,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 29837,
                    "end": 29848,
                    "loc": {
                      "start": {
                        "line": 778,
                        "column": 15
                      },
                      "end": {
                        "line": 778,
                        "column": 26
                      }
                    },
                    "name": "clickObject"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "CallExpression",
                    "start": 29849,
                    "end": 29872,
                    "loc": {
                      "start": {
                        "line": 778,
                        "column": 27
                      },
                      "end": {
                        "line": 778,
                        "column": 50
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 29849,
                      "end": 29865,
                      "loc": {
                        "start": {
                          "line": 778,
                          "column": 27
                        },
                        "end": {
                          "line": 778,
                          "column": 43
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 29849,
                        "end": 29853,
                        "loc": {
                          "start": {
                            "line": 778,
                            "column": 27
                          },
                          "end": {
                            "line": 778,
                            "column": 31
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 29854,
                        "end": 29865,
                        "loc": {
                          "start": {
                            "line": 778,
                            "column": 32
                          },
                          "end": {
                            "line": 778,
                            "column": 43
                          }
                        },
                        "name": "getEndPoint"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 29866,
                        "end": 29871,
                        "loc": {
                          "start": {
                            "line": 778,
                            "column": 44
                          },
                          "end": {
                            "line": 778,
                            "column": 49
                          }
                        },
                        "name": "line2"
                      }
                    ]
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 29880,
            "end": 29910,
            "loc": {
              "start": {
                "line": 780,
                "column": 4
              },
              "end": {
                "line": 780,
                "column": 34
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 29880,
              "end": 29909,
              "loc": {
                "start": {
                  "line": 780,
                  "column": 4
                },
                "end": {
                  "line": 780,
                  "column": 33
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 29886,
                "end": 29909,
                "loc": {
                  "start": {
                    "line": 780,
                    "column": 10
                  },
                  "end": {
                    "line": 780,
                    "column": 33
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 29886,
                  "end": 29907,
                  "loc": {
                    "start": {
                      "line": 780,
                      "column": 10
                    },
                    "end": {
                      "line": 780,
                      "column": 31
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 29886,
                    "end": 29890,
                    "loc": {
                      "start": {
                        "line": 780,
                        "column": 10
                      },
                      "end": {
                        "line": 780,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 29891,
                    "end": 29907,
                    "loc": {
                      "start": {
                        "line": 780,
                        "column": 15
                      },
                      "end": {
                        "line": 780,
                        "column": 31
                      }
                    },
                    "name": "solveConstraints"
                  },
                  "computed": false
                },
                "arguments": []
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 29916,
            "end": 30276,
            "loc": {
              "start": {
                "line": 782,
                "column": 4
              },
              "end": {
                "line": 788,
                "column": 35
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 29916,
              "end": 30275,
              "loc": {
                "start": {
                  "line": 782,
                  "column": 4
                },
                "end": {
                  "line": 788,
                  "column": 34
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 29916,
                "end": 29933,
                "loc": {
                  "start": {
                    "line": 782,
                    "column": 4
                  },
                  "end": {
                    "line": 782,
                    "column": 21
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 29916,
                  "end": 29929,
                  "loc": {
                    "start": {
                      "line": 782,
                      "column": 4
                    },
                    "end": {
                      "line": 782,
                      "column": 17
                    }
                  },
                  "name": "SketchMatcher"
                },
                "property": {
                  "type": "Identifier",
                  "start": 29930,
                  "end": 29933,
                  "loc": {
                    "start": {
                      "line": 782,
                      "column": 18
                    },
                    "end": {
                      "line": 782,
                      "column": 21
                    }
                  },
                  "name": "run"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 29934,
                  "end": 29940,
                  "loc": {
                    "start": {
                      "line": 782,
                      "column": 22
                    },
                    "end": {
                      "line": 782,
                      "column": 28
                    }
                  },
                  "name": "sketch"
                },
                {
                  "type": "ArrayExpression",
                  "start": 29942,
                  "end": 30246,
                  "loc": {
                    "start": {
                      "line": 782,
                      "column": 30
                    },
                    "end": {
                      "line": 788,
                      "column": 5
                    }
                  },
                  "elements": [
                    {
                      "type": "ObjectExpression",
                      "start": 29952,
                      "end": 30012,
                      "loc": {
                        "start": {
                          "line": 783,
                          "column": 8
                        },
                        "end": {
                          "line": 783,
                          "column": 68
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 29953,
                          "end": 29966,
                          "loc": {
                            "start": {
                              "line": 783,
                              "column": 9
                            },
                            "end": {
                              "line": 783,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29953,
                            "end": 29957,
                            "loc": {
                              "start": {
                                "line": 783,
                                "column": 9
                              },
                              "end": {
                                "line": 783,
                                "column": 13
                              }
                            },
                            "name": "name"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 29959,
                            "end": 29966,
                            "loc": {
                              "start": {
                                "line": 783,
                                "column": 15
                              },
                              "end": {
                                "line": 783,
                                "column": 22
                              }
                            },
                            "value": "line1",
                            "rawValue": "line1",
                            "raw": "\"line1\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 29968,
                          "end": 29980,
                          "loc": {
                            "start": {
                              "line": 783,
                              "column": 24
                            },
                            "end": {
                              "line": 783,
                              "column": 36
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29968,
                            "end": 29972,
                            "loc": {
                              "start": {
                                "line": 783,
                                "column": 24
                              },
                              "end": {
                                "line": 783,
                                "column": 28
                              }
                            },
                            "name": "type"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 29974,
                            "end": 29980,
                            "loc": {
                              "start": {
                                "line": 783,
                                "column": 30
                              },
                              "end": {
                                "line": 783,
                                "column": 36
                              }
                            },
                            "value": "line",
                            "rawValue": "line",
                            "raw": "\"line\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 29982,
                          "end": 30011,
                          "loc": {
                            "start": {
                              "line": 783,
                              "column": 38
                            },
                            "end": {
                              "line": 783,
                              "column": 67
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 29982,
                            "end": 29986,
                            "loc": {
                              "start": {
                                "line": 783,
                                "column": 38
                              },
                              "end": {
                                "line": 783,
                                "column": 42
                              }
                            },
                            "name": "ends"
                          },
                          "value": {
                            "type": "ArrayExpression",
                            "start": 29988,
                            "end": 30011,
                            "loc": {
                              "start": {
                                "line": 783,
                                "column": 44
                              },
                              "end": {
                                "line": 783,
                                "column": 67
                              }
                            },
                            "elements": [
                              {
                                "type": "ArrayExpression",
                                "start": 29989,
                                "end": 29999,
                                "loc": {
                                  "start": {
                                    "line": 783,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 783,
                                    "column": 55
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 29990,
                                    "end": 29993,
                                    "loc": {
                                      "start": {
                                        "line": 783,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 783,
                                        "column": 49
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 29995,
                                    "end": 29998,
                                    "loc": {
                                      "start": {
                                        "line": 783,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 783,
                                        "column": 54
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 30001,
                                "end": 30010,
                                "loc": {
                                  "start": {
                                    "line": 783,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 783,
                                    "column": 66
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 30002,
                                    "end": 30005,
                                    "loc": {
                                      "start": {
                                        "line": 783,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 783,
                                        "column": 61
                                      }
                                    },
                                    "value": 100,
                                    "rawValue": 100,
                                    "raw": "100"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 30007,
                                    "end": 30009,
                                    "loc": {
                                      "start": {
                                        "line": 783,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 783,
                                        "column": 65
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init"
                        }
                      ]
                    },
                    {
                      "type": "ObjectExpression",
                      "start": 30022,
                      "end": 30080,
                      "loc": {
                        "start": {
                          "line": 784,
                          "column": 8
                        },
                        "end": {
                          "line": 784,
                          "column": 66
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 30023,
                          "end": 30036,
                          "loc": {
                            "start": {
                              "line": 784,
                              "column": 9
                            },
                            "end": {
                              "line": 784,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 30023,
                            "end": 30027,
                            "loc": {
                              "start": {
                                "line": 784,
                                "column": 9
                              },
                              "end": {
                                "line": 784,
                                "column": 13
                              }
                            },
                            "name": "name"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 30029,
                            "end": 30036,
                            "loc": {
                              "start": {
                                "line": 784,
                                "column": 15
                              },
                              "end": {
                                "line": 784,
                                "column": 22
                              }
                            },
                            "value": "line2",
                            "rawValue": "line2",
                            "raw": "\"line2\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 30038,
                          "end": 30050,
                          "loc": {
                            "start": {
                              "line": 784,
                              "column": 24
                            },
                            "end": {
                              "line": 784,
                              "column": 36
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 30038,
                            "end": 30042,
                            "loc": {
                              "start": {
                                "line": 784,
                                "column": 24
                              },
                              "end": {
                                "line": 784,
                                "column": 28
                              }
                            },
                            "name": "type"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 30044,
                            "end": 30050,
                            "loc": {
                              "start": {
                                "line": 784,
                                "column": 30
                              },
                              "end": {
                                "line": 784,
                                "column": 36
                              }
                            },
                            "value": "line",
                            "rawValue": "line",
                            "raw": "\"line\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 30052,
                          "end": 30079,
                          "loc": {
                            "start": {
                              "line": 784,
                              "column": 38
                            },
                            "end": {
                              "line": 784,
                              "column": 65
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 30052,
                            "end": 30056,
                            "loc": {
                              "start": {
                                "line": 784,
                                "column": 38
                              },
                              "end": {
                                "line": 784,
                                "column": 42
                              }
                            },
                            "name": "ends"
                          },
                          "value": {
                            "type": "ArrayExpression",
                            "start": 30058,
                            "end": 30079,
                            "loc": {
                              "start": {
                                "line": 784,
                                "column": 44
                              },
                              "end": {
                                "line": 784,
                                "column": 65
                              }
                            },
                            "elements": [
                              {
                                "type": "ArrayExpression",
                                "start": 30059,
                                "end": 30068,
                                "loc": {
                                  "start": {
                                    "line": 784,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 784,
                                    "column": 54
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 30060,
                                    "end": 30062,
                                    "loc": {
                                      "start": {
                                        "line": 784,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 784,
                                        "column": 48
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  },
                                  {
                                    "type": "UnaryExpression",
                                    "start": 30064,
                                    "end": 30067,
                                    "loc": {
                                      "start": {
                                        "line": 784,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 784,
                                        "column": 53
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Literal",
                                      "start": 30065,
                                      "end": 30067,
                                      "loc": {
                                        "start": {
                                          "line": 784,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 784,
                                          "column": 53
                                        }
                                      },
                                      "value": 75,
                                      "rawValue": 75,
                                      "raw": "75"
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 30070,
                                "end": 30078,
                                "loc": {
                                  "start": {
                                    "line": 784,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 784,
                                    "column": 64
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 30071,
                                    "end": 30073,
                                    "loc": {
                                      "start": {
                                        "line": 784,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 784,
                                        "column": 59
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 30075,
                                    "end": 30077,
                                    "loc": {
                                      "start": {
                                        "line": 784,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 784,
                                        "column": 63
                                      }
                                    },
                                    "value": 50,
                                    "rawValue": 50,
                                    "raw": "50"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init"
                        }
                      ]
                    },
                    {
                      "type": "ObjectExpression",
                      "start": 30090,
                      "end": 30126,
                      "loc": {
                        "start": {
                          "line": 785,
                          "column": 8
                        },
                        "end": {
                          "line": 785,
                          "column": 44
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 30091,
                          "end": 30110,
                          "loc": {
                            "start": {
                              "line": 785,
                              "column": 9
                            },
                            "end": {
                              "line": 785,
                              "column": 28
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 30091,
                            "end": 30095,
                            "loc": {
                              "start": {
                                "line": 785,
                                "column": 9
                              },
                              "end": {
                                "line": 785,
                                "column": 13
                              }
                            },
                            "name": "type"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 30097,
                            "end": 30110,
                            "loc": {
                              "start": {
                                "line": 785,
                                "column": 15
                              },
                              "end": {
                                "line": 785,
                                "column": 28
                              }
                            },
                            "value": "verticality",
                            "rawValue": "verticality",
                            "raw": "\"verticality\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 30112,
                          "end": 30125,
                          "loc": {
                            "start": {
                              "line": 785,
                              "column": 30
                            },
                            "end": {
                              "line": 785,
                              "column": 43
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 30112,
                            "end": 30116,
                            "loc": {
                              "start": {
                                "line": 785,
                                "column": 30
                              },
                              "end": {
                                "line": 785,
                                "column": 34
                              }
                            },
                            "name": "args"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 30118,
                            "end": 30125,
                            "loc": {
                              "start": {
                                "line": 785,
                                "column": 36
                              },
                              "end": {
                                "line": 785,
                                "column": 43
                              }
                            },
                            "value": "line2",
                            "rawValue": "line2",
                            "raw": "\"line2\""
                          },
                          "kind": "init"
                        }
                      ]
                    },
                    {
                      "type": "ObjectExpression",
                      "start": 30136,
                      "end": 30171,
                      "loc": {
                        "start": {
                          "line": 786,
                          "column": 8
                        },
                        "end": {
                          "line": 786,
                          "column": 43
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 30137,
                          "end": 30153,
                          "loc": {
                            "start": {
                              "line": 786,
                              "column": 9
                            },
                            "end": {
                              "line": 786,
                              "column": 25
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 30137,
                            "end": 30141,
                            "loc": {
                              "start": {
                                "line": 786,
                                "column": 9
                              },
                              "end": {
                                "line": 786,
                                "column": 13
                              }
                            },
                            "name": "type"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 30143,
                            "end": 30153,
                            "loc": {
                              "start": {
                                "line": 786,
                                "column": 15
                              },
                              "end": {
                                "line": 786,
                                "column": 25
                              }
                            },
                            "value": "fixation",
                            "rawValue": "fixation",
                            "raw": "\"fixation\""
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 30155,
                          "end": 30170,
                          "loc": {
                            "start": {
                              "line": 786,
                              "column": 27
                            },
                            "end": {
                              "line": 786,
                              "column": 42
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 30155,
                            "end": 30159,
                            "loc": {
                              "start": {
                                "line": 786,
                                "column": 27
                              },
                              "end": {
                                "line": 786,
                                "column": 31
                              }
                            },
                            "name": "args"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 30161,
                            "end": 30170,
                            "loc": {
                              "start": {
                                "line": 786,
                                "column": 33
                              },
                              "end": {
                                "line": 786,
                                "column": 42
                              }
                            },
                            "value": "line2.e",
                            "rawValue": "line2.e",
                            "raw": "\"line2.e\""
                          },
                          "kind": "init"
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "ObjectExpression",
                  "start": 30248,
                  "end": 30274,
                  "loc": {
                    "start": {
                      "line": 788,
                      "column": 7
                    },
                    "end": {
                      "line": 788,
                      "column": 33
                    }
                  },
                  "properties": [
                    {
                      "type": "Property",
                      "start": 30249,
                      "end": 30273,
                      "loc": {
                        "start": {
                          "line": 788,
                          "column": 8
                        },
                        "end": {
                          "line": 788,
                          "column": 32
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 30249,
                        "end": 30266,
                        "loc": {
                          "start": {
                            "line": 788,
                            "column": 8
                          },
                          "end": {
                            "line": 788,
                            "column": 25
                          }
                        },
                        "name": "ignoreConstraints",
                        "leadingComments": null
                      },
                      "value": {
                        "type": "Literal",
                        "start": 30268,
                        "end": 30273,
                        "loc": {
                          "start": {
                            "line": 788,
                            "column": 27
                          },
                          "end": {
                            "line": 788,
                            "column": 32
                          }
                        },
                        "value": false,
                        "rawValue": false,
                        "raw": "false"
                      },
                      "kind": "init",
                      "leadingComments": null
                    }
                  ],
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": "TODO: solveConstraints finishes before js objects are updated",
                      "start": 30177,
                      "end": 30240,
                      "loc": {
                        "start": {
                          "line": 787,
                          "column": 4
                        },
                        "end": {
                          "line": 787,
                          "column": 67
                        }
                      },
                      "range": [
                        30177,
                        30240
                      ]
                    }
                  ]
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 30282,
            "end": 30355,
            "loc": {
              "start": {
                "line": 790,
                "column": 4
              },
              "end": {
                "line": 790,
                "column": 77
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 30282,
              "end": 30354,
              "loc": {
                "start": {
                  "line": 790,
                  "column": 4
                },
                "end": {
                  "line": 790,
                  "column": 76
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 30288,
                "end": 30354,
                "loc": {
                  "start": {
                    "line": 790,
                    "column": 10
                  },
                  "end": {
                    "line": 790,
                    "column": 76
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 30288,
                  "end": 30308,
                  "loc": {
                    "start": {
                      "line": 790,
                      "column": 10
                    },
                    "end": {
                      "line": 790,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 30288,
                    "end": 30292,
                    "loc": {
                      "start": {
                        "line": 790,
                        "column": 10
                      },
                      "end": {
                        "line": 790,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 30293,
                    "end": 30308,
                    "loc": {
                      "start": {
                        "line": 790,
                        "column": 15
                      },
                      "end": {
                        "line": 790,
                        "column": 30
                      }
                    },
                    "name": "dragSketchPoint"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "CallExpression",
                    "start": 30309,
                    "end": 30332,
                    "loc": {
                      "start": {
                        "line": 790,
                        "column": 31
                      },
                      "end": {
                        "line": 790,
                        "column": 54
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 30309,
                      "end": 30325,
                      "loc": {
                        "start": {
                          "line": 790,
                          "column": 31
                        },
                        "end": {
                          "line": 790,
                          "column": 47
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 30309,
                        "end": 30313,
                        "loc": {
                          "start": {
                            "line": 790,
                            "column": 31
                          },
                          "end": {
                            "line": 790,
                            "column": 35
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 30314,
                        "end": 30325,
                        "loc": {
                          "start": {
                            "line": 790,
                            "column": 36
                          },
                          "end": {
                            "line": 790,
                            "column": 47
                          }
                        },
                        "name": "getEndPoint"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 30326,
                        "end": 30331,
                        "loc": {
                          "start": {
                            "line": 790,
                            "column": 48
                          },
                          "end": {
                            "line": 790,
                            "column": 53
                          }
                        },
                        "name": "line2"
                      }
                    ]
                  },
                  {
                    "type": "ArrayExpression",
                    "start": 30334,
                    "end": 30346,
                    "loc": {
                      "start": {
                        "line": 790,
                        "column": 56
                      },
                      "end": {
                        "line": 790,
                        "column": 68
                      }
                    },
                    "elements": [
                      {
                        "type": "UnaryExpression",
                        "start": 30335,
                        "end": 30339,
                        "loc": {
                          "start": {
                            "line": 790,
                            "column": 57
                          },
                          "end": {
                            "line": 790,
                            "column": 61
                          }
                        },
                        "operator": "-",
                        "prefix": true,
                        "argument": {
                          "type": "Literal",
                          "start": 30336,
                          "end": 30339,
                          "loc": {
                            "start": {
                              "line": 790,
                              "column": 58
                            },
                            "end": {
                              "line": 790,
                              "column": 61
                            }
                          },
                          "value": 100,
                          "rawValue": 100,
                          "raw": "100"
                        }
                      },
                      {
                        "type": "UnaryExpression",
                        "start": 30341,
                        "end": 30345,
                        "loc": {
                          "start": {
                            "line": 790,
                            "column": 63
                          },
                          "end": {
                            "line": 790,
                            "column": 67
                          }
                        },
                        "operator": "-",
                        "prefix": true,
                        "argument": {
                          "type": "Literal",
                          "start": 30342,
                          "end": 30345,
                          "loc": {
                            "start": {
                              "line": 790,
                              "column": 64
                            },
                            "end": {
                              "line": 790,
                              "column": 67
                            }
                          },
                          "value": 100,
                          "rawValue": 100,
                          "raw": "100"
                        }
                      }
                    ]
                  },
                  {
                    "type": "Literal",
                    "start": 30348,
                    "end": 30353,
                    "loc": {
                      "start": {
                        "line": 790,
                        "column": 70
                      },
                      "end": {
                        "line": 790,
                        "column": 75
                      }
                    },
                    "value": false,
                    "rawValue": false,
                    "raw": "false"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 30361,
            "end": 30408,
            "loc": {
              "start": {
                "line": 792,
                "column": 4
              },
              "end": {
                "line": 792,
                "column": 51
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 30361,
              "end": 30407,
              "loc": {
                "start": {
                  "line": 792,
                  "column": 4
                },
                "end": {
                  "line": 792,
                  "column": 50
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 30367,
                "end": 30407,
                "loc": {
                  "start": {
                    "line": 792,
                    "column": 10
                  },
                  "end": {
                    "line": 792,
                    "column": 50
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 30367,
                  "end": 30386,
                  "loc": {
                    "start": {
                      "line": 792,
                      "column": 10
                    },
                    "end": {
                      "line": 792,
                      "column": 29
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 30367,
                    "end": 30371,
                    "loc": {
                      "start": {
                        "line": 792,
                        "column": 10
                      },
                      "end": {
                        "line": 792,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 30372,
                    "end": 30386,
                    "loc": {
                      "start": {
                        "line": 792,
                        "column": 15
                      },
                      "end": {
                        "line": 792,
                        "column": 29
                      }
                    },
                    "name": "dragSketchLine"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 30387,
                    "end": 30392,
                    "loc": {
                      "start": {
                        "line": 792,
                        "column": 30
                      },
                      "end": {
                        "line": 792,
                        "column": 35
                      }
                    },
                    "name": "line2"
                  },
                  {
                    "type": "ArrayExpression",
                    "start": 30394,
                    "end": 30406,
                    "loc": {
                      "start": {
                        "line": 792,
                        "column": 37
                      },
                      "end": {
                        "line": 792,
                        "column": 49
                      }
                    },
                    "elements": [
                      {
                        "type": "UnaryExpression",
                        "start": 30395,
                        "end": 30399,
                        "loc": {
                          "start": {
                            "line": 792,
                            "column": 38
                          },
                          "end": {
                            "line": 792,
                            "column": 42
                          }
                        },
                        "operator": "-",
                        "prefix": true,
                        "argument": {
                          "type": "Literal",
                          "start": 30396,
                          "end": 30399,
                          "loc": {
                            "start": {
                              "line": 792,
                              "column": 39
                            },
                            "end": {
                              "line": 792,
                              "column": 42
                            }
                          },
                          "value": 100,
                          "rawValue": 100,
                          "raw": "100"
                        }
                      },
                      {
                        "type": "UnaryExpression",
                        "start": 30401,
                        "end": 30405,
                        "loc": {
                          "start": {
                            "line": 792,
                            "column": 44
                          },
                          "end": {
                            "line": 792,
                            "column": 48
                          }
                        },
                        "operator": "-",
                        "prefix": true,
                        "argument": {
                          "type": "Literal",
                          "start": 30402,
                          "end": 30405,
                          "loc": {
                            "start": {
                              "line": 792,
                              "column": 45
                            },
                            "end": {
                              "line": 792,
                              "column": 48
                            }
                          },
                          "value": 100,
                          "rawValue": 100,
                          "raw": "100"
                        }
                      }
                    ]
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 30414,
            "end": 30448,
            "loc": {
              "start": {
                "line": 794,
                "column": 4
              },
              "end": {
                "line": 794,
                "column": 38
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 30414,
              "end": 30447,
              "loc": {
                "start": {
                  "line": 794,
                  "column": 4
                },
                "end": {
                  "line": 794,
                  "column": 37
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 30420,
                "end": 30447,
                "loc": {
                  "start": {
                    "line": 794,
                    "column": 10
                  },
                  "end": {
                    "line": 794,
                    "column": 37
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 30420,
                  "end": 30435,
                  "loc": {
                    "start": {
                      "line": 794,
                      "column": 10
                    },
                    "end": {
                      "line": 794,
                      "column": 25
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 30420,
                    "end": 30424,
                    "loc": {
                      "start": {
                        "line": 794,
                        "column": 10
                      },
                      "end": {
                        "line": 794,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 30425,
                    "end": 30435,
                    "loc": {
                      "start": {
                        "line": 794,
                        "column": 15
                      },
                      "end": {
                        "line": 794,
                        "column": 25
                      }
                    },
                    "name": "chooseTool"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 30436,
                    "end": 30446,
                    "loc": {
                      "start": {
                        "line": 794,
                        "column": 26
                      },
                      "end": {
                        "line": 794,
                        "column": 36
                      }
                    },
                    "value": "polyline",
                    "rawValue": "polyline",
                    "raw": "'polyline'"
                  }
                ]
              }
            }
          },
          {
            "type": "VariableDeclaration",
            "start": 30453,
            "end": 30638,
            "loc": {
              "start": {
                "line": 795,
                "column": 4
              },
              "end": {
                "line": 798,
                "column": 36
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 30457,
                "end": 30637,
                "loc": {
                  "start": {
                    "line": 795,
                    "column": 8
                  },
                  "end": {
                    "line": 798,
                    "column": 35
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 30457,
                  "end": 30461,
                  "loc": {
                    "start": {
                      "line": 795,
                      "column": 8
                    },
                    "end": {
                      "line": 795,
                      "column": 12
                    }
                  },
                  "name": "leg1"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 30464,
                  "end": 30637,
                  "loc": {
                    "start": {
                      "line": 795,
                      "column": 15
                    },
                    "end": {
                      "line": 798,
                      "column": 35
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 30464,
                    "end": 30635,
                    "loc": {
                      "start": {
                        "line": 795,
                        "column": 15
                      },
                      "end": {
                        "line": 798,
                        "column": 33
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 30464,
                      "end": 30628,
                      "loc": {
                        "start": {
                          "line": 795,
                          "column": 15
                        },
                        "end": {
                          "line": 798,
                          "column": 26
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 30464,
                        "end": 30616,
                        "loc": {
                          "start": {
                            "line": 795,
                            "column": 15
                          },
                          "end": {
                            "line": 798,
                            "column": 14
                          }
                        },
                        "object": {
                          "type": "AwaitExpression",
                          "start": 30465,
                          "end": 30608,
                          "loc": {
                            "start": {
                              "line": 795,
                              "column": 16
                            },
                            "end": {
                              "line": 798,
                              "column": 6
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 30471,
                            "end": 30608,
                            "loc": {
                              "start": {
                                "line": 795,
                                "column": 22
                              },
                              "end": {
                                "line": 798,
                                "column": 6
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 30471,
                              "end": 30486,
                              "loc": {
                                "start": {
                                  "line": 795,
                                  "column": 22
                                },
                                "end": {
                                  "line": 795,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 30471,
                                "end": 30475,
                                "loc": {
                                  "start": {
                                    "line": 795,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 795,
                                    "column": 26
                                  }
                                },
                                "name": "auto"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 30476,
                                "end": 30486,
                                "loc": {
                                  "start": {
                                    "line": 795,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 795,
                                    "column": 37
                                  }
                                },
                                "name": "trackAdded"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 30487,
                                "end": 30607,
                                "loc": {
                                  "start": {
                                    "line": 795,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 798,
                                    "column": 5
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": true,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 30499,
                                  "end": 30607,
                                  "loc": {
                                    "start": {
                                      "line": 795,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 798,
                                      "column": 5
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 30509,
                                      "end": 30550,
                                      "loc": {
                                        "start": {
                                          "line": 796,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 796,
                                          "column": 49
                                        }
                                      },
                                      "expression": {
                                        "type": "AwaitExpression",
                                        "start": 30509,
                                        "end": 30549,
                                        "loc": {
                                          "start": {
                                            "line": 796,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 796,
                                            "column": 48
                                          }
                                        },
                                        "all": false,
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 30515,
                                          "end": 30549,
                                          "loc": {
                                            "start": {
                                              "line": 796,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 796,
                                              "column": 48
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 30515,
                                            "end": 30532,
                                            "loc": {
                                              "start": {
                                                "line": 796,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 796,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 30515,
                                              "end": 30519,
                                              "loc": {
                                                "start": {
                                                  "line": 796,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 796,
                                                  "column": 18
                                                }
                                              },
                                              "name": "auto"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 30520,
                                              "end": 30532,
                                              "loc": {
                                                "start": {
                                                  "line": 796,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 796,
                                                  "column": 31
                                                }
                                              },
                                              "name": "mouseClickAt"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "ObjectExpression",
                                              "start": 30533,
                                              "end": 30548,
                                              "loc": {
                                                "start": {
                                                  "line": 796,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 796,
                                                  "column": 47
                                                }
                                              },
                                              "properties": [
                                                {
                                                  "type": "Property",
                                                  "start": 30534,
                                                  "end": 30541,
                                                  "loc": {
                                                    "start": {
                                                      "line": 796,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 796,
                                                      "column": 40
                                                    }
                                                  },
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "key": {
                                                    "type": "Identifier",
                                                    "start": 30534,
                                                    "end": 30535,
                                                    "loc": {
                                                      "start": {
                                                        "line": 796,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 796,
                                                        "column": 34
                                                      }
                                                    },
                                                    "name": "x"
                                                  },
                                                  "value": {
                                                    "type": "UnaryExpression",
                                                    "start": 30537,
                                                    "end": 30541,
                                                    "loc": {
                                                      "start": {
                                                        "line": 796,
                                                        "column": 36
                                                      },
                                                      "end": {
                                                        "line": 796,
                                                        "column": 40
                                                      }
                                                    },
                                                    "operator": "-",
                                                    "prefix": true,
                                                    "argument": {
                                                      "type": "Literal",
                                                      "start": 30538,
                                                      "end": 30541,
                                                      "loc": {
                                                        "start": {
                                                          "line": 796,
                                                          "column": 37
                                                        },
                                                        "end": {
                                                          "line": 796,
                                                          "column": 40
                                                        }
                                                      },
                                                      "value": 100,
                                                      "rawValue": 100,
                                                      "raw": "100"
                                                    }
                                                  },
                                                  "kind": "init"
                                                },
                                                {
                                                  "type": "Property",
                                                  "start": 30543,
                                                  "end": 30547,
                                                  "loc": {
                                                    "start": {
                                                      "line": 796,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 796,
                                                      "column": 46
                                                    }
                                                  },
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "key": {
                                                    "type": "Identifier",
                                                    "start": 30543,
                                                    "end": 30544,
                                                    "loc": {
                                                      "start": {
                                                        "line": 796,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 796,
                                                        "column": 43
                                                      }
                                                    },
                                                    "name": "y"
                                                  },
                                                  "value": {
                                                    "type": "Literal",
                                                    "start": 30546,
                                                    "end": 30547,
                                                    "loc": {
                                                      "start": {
                                                        "line": 796,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 796,
                                                        "column": 46
                                                      }
                                                    },
                                                    "value": 0,
                                                    "rawValue": 0,
                                                    "raw": "0"
                                                  },
                                                  "kind": "init"
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 30559,
                                      "end": 30601,
                                      "loc": {
                                        "start": {
                                          "line": 797,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 797,
                                          "column": 50
                                        }
                                      },
                                      "expression": {
                                        "type": "AwaitExpression",
                                        "start": 30559,
                                        "end": 30600,
                                        "loc": {
                                          "start": {
                                            "line": 797,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 797,
                                            "column": 49
                                          }
                                        },
                                        "all": false,
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 30565,
                                          "end": 30600,
                                          "loc": {
                                            "start": {
                                              "line": 797,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 797,
                                              "column": 49
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 30565,
                                            "end": 30582,
                                            "loc": {
                                              "start": {
                                                "line": 797,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 797,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 30565,
                                              "end": 30569,
                                              "loc": {
                                                "start": {
                                                  "line": 797,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 797,
                                                  "column": 18
                                                }
                                              },
                                              "name": "auto"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 30570,
                                              "end": 30582,
                                              "loc": {
                                                "start": {
                                                  "line": 797,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 797,
                                                  "column": 31
                                                }
                                              },
                                              "name": "mouseClickAt"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "ObjectExpression",
                                              "start": 30583,
                                              "end": 30599,
                                              "loc": {
                                                "start": {
                                                  "line": 797,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 797,
                                                  "column": 48
                                                }
                                              },
                                              "properties": [
                                                {
                                                  "type": "Property",
                                                  "start": 30584,
                                                  "end": 30591,
                                                  "loc": {
                                                    "start": {
                                                      "line": 797,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 797,
                                                      "column": 40
                                                    }
                                                  },
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "key": {
                                                    "type": "Identifier",
                                                    "start": 30584,
                                                    "end": 30585,
                                                    "loc": {
                                                      "start": {
                                                        "line": 797,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 797,
                                                        "column": 34
                                                      }
                                                    },
                                                    "name": "x"
                                                  },
                                                  "value": {
                                                    "type": "UnaryExpression",
                                                    "start": 30587,
                                                    "end": 30591,
                                                    "loc": {
                                                      "start": {
                                                        "line": 797,
                                                        "column": 36
                                                      },
                                                      "end": {
                                                        "line": 797,
                                                        "column": 40
                                                      }
                                                    },
                                                    "operator": "-",
                                                    "prefix": true,
                                                    "argument": {
                                                      "type": "Literal",
                                                      "start": 30588,
                                                      "end": 30591,
                                                      "loc": {
                                                        "start": {
                                                          "line": 797,
                                                          "column": 37
                                                        },
                                                        "end": {
                                                          "line": 797,
                                                          "column": 40
                                                        }
                                                      },
                                                      "value": 100,
                                                      "rawValue": 100,
                                                      "raw": "100"
                                                    }
                                                  },
                                                  "kind": "init"
                                                },
                                                {
                                                  "type": "Property",
                                                  "start": 30593,
                                                  "end": 30598,
                                                  "loc": {
                                                    "start": {
                                                      "line": 797,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 797,
                                                      "column": 47
                                                    }
                                                  },
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "key": {
                                                    "type": "Identifier",
                                                    "start": 30593,
                                                    "end": 30594,
                                                    "loc": {
                                                      "start": {
                                                        "line": 797,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 797,
                                                        "column": 43
                                                      }
                                                    },
                                                    "name": "y"
                                                  },
                                                  "value": {
                                                    "type": "Literal",
                                                    "start": 30596,
                                                    "end": 30598,
                                                    "loc": {
                                                      "start": {
                                                        "line": 797,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 797,
                                                        "column": 47
                                                      }
                                                    },
                                                    "value": 50,
                                                    "rawValue": 50,
                                                    "raw": "50"
                                                  },
                                                  "kind": "init"
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          },
                          "parenthesizedExpression": true
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 30610,
                          "end": 30616,
                          "loc": {
                            "start": {
                              "line": 798,
                              "column": 8
                            },
                            "end": {
                              "line": 798,
                              "column": 14
                            }
                          },
                          "name": "ofType"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 30617,
                          "end": 30627,
                          "loc": {
                            "start": {
                              "line": 798,
                              "column": 15
                            },
                            "end": {
                              "line": 798,
                              "column": 25
                            }
                          },
                          "name": "SketchLine"
                        }
                      ]
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 30629,
                      "end": 30635,
                      "loc": {
                        "start": {
                          "line": 798,
                          "column": 27
                        },
                        "end": {
                          "line": 798,
                          "column": 33
                        }
                      },
                      "name": "single"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 30643,
            "end": 30679,
            "loc": {
              "start": {
                "line": 799,
                "column": 4
              },
              "end": {
                "line": 799,
                "column": 40
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 30643,
              "end": 30678,
              "loc": {
                "start": {
                  "line": 799,
                  "column": 4
                },
                "end": {
                  "line": 799,
                  "column": 39
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 30649,
                "end": 30678,
                "loc": {
                  "start": {
                    "line": 799,
                    "column": 10
                  },
                  "end": {
                    "line": 799,
                    "column": 39
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 30649,
                  "end": 30664,
                  "loc": {
                    "start": {
                      "line": 799,
                      "column": 10
                    },
                    "end": {
                      "line": 799,
                      "column": 25
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 30649,
                    "end": 30653,
                    "loc": {
                      "start": {
                        "line": 799,
                        "column": 10
                      },
                      "end": {
                        "line": 799,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 30654,
                    "end": 30664,
                    "loc": {
                      "start": {
                        "line": 799,
                        "column": 15
                      },
                      "end": {
                        "line": 799,
                        "column": 25
                      }
                    },
                    "name": "chooseTool"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 30665,
                    "end": 30677,
                    "loc": {
                      "start": {
                        "line": 799,
                        "column": 26
                      },
                      "end": {
                        "line": 799,
                        "column": 38
                      }
                    },
                    "value": "arcTangent",
                    "rawValue": "arcTangent",
                    "raw": "'arcTangent'"
                  }
                ]
              }
            }
          },
          {
            "type": "VariableDeclaration",
            "start": 30684,
            "end": 30831,
            "loc": {
              "start": {
                "line": 800,
                "column": 4
              },
              "end": {
                "line": 802,
                "column": 35
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 30688,
                "end": 30830,
                "loc": {
                  "start": {
                    "line": 800,
                    "column": 8
                  },
                  "end": {
                    "line": 802,
                    "column": 34
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 30688,
                  "end": 30691,
                  "loc": {
                    "start": {
                      "line": 800,
                      "column": 8
                    },
                    "end": {
                      "line": 800,
                      "column": 11
                    }
                  },
                  "name": "arc"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 30694,
                  "end": 30830,
                  "loc": {
                    "start": {
                      "line": 800,
                      "column": 14
                    },
                    "end": {
                      "line": 802,
                      "column": 34
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 30694,
                    "end": 30828,
                    "loc": {
                      "start": {
                        "line": 800,
                        "column": 14
                      },
                      "end": {
                        "line": 802,
                        "column": 32
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 30694,
                      "end": 30821,
                      "loc": {
                        "start": {
                          "line": 800,
                          "column": 14
                        },
                        "end": {
                          "line": 802,
                          "column": 25
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 30694,
                        "end": 30810,
                        "loc": {
                          "start": {
                            "line": 800,
                            "column": 14
                          },
                          "end": {
                            "line": 802,
                            "column": 14
                          }
                        },
                        "object": {
                          "type": "AwaitExpression",
                          "start": 30695,
                          "end": 30802,
                          "loc": {
                            "start": {
                              "line": 800,
                              "column": 15
                            },
                            "end": {
                              "line": 802,
                              "column": 6
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 30701,
                            "end": 30802,
                            "loc": {
                              "start": {
                                "line": 800,
                                "column": 21
                              },
                              "end": {
                                "line": 802,
                                "column": 6
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 30701,
                              "end": 30716,
                              "loc": {
                                "start": {
                                  "line": 800,
                                  "column": 21
                                },
                                "end": {
                                  "line": 800,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 30701,
                                "end": 30705,
                                "loc": {
                                  "start": {
                                    "line": 800,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 800,
                                    "column": 25
                                  }
                                },
                                "name": "auto"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 30706,
                                "end": 30716,
                                "loc": {
                                  "start": {
                                    "line": 800,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 800,
                                    "column": 36
                                  }
                                },
                                "name": "trackAdded"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 30717,
                                "end": 30801,
                                "loc": {
                                  "start": {
                                    "line": 800,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 802,
                                    "column": 5
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": true,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 30729,
                                  "end": 30801,
                                  "loc": {
                                    "start": {
                                      "line": 800,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 802,
                                      "column": 5
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 30739,
                                      "end": 30795,
                                      "loc": {
                                        "start": {
                                          "line": 801,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 801,
                                          "column": 64
                                        }
                                      },
                                      "expression": {
                                        "type": "AwaitExpression",
                                        "start": 30739,
                                        "end": 30794,
                                        "loc": {
                                          "start": {
                                            "line": 801,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 801,
                                            "column": 63
                                          }
                                        },
                                        "all": false,
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 30745,
                                          "end": 30794,
                                          "loc": {
                                            "start": {
                                              "line": 801,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 801,
                                              "column": 63
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 30745,
                                            "end": 30762,
                                            "loc": {
                                              "start": {
                                                "line": 801,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 801,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 30745,
                                              "end": 30749,
                                              "loc": {
                                                "start": {
                                                  "line": 801,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 801,
                                                  "column": 18
                                                }
                                              },
                                              "name": "auto"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 30750,
                                              "end": 30762,
                                              "loc": {
                                                "start": {
                                                  "line": 801,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 801,
                                                  "column": 31
                                                }
                                              },
                                              "name": "mouseClickAt"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "NewExpression",
                                              "start": 30763,
                                              "end": 30793,
                                              "loc": {
                                                "start": {
                                                  "line": 801,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 801,
                                                  "column": 62
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 30767,
                                                "end": 30780,
                                                "loc": {
                                                  "start": {
                                                    "line": 801,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 801,
                                                    "column": 49
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 30767,
                                                  "end": 30772,
                                                  "loc": {
                                                    "start": {
                                                      "line": 801,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 801,
                                                      "column": 41
                                                    }
                                                  },
                                                  "name": "THREE"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 30773,
                                                  "end": 30780,
                                                  "loc": {
                                                    "start": {
                                                      "line": 801,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 801,
                                                      "column": 49
                                                    }
                                                  },
                                                  "name": "Vector3"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "UnaryExpression",
                                                  "start": 30781,
                                                  "end": 30784,
                                                  "loc": {
                                                    "start": {
                                                      "line": 801,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 801,
                                                      "column": 53
                                                    }
                                                  },
                                                  "operator": "-",
                                                  "prefix": true,
                                                  "argument": {
                                                    "type": "Literal",
                                                    "start": 30782,
                                                    "end": 30784,
                                                    "loc": {
                                                      "start": {
                                                        "line": 801,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 801,
                                                        "column": 53
                                                      }
                                                    },
                                                    "value": 50,
                                                    "rawValue": 50,
                                                    "raw": "50"
                                                  }
                                                },
                                                {
                                                  "type": "Literal",
                                                  "start": 30786,
                                                  "end": 30789,
                                                  "loc": {
                                                    "start": {
                                                      "line": 801,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 801,
                                                      "column": 58
                                                    }
                                                  },
                                                  "value": 100,
                                                  "rawValue": 100,
                                                  "raw": "100"
                                                },
                                                {
                                                  "type": "Literal",
                                                  "start": 30791,
                                                  "end": 30792,
                                                  "loc": {
                                                    "start": {
                                                      "line": 801,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 801,
                                                      "column": 61
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          },
                          "parenthesizedExpression": true
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 30804,
                          "end": 30810,
                          "loc": {
                            "start": {
                              "line": 802,
                              "column": 8
                            },
                            "end": {
                              "line": 802,
                              "column": 14
                            }
                          },
                          "name": "ofType"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 30811,
                          "end": 30820,
                          "loc": {
                            "start": {
                              "line": 802,
                              "column": 15
                            },
                            "end": {
                              "line": 802,
                              "column": 24
                            }
                          },
                          "name": "SketchArc"
                        }
                      ]
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 30822,
                      "end": 30828,
                      "loc": {
                        "start": {
                          "line": 802,
                          "column": 26
                        },
                        "end": {
                          "line": 802,
                          "column": 32
                        }
                      },
                      "name": "single"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 30836,
            "end": 30990,
            "loc": {
              "start": {
                "line": 803,
                "column": 4
              },
              "end": {
                "line": 805,
                "column": 36
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 30840,
                "end": 30989,
                "loc": {
                  "start": {
                    "line": 803,
                    "column": 8
                  },
                  "end": {
                    "line": 805,
                    "column": 35
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 30840,
                  "end": 30844,
                  "loc": {
                    "start": {
                      "line": 803,
                      "column": 8
                    },
                    "end": {
                      "line": 803,
                      "column": 12
                    }
                  },
                  "name": "leg2"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 30847,
                  "end": 30989,
                  "loc": {
                    "start": {
                      "line": 803,
                      "column": 15
                    },
                    "end": {
                      "line": 805,
                      "column": 35
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 30847,
                    "end": 30987,
                    "loc": {
                      "start": {
                        "line": 803,
                        "column": 15
                      },
                      "end": {
                        "line": 805,
                        "column": 33
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 30847,
                      "end": 30980,
                      "loc": {
                        "start": {
                          "line": 803,
                          "column": 15
                        },
                        "end": {
                          "line": 805,
                          "column": 26
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 30847,
                        "end": 30968,
                        "loc": {
                          "start": {
                            "line": 803,
                            "column": 15
                          },
                          "end": {
                            "line": 805,
                            "column": 14
                          }
                        },
                        "object": {
                          "type": "AwaitExpression",
                          "start": 30848,
                          "end": 30960,
                          "loc": {
                            "start": {
                              "line": 803,
                              "column": 16
                            },
                            "end": {
                              "line": 805,
                              "column": 6
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 30854,
                            "end": 30960,
                            "loc": {
                              "start": {
                                "line": 803,
                                "column": 22
                              },
                              "end": {
                                "line": 805,
                                "column": 6
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 30854,
                              "end": 30869,
                              "loc": {
                                "start": {
                                  "line": 803,
                                  "column": 22
                                },
                                "end": {
                                  "line": 803,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 30854,
                                "end": 30858,
                                "loc": {
                                  "start": {
                                    "line": 803,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 803,
                                    "column": 26
                                  }
                                },
                                "name": "auto"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 30859,
                                "end": 30869,
                                "loc": {
                                  "start": {
                                    "line": 803,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 803,
                                    "column": 37
                                  }
                                },
                                "name": "trackAdded"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 30870,
                                "end": 30959,
                                "loc": {
                                  "start": {
                                    "line": 803,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 805,
                                    "column": 5
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": true,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 30882,
                                  "end": 30959,
                                  "loc": {
                                    "start": {
                                      "line": 803,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 805,
                                      "column": 5
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 30892,
                                      "end": 30953,
                                      "loc": {
                                        "start": {
                                          "line": 804,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 804,
                                          "column": 69
                                        }
                                      },
                                      "expression": {
                                        "type": "AwaitExpression",
                                        "start": 30892,
                                        "end": 30952,
                                        "loc": {
                                          "start": {
                                            "line": 804,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 804,
                                            "column": 68
                                          }
                                        },
                                        "all": false,
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 30898,
                                          "end": 30952,
                                          "loc": {
                                            "start": {
                                              "line": 804,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 804,
                                              "column": 68
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 30898,
                                            "end": 30915,
                                            "loc": {
                                              "start": {
                                                "line": 804,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 804,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 30898,
                                              "end": 30902,
                                              "loc": {
                                                "start": {
                                                  "line": 804,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 804,
                                                  "column": 18
                                                }
                                              },
                                              "name": "auto"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 30903,
                                              "end": 30915,
                                              "loc": {
                                                "start": {
                                                  "line": 804,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 804,
                                                  "column": 31
                                                }
                                              },
                                              "name": "mouseClickAt"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "NewExpression",
                                              "start": 30916,
                                              "end": 30951,
                                              "loc": {
                                                "start": {
                                                  "line": 804,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 804,
                                                  "column": 67
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 30920,
                                                "end": 30933,
                                                "loc": {
                                                  "start": {
                                                    "line": 804,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 804,
                                                    "column": 49
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 30920,
                                                  "end": 30925,
                                                  "loc": {
                                                    "start": {
                                                      "line": 804,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 804,
                                                      "column": 41
                                                    }
                                                  },
                                                  "name": "THREE"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 30926,
                                                  "end": 30933,
                                                  "loc": {
                                                    "start": {
                                                      "line": 804,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 804,
                                                      "column": 49
                                                    }
                                                  },
                                                  "name": "Vector3"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Literal",
                                                  "start": 30934,
                                                  "end": 30935,
                                                  "loc": {
                                                    "start": {
                                                      "line": 804,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 804,
                                                      "column": 51
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                {
                                                  "type": "Literal",
                                                  "start": 30937,
                                                  "end": 30940,
                                                  "loc": {
                                                    "start": {
                                                      "line": 804,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 804,
                                                      "column": 56
                                                    }
                                                  },
                                                  "value": 100,
                                                  "rawValue": 100,
                                                  "raw": "100"
                                                },
                                                {
                                                  "type": "Literal",
                                                  "start": 30942,
                                                  "end": 30950,
                                                  "loc": {
                                                    "start": {
                                                      "line": 804,
                                                      "column": 58
                                                    },
                                                    "end": {
                                                      "line": 804,
                                                      "column": 66
                                                    }
                                                  },
                                                  "value": "bugoga",
                                                  "rawValue": "bugoga",
                                                  "raw": "\"bugoga\""
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          },
                          "parenthesizedExpression": true
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 30962,
                          "end": 30968,
                          "loc": {
                            "start": {
                              "line": 805,
                              "column": 8
                            },
                            "end": {
                              "line": 805,
                              "column": 14
                            }
                          },
                          "name": "ofType"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 30969,
                          "end": 30979,
                          "loc": {
                            "start": {
                              "line": 805,
                              "column": 15
                            },
                            "end": {
                              "line": 805,
                              "column": 25
                            }
                          },
                          "name": "SketchLine"
                        }
                      ]
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 30981,
                      "end": 30987,
                      "loc": {
                        "start": {
                          "line": 805,
                          "column": 27
                        },
                        "end": {
                          "line": 805,
                          "column": 33
                        }
                      },
                      "name": "single"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 30995,
            "end": 31026,
            "loc": {
              "start": {
                "line": 806,
                "column": 4
              },
              "end": {
                "line": 806,
                "column": 35
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 30995,
              "end": 31025,
              "loc": {
                "start": {
                  "line": 806,
                  "column": 4
                },
                "end": {
                  "line": 806,
                  "column": 34
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31001,
                "end": 31025,
                "loc": {
                  "start": {
                    "line": 806,
                    "column": 10
                  },
                  "end": {
                    "line": 806,
                    "column": 34
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31001,
                  "end": 31016,
                  "loc": {
                    "start": {
                      "line": 806,
                      "column": 10
                    },
                    "end": {
                      "line": 806,
                      "column": 25
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31001,
                    "end": 31005,
                    "loc": {
                      "start": {
                        "line": 806,
                        "column": 10
                      },
                      "end": {
                        "line": 806,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31006,
                    "end": 31016,
                    "loc": {
                      "start": {
                        "line": 806,
                        "column": 15
                      },
                      "end": {
                        "line": 806,
                        "column": 25
                      }
                    },
                    "name": "chooseTool"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 31017,
                    "end": 31024,
                    "loc": {
                      "start": {
                        "line": 806,
                        "column": 26
                      },
                      "end": {
                        "line": 806,
                        "column": 33
                      }
                    },
                    "value": "empty",
                    "rawValue": "empty",
                    "raw": "'empty'"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31032,
            "end": 31061,
            "loc": {
              "start": {
                "line": 808,
                "column": 4
              },
              "end": {
                "line": 808,
                "column": 33
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31032,
              "end": 31060,
              "loc": {
                "start": {
                  "line": 808,
                  "column": 4
                },
                "end": {
                  "line": 808,
                  "column": 32
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31038,
                "end": 31060,
                "loc": {
                  "start": {
                    "line": 808,
                    "column": 10
                  },
                  "end": {
                    "line": 808,
                    "column": 32
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31038,
                  "end": 31054,
                  "loc": {
                    "start": {
                      "line": 808,
                      "column": 10
                    },
                    "end": {
                      "line": 808,
                      "column": 26
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31038,
                    "end": 31042,
                    "loc": {
                      "start": {
                        "line": 808,
                        "column": 10
                      },
                      "end": {
                        "line": 808,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31043,
                    "end": 31054,
                    "loc": {
                      "start": {
                        "line": 808,
                        "column": 15
                      },
                      "end": {
                        "line": 808,
                        "column": 26
                      }
                    },
                    "name": "hoverObject"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 31055,
                    "end": 31059,
                    "loc": {
                      "start": {
                        "line": 808,
                        "column": 27
                      },
                      "end": {
                        "line": 808,
                        "column": 31
                      }
                    },
                    "name": "leg1"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31066,
            "end": 31097,
            "loc": {
              "start": {
                "line": 809,
                "column": 4
              },
              "end": {
                "line": 809,
                "column": 35
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31066,
              "end": 31096,
              "loc": {
                "start": {
                  "line": 809,
                  "column": 4
                },
                "end": {
                  "line": 809,
                  "column": 34
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31072,
                "end": 31096,
                "loc": {
                  "start": {
                    "line": 809,
                    "column": 10
                  },
                  "end": {
                    "line": 809,
                    "column": 34
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31072,
                  "end": 31090,
                  "loc": {
                    "start": {
                      "line": 809,
                      "column": 10
                    },
                    "end": {
                      "line": 809,
                      "column": 28
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31072,
                    "end": 31076,
                    "loc": {
                      "start": {
                        "line": 809,
                        "column": 10
                      },
                      "end": {
                        "line": 809,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31077,
                    "end": 31090,
                    "loc": {
                      "start": {
                        "line": 809,
                        "column": 15
                      },
                      "end": {
                        "line": 809,
                        "column": 28
                      }
                    },
                    "name": "unhoverObject"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 31091,
                    "end": 31095,
                    "loc": {
                      "start": {
                        "line": 809,
                        "column": 29
                      },
                      "end": {
                        "line": 809,
                        "column": 33
                      }
                    },
                    "name": "leg1"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31102,
            "end": 31131,
            "loc": {
              "start": {
                "line": 810,
                "column": 4
              },
              "end": {
                "line": 810,
                "column": 33
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31102,
              "end": 31130,
              "loc": {
                "start": {
                  "line": 810,
                  "column": 4
                },
                "end": {
                  "line": 810,
                  "column": 32
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31108,
                "end": 31130,
                "loc": {
                  "start": {
                    "line": 810,
                    "column": 10
                  },
                  "end": {
                    "line": 810,
                    "column": 32
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31108,
                  "end": 31124,
                  "loc": {
                    "start": {
                      "line": 810,
                      "column": 10
                    },
                    "end": {
                      "line": 810,
                      "column": 26
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31108,
                    "end": 31112,
                    "loc": {
                      "start": {
                        "line": 810,
                        "column": 10
                      },
                      "end": {
                        "line": 810,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31113,
                    "end": 31124,
                    "loc": {
                      "start": {
                        "line": 810,
                        "column": 15
                      },
                      "end": {
                        "line": 810,
                        "column": 26
                      }
                    },
                    "name": "hoverObject"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 31125,
                    "end": 31129,
                    "loc": {
                      "start": {
                        "line": 810,
                        "column": 27
                      },
                      "end": {
                        "line": 810,
                        "column": 31
                      }
                    },
                    "name": "leg2"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31136,
            "end": 31167,
            "loc": {
              "start": {
                "line": 811,
                "column": 4
              },
              "end": {
                "line": 811,
                "column": 35
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31136,
              "end": 31166,
              "loc": {
                "start": {
                  "line": 811,
                  "column": 4
                },
                "end": {
                  "line": 811,
                  "column": 34
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31142,
                "end": 31166,
                "loc": {
                  "start": {
                    "line": 811,
                    "column": 10
                  },
                  "end": {
                    "line": 811,
                    "column": 34
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31142,
                  "end": 31160,
                  "loc": {
                    "start": {
                      "line": 811,
                      "column": 10
                    },
                    "end": {
                      "line": 811,
                      "column": 28
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31142,
                    "end": 31146,
                    "loc": {
                      "start": {
                        "line": 811,
                        "column": 10
                      },
                      "end": {
                        "line": 811,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31147,
                    "end": 31160,
                    "loc": {
                      "start": {
                        "line": 811,
                        "column": 15
                      },
                      "end": {
                        "line": 811,
                        "column": 28
                      }
                    },
                    "name": "unhoverObject"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 31161,
                    "end": 31165,
                    "loc": {
                      "start": {
                        "line": 811,
                        "column": 29
                      },
                      "end": {
                        "line": 811,
                        "column": 33
                      }
                    },
                    "name": "leg2"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31172,
            "end": 31200,
            "loc": {
              "start": {
                "line": 812,
                "column": 4
              },
              "end": {
                "line": 812,
                "column": 32
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31172,
              "end": 31199,
              "loc": {
                "start": {
                  "line": 812,
                  "column": 4
                },
                "end": {
                  "line": 812,
                  "column": 31
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31178,
                "end": 31199,
                "loc": {
                  "start": {
                    "line": 812,
                    "column": 10
                  },
                  "end": {
                    "line": 812,
                    "column": 31
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31178,
                  "end": 31194,
                  "loc": {
                    "start": {
                      "line": 812,
                      "column": 10
                    },
                    "end": {
                      "line": 812,
                      "column": 26
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31178,
                    "end": 31182,
                    "loc": {
                      "start": {
                        "line": 812,
                        "column": 10
                      },
                      "end": {
                        "line": 812,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31183,
                    "end": 31194,
                    "loc": {
                      "start": {
                        "line": 812,
                        "column": 15
                      },
                      "end": {
                        "line": 812,
                        "column": 26
                      }
                    },
                    "name": "hoverObject"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 31195,
                    "end": 31198,
                    "loc": {
                      "start": {
                        "line": 812,
                        "column": 27
                      },
                      "end": {
                        "line": 812,
                        "column": 30
                      }
                    },
                    "name": "arc"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31205,
            "end": 31235,
            "loc": {
              "start": {
                "line": 813,
                "column": 4
              },
              "end": {
                "line": 813,
                "column": 34
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31205,
              "end": 31234,
              "loc": {
                "start": {
                  "line": 813,
                  "column": 4
                },
                "end": {
                  "line": 813,
                  "column": 33
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31211,
                "end": 31234,
                "loc": {
                  "start": {
                    "line": 813,
                    "column": 10
                  },
                  "end": {
                    "line": 813,
                    "column": 33
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31211,
                  "end": 31229,
                  "loc": {
                    "start": {
                      "line": 813,
                      "column": 10
                    },
                    "end": {
                      "line": 813,
                      "column": 28
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31211,
                    "end": 31215,
                    "loc": {
                      "start": {
                        "line": 813,
                        "column": 10
                      },
                      "end": {
                        "line": 813,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31216,
                    "end": 31229,
                    "loc": {
                      "start": {
                        "line": 813,
                        "column": 15
                      },
                      "end": {
                        "line": 813,
                        "column": 28
                      }
                    },
                    "name": "unhoverObject"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 31230,
                    "end": 31233,
                    "loc": {
                      "start": {
                        "line": 813,
                        "column": 29
                      },
                      "end": {
                        "line": 813,
                        "column": 32
                      }
                    },
                    "name": "arc"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31241,
            "end": 31310,
            "loc": {
              "start": {
                "line": 815,
                "column": 4
              },
              "end": {
                "line": 815,
                "column": 73
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31241,
              "end": 31309,
              "loc": {
                "start": {
                  "line": 815,
                  "column": 4
                },
                "end": {
                  "line": 815,
                  "column": 72
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31247,
                "end": 31309,
                "loc": {
                  "start": {
                    "line": 815,
                    "column": 10
                  },
                  "end": {
                    "line": 815,
                    "column": 72
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31247,
                  "end": 31267,
                  "loc": {
                    "start": {
                      "line": 815,
                      "column": 10
                    },
                    "end": {
                      "line": 815,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31247,
                    "end": 31251,
                    "loc": {
                      "start": {
                        "line": 815,
                        "column": 10
                      },
                      "end": {
                        "line": 815,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31252,
                    "end": 31267,
                    "loc": {
                      "start": {
                        "line": 815,
                        "column": 15
                      },
                      "end": {
                        "line": 815,
                        "column": 30
                      }
                    },
                    "name": "dragSketchPoint"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "CallExpression",
                    "start": 31268,
                    "end": 31292,
                    "loc": {
                      "start": {
                        "line": 815,
                        "column": 31
                      },
                      "end": {
                        "line": 815,
                        "column": 55
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 31268,
                      "end": 31287,
                      "loc": {
                        "start": {
                          "line": 815,
                          "column": 31
                        },
                        "end": {
                          "line": 815,
                          "column": 50
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 31268,
                        "end": 31272,
                        "loc": {
                          "start": {
                            "line": 815,
                            "column": 31
                          },
                          "end": {
                            "line": 815,
                            "column": 35
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 31273,
                        "end": 31287,
                        "loc": {
                          "start": {
                            "line": 815,
                            "column": 36
                          },
                          "end": {
                            "line": 815,
                            "column": 50
                          }
                        },
                        "name": "getCenterPoint"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 31288,
                        "end": 31291,
                        "loc": {
                          "start": {
                            "line": 815,
                            "column": 51
                          },
                          "end": {
                            "line": 815,
                            "column": 54
                          }
                        },
                        "name": "arc"
                      }
                    ]
                  },
                  {
                    "type": "ArrayExpression",
                    "start": 31294,
                    "end": 31302,
                    "loc": {
                      "start": {
                        "line": 815,
                        "column": 57
                      },
                      "end": {
                        "line": 815,
                        "column": 65
                      }
                    },
                    "elements": [
                      {
                        "type": "Literal",
                        "start": 31295,
                        "end": 31297,
                        "loc": {
                          "start": {
                            "line": 815,
                            "column": 58
                          },
                          "end": {
                            "line": 815,
                            "column": 60
                          }
                        },
                        "value": 10,
                        "rawValue": 10,
                        "raw": "10"
                      },
                      {
                        "type": "Literal",
                        "start": 31299,
                        "end": 31301,
                        "loc": {
                          "start": {
                            "line": 815,
                            "column": 62
                          },
                          "end": {
                            "line": 815,
                            "column": 64
                          }
                        },
                        "value": 30,
                        "rawValue": 30,
                        "raw": "30"
                      }
                    ]
                  },
                  {
                    "type": "Literal",
                    "start": 31304,
                    "end": 31308,
                    "loc": {
                      "start": {
                        "line": 815,
                        "column": 67
                      },
                      "end": {
                        "line": 815,
                        "column": 71
                      }
                    },
                    "value": true,
                    "rawValue": true,
                    "raw": "true"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31316,
            "end": 31353,
            "loc": {
              "start": {
                "line": 817,
                "column": 4
              },
              "end": {
                "line": 817,
                "column": 41
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31316,
              "end": 31352,
              "loc": {
                "start": {
                  "line": 817,
                  "column": 4
                },
                "end": {
                  "line": 817,
                  "column": 40
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31322,
                "end": 31352,
                "loc": {
                  "start": {
                    "line": 817,
                    "column": 10
                  },
                  "end": {
                    "line": 817,
                    "column": 40
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31322,
                  "end": 31346,
                  "loc": {
                    "start": {
                      "line": 817,
                      "column": 10
                    },
                    "end": {
                      "line": 817,
                      "column": 34
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31322,
                    "end": 31326,
                    "loc": {
                      "start": {
                        "line": 817,
                        "column": 10
                      },
                      "end": {
                        "line": 817,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31327,
                    "end": 31346,
                    "loc": {
                      "start": {
                        "line": 817,
                        "column": 15
                      },
                      "end": {
                        "line": 817,
                        "column": 34
                      }
                    },
                    "name": "setIncrementalSolve"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 31347,
                    "end": 31351,
                    "loc": {
                      "start": {
                        "line": 817,
                        "column": 35
                      },
                      "end": {
                        "line": 817,
                        "column": 39
                      }
                    },
                    "value": true,
                    "rawValue": true,
                    "raw": "true"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31358,
            "end": 31499,
            "loc": {
              "start": {
                "line": 818,
                "column": 4
              },
              "end": {
                "line": 818,
                "column": 145
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31358,
              "end": 31498,
              "loc": {
                "start": {
                  "line": 818,
                  "column": 4
                },
                "end": {
                  "line": 818,
                  "column": 144
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31364,
                "end": 31498,
                "loc": {
                  "start": {
                    "line": 818,
                    "column": 10
                  },
                  "end": {
                    "line": 818,
                    "column": 144
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31364,
                  "end": 31384,
                  "loc": {
                    "start": {
                      "line": 818,
                      "column": 10
                    },
                    "end": {
                      "line": 818,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31364,
                    "end": 31368,
                    "loc": {
                      "start": {
                        "line": 818,
                        "column": 10
                      },
                      "end": {
                        "line": 818,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31369,
                    "end": 31384,
                    "loc": {
                      "start": {
                        "line": 818,
                        "column": 15
                      },
                      "end": {
                        "line": 818,
                        "column": 30
                      }
                    },
                    "name": "dragSketchPoint"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "CallExpression",
                    "start": 31385,
                    "end": 31409,
                    "loc": {
                      "start": {
                        "line": 818,
                        "column": 31
                      },
                      "end": {
                        "line": 818,
                        "column": 55
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 31385,
                      "end": 31404,
                      "loc": {
                        "start": {
                          "line": 818,
                          "column": 31
                        },
                        "end": {
                          "line": 818,
                          "column": 50
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 31385,
                        "end": 31389,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 31
                          },
                          "end": {
                            "line": 818,
                            "column": 35
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 31390,
                        "end": 31404,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 36
                          },
                          "end": {
                            "line": 818,
                            "column": 50
                          }
                        },
                        "name": "getCenterPoint"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 31405,
                        "end": 31408,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 51
                          },
                          "end": {
                            "line": 818,
                            "column": 54
                          }
                        },
                        "name": "arc"
                      }
                    ]
                  },
                  {
                    "type": "ArrayExpression",
                    "start": 31411,
                    "end": 31491,
                    "loc": {
                      "start": {
                        "line": 818,
                        "column": 57
                      },
                      "end": {
                        "line": 818,
                        "column": 137
                      }
                    },
                    "elements": [
                      {
                        "type": "ArrayExpression",
                        "start": 31412,
                        "end": 31420,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 58
                          },
                          "end": {
                            "line": 818,
                            "column": 66
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 31413,
                            "end": 31415,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 59
                              },
                              "end": {
                                "line": 818,
                                "column": 61
                              }
                            },
                            "value": 10,
                            "rawValue": 10,
                            "raw": "10"
                          },
                          {
                            "type": "Literal",
                            "start": 31417,
                            "end": 31419,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 63
                              },
                              "end": {
                                "line": 818,
                                "column": 65
                              }
                            },
                            "value": 30,
                            "rawValue": 30,
                            "raw": "30"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31422,
                        "end": 31429,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 68
                          },
                          "end": {
                            "line": 818,
                            "column": 75
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 31423,
                            "end": 31424,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 69
                              },
                              "end": {
                                "line": 818,
                                "column": 70
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          {
                            "type": "Literal",
                            "start": 31426,
                            "end": 31428,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 72
                              },
                              "end": {
                                "line": 818,
                                "column": 74
                              }
                            },
                            "value": 10,
                            "rawValue": 10,
                            "raw": "10"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31431,
                        "end": 31438,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 77
                          },
                          "end": {
                            "line": 818,
                            "column": 84
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 31432,
                            "end": 31433,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 78
                              },
                              "end": {
                                "line": 818,
                                "column": 79
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          {
                            "type": "Literal",
                            "start": 31435,
                            "end": 31437,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 81
                              },
                              "end": {
                                "line": 818,
                                "column": 83
                              }
                            },
                            "value": 20,
                            "rawValue": 20,
                            "raw": "20"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31440,
                        "end": 31447,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 86
                          },
                          "end": {
                            "line": 818,
                            "column": 93
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 31441,
                            "end": 31442,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 87
                              },
                              "end": {
                                "line": 818,
                                "column": 88
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          {
                            "type": "Literal",
                            "start": 31444,
                            "end": 31446,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 90
                              },
                              "end": {
                                "line": 818,
                                "column": 92
                              }
                            },
                            "value": 30,
                            "rawValue": 30,
                            "raw": "30"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31449,
                        "end": 31458,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 95
                          },
                          "end": {
                            "line": 818,
                            "column": 104
                          }
                        },
                        "elements": [
                          {
                            "type": "UnaryExpression",
                            "start": 31450,
                            "end": 31453,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 96
                              },
                              "end": {
                                "line": 818,
                                "column": 99
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "Literal",
                              "start": 31451,
                              "end": 31453,
                              "loc": {
                                "start": {
                                  "line": 818,
                                  "column": 97
                                },
                                "end": {
                                  "line": 818,
                                  "column": 99
                                }
                              },
                              "value": 10,
                              "rawValue": 10,
                              "raw": "10"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 31455,
                            "end": 31457,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 101
                              },
                              "end": {
                                "line": 818,
                                "column": 103
                              }
                            },
                            "value": 30,
                            "rawValue": 30,
                            "raw": "30"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31460,
                        "end": 31469,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 106
                          },
                          "end": {
                            "line": 818,
                            "column": 115
                          }
                        },
                        "elements": [
                          {
                            "type": "UnaryExpression",
                            "start": 31461,
                            "end": 31464,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 107
                              },
                              "end": {
                                "line": 818,
                                "column": 110
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "Literal",
                              "start": 31462,
                              "end": 31464,
                              "loc": {
                                "start": {
                                  "line": 818,
                                  "column": 108
                                },
                                "end": {
                                  "line": 818,
                                  "column": 110
                                }
                              },
                              "value": 10,
                              "rawValue": 10,
                              "raw": "10"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 31466,
                            "end": 31468,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 112
                              },
                              "end": {
                                "line": 818,
                                "column": 114
                              }
                            },
                            "value": 20,
                            "rawValue": 20,
                            "raw": "20"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31471,
                        "end": 31480,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 117
                          },
                          "end": {
                            "line": 818,
                            "column": 126
                          }
                        },
                        "elements": [
                          {
                            "type": "UnaryExpression",
                            "start": 31472,
                            "end": 31475,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 118
                              },
                              "end": {
                                "line": 818,
                                "column": 121
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "Literal",
                              "start": 31473,
                              "end": 31475,
                              "loc": {
                                "start": {
                                  "line": 818,
                                  "column": 119
                                },
                                "end": {
                                  "line": 818,
                                  "column": 121
                                }
                              },
                              "value": 20,
                              "rawValue": 20,
                              "raw": "20"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 31477,
                            "end": 31479,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 123
                              },
                              "end": {
                                "line": 818,
                                "column": 125
                              }
                            },
                            "value": 10,
                            "rawValue": 10,
                            "raw": "10"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31482,
                        "end": 31490,
                        "loc": {
                          "start": {
                            "line": 818,
                            "column": 128
                          },
                          "end": {
                            "line": 818,
                            "column": 136
                          }
                        },
                        "elements": [
                          {
                            "type": "UnaryExpression",
                            "start": 31483,
                            "end": 31486,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 129
                              },
                              "end": {
                                "line": 818,
                                "column": 132
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "Literal",
                              "start": 31484,
                              "end": 31486,
                              "loc": {
                                "start": {
                                  "line": 818,
                                  "column": 130
                                },
                                "end": {
                                  "line": 818,
                                  "column": 132
                                }
                              },
                              "value": 50,
                              "rawValue": 50,
                              "raw": "50"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 31488,
                            "end": 31489,
                            "loc": {
                              "start": {
                                "line": 818,
                                "column": 134
                              },
                              "end": {
                                "line": 818,
                                "column": 135
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "Literal",
                    "start": 31493,
                    "end": 31497,
                    "loc": {
                      "start": {
                        "line": 818,
                        "column": 139
                      },
                      "end": {
                        "line": 818,
                        "column": 143
                      }
                    },
                    "value": true,
                    "rawValue": true,
                    "raw": "true"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31505,
            "end": 31539,
            "loc": {
              "start": {
                "line": 820,
                "column": 4
              },
              "end": {
                "line": 820,
                "column": 38
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31505,
              "end": 31538,
              "loc": {
                "start": {
                  "line": 820,
                  "column": 4
                },
                "end": {
                  "line": 820,
                  "column": 37
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31511,
                "end": 31538,
                "loc": {
                  "start": {
                    "line": 820,
                    "column": 10
                  },
                  "end": {
                    "line": 820,
                    "column": 37
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31511,
                  "end": 31526,
                  "loc": {
                    "start": {
                      "line": 820,
                      "column": 10
                    },
                    "end": {
                      "line": 820,
                      "column": 25
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31511,
                    "end": 31515,
                    "loc": {
                      "start": {
                        "line": 820,
                        "column": 10
                      },
                      "end": {
                        "line": 820,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31516,
                    "end": 31526,
                    "loc": {
                      "start": {
                        "line": 820,
                        "column": 15
                      },
                      "end": {
                        "line": 820,
                        "column": 25
                      }
                    },
                    "name": "chooseTool"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 31527,
                    "end": 31537,
                    "loc": {
                      "start": {
                        "line": 820,
                        "column": 26
                      },
                      "end": {
                        "line": 820,
                        "column": 36
                      }
                    },
                    "value": "fixation",
                    "rawValue": "fixation",
                    "raw": "'fixation'"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31544,
            "end": 31593,
            "loc": {
              "start": {
                "line": 821,
                "column": 4
              },
              "end": {
                "line": 821,
                "column": 53
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31544,
              "end": 31592,
              "loc": {
                "start": {
                  "line": 821,
                  "column": 4
                },
                "end": {
                  "line": 821,
                  "column": 52
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31550,
                "end": 31592,
                "loc": {
                  "start": {
                    "line": 821,
                    "column": 10
                  },
                  "end": {
                    "line": 821,
                    "column": 52
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31550,
                  "end": 31566,
                  "loc": {
                    "start": {
                      "line": 821,
                      "column": 10
                    },
                    "end": {
                      "line": 821,
                      "column": 26
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31550,
                    "end": 31554,
                    "loc": {
                      "start": {
                        "line": 821,
                        "column": 10
                      },
                      "end": {
                        "line": 821,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31555,
                    "end": 31566,
                    "loc": {
                      "start": {
                        "line": 821,
                        "column": 15
                      },
                      "end": {
                        "line": 821,
                        "column": 26
                      }
                    },
                    "name": "clickObject"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "CallExpression",
                    "start": 31567,
                    "end": 31591,
                    "loc": {
                      "start": {
                        "line": 821,
                        "column": 27
                      },
                      "end": {
                        "line": 821,
                        "column": 51
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 31567,
                      "end": 31585,
                      "loc": {
                        "start": {
                          "line": 821,
                          "column": 27
                        },
                        "end": {
                          "line": 821,
                          "column": 45
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 31567,
                        "end": 31571,
                        "loc": {
                          "start": {
                            "line": 821,
                            "column": 27
                          },
                          "end": {
                            "line": 821,
                            "column": 31
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 31572,
                        "end": 31585,
                        "loc": {
                          "start": {
                            "line": 821,
                            "column": 32
                          },
                          "end": {
                            "line": 821,
                            "column": 45
                          }
                        },
                        "name": "getStartPoint"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 31586,
                        "end": 31590,
                        "loc": {
                          "start": {
                            "line": 821,
                            "column": 46
                          },
                          "end": {
                            "line": 821,
                            "column": 50
                          }
                        },
                        "name": "leg1"
                      }
                    ]
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31598,
            "end": 31632,
            "loc": {
              "start": {
                "line": 822,
                "column": 4
              },
              "end": {
                "line": 822,
                "column": 38
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31598,
              "end": 31631,
              "loc": {
                "start": {
                  "line": 822,
                  "column": 4
                },
                "end": {
                  "line": 822,
                  "column": 37
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31604,
                "end": 31631,
                "loc": {
                  "start": {
                    "line": 822,
                    "column": 10
                  },
                  "end": {
                    "line": 822,
                    "column": 37
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31604,
                  "end": 31619,
                  "loc": {
                    "start": {
                      "line": 822,
                      "column": 10
                    },
                    "end": {
                      "line": 822,
                      "column": 25
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31604,
                    "end": 31608,
                    "loc": {
                      "start": {
                        "line": 822,
                        "column": 10
                      },
                      "end": {
                        "line": 822,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31609,
                    "end": 31619,
                    "loc": {
                      "start": {
                        "line": 822,
                        "column": 15
                      },
                      "end": {
                        "line": 822,
                        "column": 25
                      }
                    },
                    "name": "chooseTool"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 31620,
                    "end": 31630,
                    "loc": {
                      "start": {
                        "line": 822,
                        "column": 26
                      },
                      "end": {
                        "line": 822,
                        "column": 36
                      }
                    },
                    "value": "fixation",
                    "rawValue": "fixation",
                    "raw": "'fixation'"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31637,
            "end": 31684,
            "loc": {
              "start": {
                "line": 823,
                "column": 4
              },
              "end": {
                "line": 823,
                "column": 51
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31637,
              "end": 31683,
              "loc": {
                "start": {
                  "line": 823,
                  "column": 4
                },
                "end": {
                  "line": 823,
                  "column": 50
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31643,
                "end": 31683,
                "loc": {
                  "start": {
                    "line": 823,
                    "column": 10
                  },
                  "end": {
                    "line": 823,
                    "column": 50
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31643,
                  "end": 31659,
                  "loc": {
                    "start": {
                      "line": 823,
                      "column": 10
                    },
                    "end": {
                      "line": 823,
                      "column": 26
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31643,
                    "end": 31647,
                    "loc": {
                      "start": {
                        "line": 823,
                        "column": 10
                      },
                      "end": {
                        "line": 823,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31648,
                    "end": 31659,
                    "loc": {
                      "start": {
                        "line": 823,
                        "column": 15
                      },
                      "end": {
                        "line": 823,
                        "column": 26
                      }
                    },
                    "name": "clickObject"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "CallExpression",
                    "start": 31660,
                    "end": 31682,
                    "loc": {
                      "start": {
                        "line": 823,
                        "column": 27
                      },
                      "end": {
                        "line": 823,
                        "column": 49
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 31660,
                      "end": 31676,
                      "loc": {
                        "start": {
                          "line": 823,
                          "column": 27
                        },
                        "end": {
                          "line": 823,
                          "column": 43
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 31660,
                        "end": 31664,
                        "loc": {
                          "start": {
                            "line": 823,
                            "column": 27
                          },
                          "end": {
                            "line": 823,
                            "column": 31
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 31665,
                        "end": 31676,
                        "loc": {
                          "start": {
                            "line": 823,
                            "column": 32
                          },
                          "end": {
                            "line": 823,
                            "column": 43
                          }
                        },
                        "name": "getEndPoint"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 31677,
                        "end": 31681,
                        "loc": {
                          "start": {
                            "line": 823,
                            "column": 44
                          },
                          "end": {
                            "line": 823,
                            "column": 48
                          }
                        },
                        "name": "leg2"
                      }
                    ]
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31689,
            "end": 31720,
            "loc": {
              "start": {
                "line": 824,
                "column": 4
              },
              "end": {
                "line": 824,
                "column": 35
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31689,
              "end": 31719,
              "loc": {
                "start": {
                  "line": 824,
                  "column": 4
                },
                "end": {
                  "line": 824,
                  "column": 34
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31695,
                "end": 31719,
                "loc": {
                  "start": {
                    "line": 824,
                    "column": 10
                  },
                  "end": {
                    "line": 824,
                    "column": 34
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31695,
                  "end": 31710,
                  "loc": {
                    "start": {
                      "line": 824,
                      "column": 10
                    },
                    "end": {
                      "line": 824,
                      "column": 25
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31695,
                    "end": 31699,
                    "loc": {
                      "start": {
                        "line": 824,
                        "column": 10
                      },
                      "end": {
                        "line": 824,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31700,
                    "end": 31710,
                    "loc": {
                      "start": {
                        "line": 824,
                        "column": 15
                      },
                      "end": {
                        "line": 824,
                        "column": 25
                      }
                    },
                    "name": "chooseTool"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 31711,
                    "end": 31718,
                    "loc": {
                      "start": {
                        "line": 824,
                        "column": 26
                      },
                      "end": {
                        "line": 824,
                        "column": 33
                      }
                    },
                    "value": "empty",
                    "rawValue": "empty",
                    "raw": "'empty'"
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31725,
            "end": 31851,
            "loc": {
              "start": {
                "line": 825,
                "column": 4
              },
              "end": {
                "line": 825,
                "column": 130
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31725,
              "end": 31850,
              "loc": {
                "start": {
                  "line": 825,
                  "column": 4
                },
                "end": {
                  "line": 825,
                  "column": 129
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31731,
                "end": 31850,
                "loc": {
                  "start": {
                    "line": 825,
                    "column": 10
                  },
                  "end": {
                    "line": 825,
                    "column": 129
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31731,
                  "end": 31751,
                  "loc": {
                    "start": {
                      "line": 825,
                      "column": 10
                    },
                    "end": {
                      "line": 825,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31731,
                    "end": 31735,
                    "loc": {
                      "start": {
                        "line": 825,
                        "column": 10
                      },
                      "end": {
                        "line": 825,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31736,
                    "end": 31751,
                    "loc": {
                      "start": {
                        "line": 825,
                        "column": 15
                      },
                      "end": {
                        "line": 825,
                        "column": 30
                      }
                    },
                    "name": "dragSketchPoint"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "CallExpression",
                    "start": 31752,
                    "end": 31776,
                    "loc": {
                      "start": {
                        "line": 825,
                        "column": 31
                      },
                      "end": {
                        "line": 825,
                        "column": 55
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 31752,
                      "end": 31771,
                      "loc": {
                        "start": {
                          "line": 825,
                          "column": 31
                        },
                        "end": {
                          "line": 825,
                          "column": 50
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 31752,
                        "end": 31756,
                        "loc": {
                          "start": {
                            "line": 825,
                            "column": 31
                          },
                          "end": {
                            "line": 825,
                            "column": 35
                          }
                        },
                        "name": "auto"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 31757,
                        "end": 31771,
                        "loc": {
                          "start": {
                            "line": 825,
                            "column": 36
                          },
                          "end": {
                            "line": 825,
                            "column": 50
                          }
                        },
                        "name": "getCenterPoint"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 31772,
                        "end": 31775,
                        "loc": {
                          "start": {
                            "line": 825,
                            "column": 51
                          },
                          "end": {
                            "line": 825,
                            "column": 54
                          }
                        },
                        "name": "arc"
                      }
                    ]
                  },
                  {
                    "type": "ArrayExpression",
                    "start": 31778,
                    "end": 31849,
                    "loc": {
                      "start": {
                        "line": 825,
                        "column": 57
                      },
                      "end": {
                        "line": 825,
                        "column": 128
                      }
                    },
                    "elements": [
                      {
                        "type": "ArrayExpression",
                        "start": 31779,
                        "end": 31786,
                        "loc": {
                          "start": {
                            "line": 825,
                            "column": 58
                          },
                          "end": {
                            "line": 825,
                            "column": 65
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 31780,
                            "end": 31781,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 59
                              },
                              "end": {
                                "line": 825,
                                "column": 60
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          {
                            "type": "Literal",
                            "start": 31783,
                            "end": 31785,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 62
                              },
                              "end": {
                                "line": 825,
                                "column": 64
                              }
                            },
                            "value": 10,
                            "rawValue": 10,
                            "raw": "10"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31788,
                        "end": 31795,
                        "loc": {
                          "start": {
                            "line": 825,
                            "column": 67
                          },
                          "end": {
                            "line": 825,
                            "column": 74
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 31789,
                            "end": 31790,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 68
                              },
                              "end": {
                                "line": 825,
                                "column": 69
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          {
                            "type": "Literal",
                            "start": 31792,
                            "end": 31794,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 71
                              },
                              "end": {
                                "line": 825,
                                "column": 73
                              }
                            },
                            "value": 20,
                            "rawValue": 20,
                            "raw": "20"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31797,
                        "end": 31804,
                        "loc": {
                          "start": {
                            "line": 825,
                            "column": 76
                          },
                          "end": {
                            "line": 825,
                            "column": 83
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 31798,
                            "end": 31799,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 77
                              },
                              "end": {
                                "line": 825,
                                "column": 78
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          {
                            "type": "Literal",
                            "start": 31801,
                            "end": 31803,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 80
                              },
                              "end": {
                                "line": 825,
                                "column": 82
                              }
                            },
                            "value": 30,
                            "rawValue": 30,
                            "raw": "30"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31806,
                        "end": 31815,
                        "loc": {
                          "start": {
                            "line": 825,
                            "column": 85
                          },
                          "end": {
                            "line": 825,
                            "column": 94
                          }
                        },
                        "elements": [
                          {
                            "type": "UnaryExpression",
                            "start": 31807,
                            "end": 31810,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 86
                              },
                              "end": {
                                "line": 825,
                                "column": 89
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "Literal",
                              "start": 31808,
                              "end": 31810,
                              "loc": {
                                "start": {
                                  "line": 825,
                                  "column": 87
                                },
                                "end": {
                                  "line": 825,
                                  "column": 89
                                }
                              },
                              "value": 10,
                              "rawValue": 10,
                              "raw": "10"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 31812,
                            "end": 31814,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 91
                              },
                              "end": {
                                "line": 825,
                                "column": 93
                              }
                            },
                            "value": 30,
                            "rawValue": 30,
                            "raw": "30"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31817,
                        "end": 31826,
                        "loc": {
                          "start": {
                            "line": 825,
                            "column": 96
                          },
                          "end": {
                            "line": 825,
                            "column": 105
                          }
                        },
                        "elements": [
                          {
                            "type": "UnaryExpression",
                            "start": 31818,
                            "end": 31821,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 97
                              },
                              "end": {
                                "line": 825,
                                "column": 100
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "Literal",
                              "start": 31819,
                              "end": 31821,
                              "loc": {
                                "start": {
                                  "line": 825,
                                  "column": 98
                                },
                                "end": {
                                  "line": 825,
                                  "column": 100
                                }
                              },
                              "value": 10,
                              "rawValue": 10,
                              "raw": "10"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 31823,
                            "end": 31825,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 102
                              },
                              "end": {
                                "line": 825,
                                "column": 104
                              }
                            },
                            "value": 20,
                            "rawValue": 20,
                            "raw": "20"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31828,
                        "end": 31837,
                        "loc": {
                          "start": {
                            "line": 825,
                            "column": 107
                          },
                          "end": {
                            "line": 825,
                            "column": 116
                          }
                        },
                        "elements": [
                          {
                            "type": "UnaryExpression",
                            "start": 31829,
                            "end": 31832,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 108
                              },
                              "end": {
                                "line": 825,
                                "column": 111
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "Literal",
                              "start": 31830,
                              "end": 31832,
                              "loc": {
                                "start": {
                                  "line": 825,
                                  "column": 109
                                },
                                "end": {
                                  "line": 825,
                                  "column": 111
                                }
                              },
                              "value": 20,
                              "rawValue": 20,
                              "raw": "20"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 31834,
                            "end": 31836,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 113
                              },
                              "end": {
                                "line": 825,
                                "column": 115
                              }
                            },
                            "value": 10,
                            "rawValue": 10,
                            "raw": "10"
                          }
                        ]
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 31839,
                        "end": 31848,
                        "loc": {
                          "start": {
                            "line": 825,
                            "column": 118
                          },
                          "end": {
                            "line": 825,
                            "column": 127
                          }
                        },
                        "elements": [
                          {
                            "type": "UnaryExpression",
                            "start": 31840,
                            "end": 31843,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 119
                              },
                              "end": {
                                "line": 825,
                                "column": 122
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "Literal",
                              "start": 31841,
                              "end": 31843,
                              "loc": {
                                "start": {
                                  "line": 825,
                                  "column": 120
                                },
                                "end": {
                                  "line": 825,
                                  "column": 122
                                }
                              },
                              "value": 50,
                              "rawValue": 50,
                              "raw": "50"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 31845,
                            "end": 31847,
                            "loc": {
                              "start": {
                                "line": 825,
                                "column": 124
                              },
                              "end": {
                                "line": 825,
                                "column": 126
                              }
                            },
                            "value": 30,
                            "rawValue": 30,
                            "raw": "30"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31856,
            "end": 31886,
            "loc": {
              "start": {
                "line": 826,
                "column": 4
              },
              "end": {
                "line": 826,
                "column": 34
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31856,
              "end": 31885,
              "loc": {
                "start": {
                  "line": 826,
                  "column": 4
                },
                "end": {
                  "line": 826,
                  "column": 33
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31862,
                "end": 31885,
                "loc": {
                  "start": {
                    "line": 826,
                    "column": 10
                  },
                  "end": {
                    "line": 826,
                    "column": 33
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31862,
                  "end": 31883,
                  "loc": {
                    "start": {
                      "line": 826,
                      "column": 10
                    },
                    "end": {
                      "line": 826,
                      "column": 31
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31862,
                    "end": 31866,
                    "loc": {
                      "start": {
                        "line": 826,
                        "column": 10
                      },
                      "end": {
                        "line": 826,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31867,
                    "end": 31883,
                    "loc": {
                      "start": {
                        "line": 826,
                        "column": 15
                      },
                      "end": {
                        "line": 826,
                        "column": 31
                      }
                    },
                    "name": "solveConstraints"
                  },
                  "computed": false
                },
                "arguments": []
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 31892,
            "end": 31923,
            "loc": {
              "start": {
                "line": 828,
                "column": 4
              },
              "end": {
                "line": 828,
                "column": 35
              }
            },
            "expression": {
              "type": "AwaitExpression",
              "start": 31892,
              "end": 31922,
              "loc": {
                "start": {
                  "line": 828,
                  "column": 4
                },
                "end": {
                  "line": 828,
                  "column": 34
                }
              },
              "all": false,
              "argument": {
                "type": "CallExpression",
                "start": 31898,
                "end": 31922,
                "loc": {
                  "start": {
                    "line": 828,
                    "column": 10
                  },
                  "end": {
                    "line": 828,
                    "column": 34
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 31898,
                  "end": 31915,
                  "loc": {
                    "start": {
                      "line": 828,
                      "column": 10
                    },
                    "end": {
                      "line": 828,
                      "column": 27
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 31898,
                    "end": 31902,
                    "loc": {
                      "start": {
                        "line": 828,
                        "column": 10
                      },
                      "end": {
                        "line": 828,
                        "column": 14
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 31903,
                    "end": 31915,
                    "loc": {
                      "start": {
                        "line": 828,
                        "column": 15
                      },
                      "end": {
                        "line": 828,
                        "column": 27
                      }
                    },
                    "name": "deleteObject"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 31916,
                    "end": 31921,
                    "loc": {
                      "start": {
                        "line": 828,
                        "column": 28
                      },
                      "end": {
                        "line": 828,
                        "column": 33
                      }
                    },
                    "name": "line2"
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 31927,
      "end": 32179,
      "loc": {
        "start": {
          "line": 831,
          "column": 0
        },
        "end": {
          "line": 836,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 31942,
        "end": 32179,
        "loc": {
          "start": {
            "line": 831,
            "column": 15
          },
          "end": {
            "line": 836,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 31957,
          "end": 31968,
          "loc": {
            "start": {
              "line": 831,
              "column": 30
            },
            "end": {
              "line": 831,
              "column": 41
            }
          },
          "name": "runAllTests"
        },
        "generator": false,
        "expression": false,
        "async": true,
        "params": [
          {
            "type": "Identifier",
            "start": 31969,
            "end": 31977,
            "loc": {
              "start": {
                "line": 831,
                "column": 42
              },
              "end": {
                "line": 831,
                "column": 50
              }
            },
            "name": "sketcher"
          },
          {
            "type": "Identifier",
            "start": 31979,
            "end": 31989,
            "loc": {
              "start": {
                "line": 831,
                "column": 52
              },
              "end": {
                "line": 831,
                "column": 62
              }
            },
            "name": "rootObject"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 31991,
          "end": 32179,
          "loc": {
            "start": {
              "line": 831,
              "column": 64
            },
            "end": {
              "line": 836,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 31997,
              "end": 32041,
              "loc": {
                "start": {
                  "line": 832,
                  "column": 4
                },
                "end": {
                  "line": 832,
                  "column": 48
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 32001,
                  "end": 32040,
                  "loc": {
                    "start": {
                      "line": 832,
                      "column": 8
                    },
                    "end": {
                      "line": 832,
                      "column": 47
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 32001,
                    "end": 32005,
                    "loc": {
                      "start": {
                        "line": 832,
                        "column": 8
                      },
                      "end": {
                        "line": 832,
                        "column": 12
                      }
                    },
                    "name": "auto"
                  },
                  "init": {
                    "type": "NewExpression",
                    "start": 32008,
                    "end": 32040,
                    "loc": {
                      "start": {
                        "line": 832,
                        "column": 15
                      },
                      "end": {
                        "line": 832,
                        "column": 47
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 32012,
                      "end": 32030,
                      "loc": {
                        "start": {
                          "line": 832,
                          "column": 19
                        },
                        "end": {
                          "line": 832,
                          "column": 37
                        }
                      },
                      "name": "SketcherAutomation"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 32031,
                        "end": 32039,
                        "loc": {
                          "start": {
                            "line": 832,
                            "column": 38
                          },
                          "end": {
                            "line": 832,
                            "column": 46
                          }
                        },
                        "name": "sketcher"
                      }
                    ]
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "auto.setRootObject(rootObject); //TODO: sketch creation?...",
                  "start": 32046,
                  "end": 32107,
                  "loc": {
                    "start": {
                      "line": 833,
                      "column": 4
                    },
                    "end": {
                      "line": 833,
                      "column": 65
                    }
                  },
                  "range": [
                    32046,
                    32107
                  ]
                }
              ]
            },
            {
              "type": "ExpressionStatement",
              "start": 32112,
              "end": 32138,
              "loc": {
                "start": {
                  "line": 834,
                  "column": 4
                },
                "end": {
                  "line": 834,
                  "column": 30
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 32112,
                "end": 32137,
                "loc": {
                  "start": {
                    "line": 834,
                    "column": 4
                  },
                  "end": {
                    "line": 834,
                    "column": 29
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 32112,
                  "end": 32132,
                  "loc": {
                    "start": {
                      "line": 834,
                      "column": 4
                    },
                    "end": {
                      "line": 834,
                      "column": 24
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 32112,
                    "end": 32116,
                    "loc": {
                      "start": {
                        "line": 834,
                        "column": 4
                      },
                      "end": {
                        "line": 834,
                        "column": 8
                      }
                    },
                    "name": "auto",
                    "leadingComments": null
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 32117,
                    "end": 32132,
                    "loc": {
                      "start": {
                        "line": 834,
                        "column": 9
                      },
                      "end": {
                        "line": 834,
                        "column": 24
                      }
                    },
                    "name": "setTickWaitTime"
                  },
                  "computed": false,
                  "leadingComments": null
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 32133,
                    "end": 32136,
                    "loc": {
                      "start": {
                        "line": 834,
                        "column": 25
                      },
                      "end": {
                        "line": 834,
                        "column": 28
                      }
                    },
                    "value": 200,
                    "rawValue": 200,
                    "raw": "200"
                  }
                ],
                "leadingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "auto.setRootObject(rootObject); //TODO: sketch creation?...",
                  "start": 32046,
                  "end": 32107,
                  "loc": {
                    "start": {
                      "line": 833,
                      "column": 4
                    },
                    "end": {
                      "line": 833,
                      "column": 65
                    }
                  },
                  "range": [
                    32046,
                    32107
                  ]
                }
              ]
            },
            {
              "type": "ExpressionStatement",
              "start": 32143,
              "end": 32177,
              "loc": {
                "start": {
                  "line": 835,
                  "column": 4
                },
                "end": {
                  "line": 835,
                  "column": 38
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 32143,
                "end": 32176,
                "loc": {
                  "start": {
                    "line": 835,
                    "column": 4
                  },
                  "end": {
                    "line": 835,
                    "column": 37
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 32143,
                  "end": 32155,
                  "loc": {
                    "start": {
                      "line": 835,
                      "column": 4
                    },
                    "end": {
                      "line": 835,
                      "column": 16
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 32143,
                    "end": 32147,
                    "loc": {
                      "start": {
                        "line": 835,
                        "column": 4
                      },
                      "end": {
                        "line": 835,
                        "column": 8
                      }
                    },
                    "name": "auto"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 32148,
                    "end": 32155,
                    "loc": {
                      "start": {
                        "line": 835,
                        "column": 9
                      },
                      "end": {
                        "line": 835,
                        "column": 16
                      }
                    },
                    "name": "execute"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 32156,
                    "end": 32175,
                    "loc": {
                      "start": {
                        "line": 835,
                        "column": 17
                      },
                      "end": {
                        "line": 835,
                        "column": 36
                      }
                    },
                    "name": "someAutomationStuff"
                  }
                ]
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      }
    }
  ]
}