{
  "type": "Program",
  "start": 0,
  "end": 24992,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 662,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 67,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 67
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 8,
          "end": 20,
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 20
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 8,
            "end": 20,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 20
              }
            },
            "name": "trackPromise"
          },
          "local": {
            "type": "Identifier",
            "start": 8,
            "end": 20,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 20
              }
            },
            "name": "trackPromise"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 22,
          "end": 29,
          "loc": {
            "start": {
              "line": 1,
              "column": 22
            },
            "end": {
              "line": 1,
              "column": 29
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 22,
            "end": 29,
            "loc": {
              "start": {
                "line": 1,
                "column": 22
              },
              "end": {
                "line": 1,
                "column": 29
              }
            },
            "name": "Interop"
          },
          "local": {
            "type": "Identifier",
            "start": 22,
            "end": 29,
            "loc": {
              "start": {
                "line": 1,
                "column": 22
              },
              "end": {
                "line": 1,
                "column": 29
              }
            },
            "name": "Interop"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 31,
          "end": 39,
          "loc": {
            "start": {
              "line": 1,
              "column": 31
            },
            "end": {
              "line": 1,
              "column": 39
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 31,
            "end": 39,
            "loc": {
              "start": {
                "line": 1,
                "column": 31
              },
              "end": {
                "line": 1,
                "column": 39
              }
            },
            "name": "logLevel"
          },
          "local": {
            "type": "Identifier",
            "start": 31,
            "end": 39,
            "loc": {
              "start": {
                "line": 1,
                "column": 31
              },
              "end": {
                "line": 1,
                "column": 39
              }
            },
            "name": "logLevel"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 46,
        "end": 66,
        "loc": {
          "start": {
            "line": 1,
            "column": 46
          },
          "end": {
            "line": 1,
            "column": 66
          }
        },
        "value": "sketcher/cchelpers",
        "rawValue": "sketcher/cchelpers",
        "raw": "'sketcher/cchelpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 68,
      "end": 127,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 59
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 76,
          "end": 95,
          "loc": {
            "start": {
              "line": 2,
              "column": 8
            },
            "end": {
              "line": 2,
              "column": 27
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 76,
            "end": 95,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 27
              }
            },
            "name": "ConstraintGenerator"
          },
          "local": {
            "type": "Identifier",
            "start": 76,
            "end": 95,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 27
              }
            },
            "name": "ConstraintGenerator"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 102,
        "end": 126,
        "loc": {
          "start": {
            "line": 2,
            "column": 34
          },
          "end": {
            "line": 2,
            "column": 58
          }
        },
        "value": "sketcher/constraintgen",
        "rawValue": "sketcher/constraintgen",
        "raw": "'sketcher/constraintgen'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 128,
      "end": 165,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 37
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 135,
          "end": 141,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 135,
            "end": 141,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "name": "Sketch"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 147,
        "end": 164,
        "loc": {
          "start": {
            "line": 3,
            "column": 19
          },
          "end": {
            "line": 3,
            "column": 36
          }
        },
        "value": "sketcher/sketch",
        "rawValue": "sketcher/sketch",
        "raw": "'sketcher/sketch'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 166,
      "end": 211,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 45
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 173,
          "end": 183,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 17
            }
          },
          "local": {
            "type": "Identifier",
            "start": 173,
            "end": 183,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 17
              }
            },
            "name": "Constraint"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 189,
        "end": 210,
        "loc": {
          "start": {
            "line": 4,
            "column": 23
          },
          "end": {
            "line": 4,
            "column": 44
          }
        },
        "value": "sketcher/constraint",
        "rawValue": "sketcher/constraint",
        "raw": "'sketcher/constraint'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 212,
      "end": 258,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 46
        }
      },
      "specifiers": [
        {
          "type": "ImportNamespaceSpecifier",
          "start": 219,
          "end": 232,
          "loc": {
            "start": {
              "line": 5,
              "column": 7
            },
            "end": {
              "line": 5,
              "column": 20
            }
          },
          "local": {
            "type": "Identifier",
            "start": 224,
            "end": 232,
            "loc": {
              "start": {
                "line": 5,
                "column": 12
              },
              "end": {
                "line": 5,
                "column": 20
              }
            },
            "name": "Controls"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 238,
        "end": 257,
        "loc": {
          "start": {
            "line": 5,
            "column": 26
          },
          "end": {
            "line": 5,
            "column": 45
          }
        },
        "value": "sketcher/controls",
        "rawValue": "sketcher/controls",
        "raw": "'sketcher/controls'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 259,
      "end": 313,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 54
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 267,
          "end": 272,
          "loc": {
            "start": {
              "line": 6,
              "column": 8
            },
            "end": {
              "line": 6,
              "column": 13
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 267,
            "end": 272,
            "loc": {
              "start": {
                "line": 6,
                "column": 8
              },
              "end": {
                "line": 6,
                "column": 13
              }
            },
            "name": "Point"
          },
          "local": {
            "type": "Identifier",
            "start": 267,
            "end": 272,
            "loc": {
              "start": {
                "line": 6,
                "column": 8
              },
              "end": {
                "line": 6,
                "column": 13
              }
            },
            "name": "Point"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 274,
          "end": 278,
          "loc": {
            "start": {
              "line": 6,
              "column": 15
            },
            "end": {
              "line": 6,
              "column": 19
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 274,
            "end": 278,
            "loc": {
              "start": {
                "line": 6,
                "column": 15
              },
              "end": {
                "line": 6,
                "column": 19
              }
            },
            "name": "Line"
          },
          "local": {
            "type": "Identifier",
            "start": 274,
            "end": 278,
            "loc": {
              "start": {
                "line": 6,
                "column": 15
              },
              "end": {
                "line": 6,
                "column": 19
              }
            },
            "name": "Line"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 280,
          "end": 283,
          "loc": {
            "start": {
              "line": 6,
              "column": 21
            },
            "end": {
              "line": 6,
              "column": 24
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 280,
            "end": 283,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 24
              }
            },
            "name": "Arc"
          },
          "local": {
            "type": "Identifier",
            "start": 280,
            "end": 283,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 24
              }
            },
            "name": "Arc"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 290,
        "end": 312,
        "loc": {
          "start": {
            "line": 6,
            "column": 31
          },
          "end": {
            "line": 6,
            "column": 53
          }
        },
        "value": "sketcher/geomobjects",
        "rawValue": "sketcher/geomobjects",
        "raw": "'sketcher/geomobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 314,
      "end": 349,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 35
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 321,
          "end": 326,
          "loc": {
            "start": {
              "line": 7,
              "column": 7
            },
            "end": {
              "line": 7,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 321,
            "end": 326,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 12
              }
            },
            "name": "Orbit"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 332,
        "end": 348,
        "loc": {
          "start": {
            "line": 7,
            "column": 18
          },
          "end": {
            "line": 7,
            "column": 34
          }
        },
        "value": "controls/orbit",
        "rawValue": "controls/orbit",
        "raw": "'controls/orbit'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 350,
      "end": 383,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 33
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 357,
          "end": 363,
          "loc": {
            "start": {
              "line": 8,
              "column": 7
            },
            "end": {
              "line": 8,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 357,
            "end": 363,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 13
              }
            },
            "name": "Plugin"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 369,
        "end": 382,
        "loc": {
          "start": {
            "line": 8,
            "column": 19
          },
          "end": {
            "line": 8,
            "column": 32
          }
        },
        "value": "core/plugin",
        "rawValue": "core/plugin",
        "raw": "'core/plugin'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 384,
      "end": 420,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 36
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 391,
          "end": 398,
          "loc": {
            "start": {
              "line": 9,
              "column": 7
            },
            "end": {
              "line": 9,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 391,
            "end": 398,
            "loc": {
              "start": {
                "line": 9,
                "column": 7
              },
              "end": {
                "line": 9,
                "column": 14
              }
            },
            "name": "Object3"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 404,
        "end": 419,
        "loc": {
          "start": {
            "line": 9,
            "column": 20
          },
          "end": {
            "line": 9,
            "column": 35
          }
        },
        "value": "three/object3",
        "rawValue": "three/object3",
        "raw": "'three/object3'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 421,
      "end": 447,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 428,
          "end": 433,
          "loc": {
            "start": {
              "line": 10,
              "column": 7
            },
            "end": {
              "line": 10,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 428,
            "end": 433,
            "loc": {
              "start": {
                "line": 10,
                "column": 7
              },
              "end": {
                "line": 10,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 439,
        "end": 446,
        "loc": {
          "start": {
            "line": 10,
            "column": 18
          },
          "end": {
            "line": 10,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 448,
      "end": 559,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 111
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 455,
          "end": 467,
          "loc": {
            "start": {
              "line": 11,
              "column": 7
            },
            "end": {
              "line": 11,
              "column": 19
            }
          },
          "local": {
            "type": "Identifier",
            "start": 455,
            "end": 467,
            "loc": {
              "start": {
                "line": 11,
                "column": 7
              },
              "end": {
                "line": 11,
                "column": 19
              }
            },
            "name": "SketcherFont"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 473,
        "end": 558,
        "loc": {
          "start": {
            "line": 11,
            "column": 25
          },
          "end": {
            "line": 11,
            "column": 110
          }
        },
        "value": "json!../../node_modules/three/examples/fonts/droid/droid_sans_regular.typeface.json",
        "rawValue": "json!../../node_modules/three/examples/fonts/droid/droid_sans_regular.typeface.json",
        "raw": "'json!../../node_modules/three/examples/fonts/droid/droid_sans_regular.typeface.json'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 560,
      "end": 599,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 568,
          "end": 577,
          "loc": {
            "start": {
              "line": 12,
              "column": 8
            },
            "end": {
              "line": 12,
              "column": 17
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 568,
            "end": 577,
            "loc": {
              "start": {
                "line": 12,
                "column": 8
              },
              "end": {
                "line": 12,
                "column": 17
              }
            },
            "name": "Timestamp"
          },
          "local": {
            "type": "Identifier",
            "start": 568,
            "end": 577,
            "loc": {
              "start": {
                "line": 12,
                "column": 8
              },
              "end": {
                "line": 12,
                "column": 17
              }
            },
            "name": "Timestamp"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 584,
        "end": 598,
        "loc": {
          "start": {
            "line": 12,
            "column": 24
          },
          "end": {
            "line": 12,
            "column": 38
          }
        },
        "value": "core/helpers",
        "rawValue": "core/helpers",
        "raw": "'core/helpers'"
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "note: only for testing purposes",
          "start": 600,
          "end": 633,
          "loc": {
            "start": {
              "line": 13,
              "column": 0
            },
            "end": {
              "line": 13,
              "column": 33
            }
          },
          "range": [
            600,
            633
          ]
        }
      ]
    },
    {
      "type": "ImportDeclaration",
      "start": 634,
      "end": 679,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 45
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 641,
          "end": 652,
          "loc": {
            "start": {
              "line": 14,
              "column": 7
            },
            "end": {
              "line": 14,
              "column": 18
            }
          },
          "local": {
            "type": "Identifier",
            "start": 641,
            "end": 652,
            "loc": {
              "start": {
                "line": 14,
                "column": 7
              },
              "end": {
                "line": 14,
                "column": 18
              }
            },
            "name": "RunAllTests",
            "leadingComments": null
          },
          "leadingComments": null
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 658,
        "end": 678,
        "loc": {
          "start": {
            "line": 14,
            "column": 24
          },
          "end": {
            "line": 14,
            "column": 44
          }
        },
        "value": "sketcher/unittests",
        "rawValue": "sketcher/unittests",
        "raw": "'sketcher/unittests'"
      },
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "note: only for testing purposes",
          "start": 600,
          "end": 633,
          "loc": {
            "start": {
              "line": 13,
              "column": 0
            },
            "end": {
              "line": 13,
              "column": 33
            }
          },
          "range": [
            600,
            633
          ]
        }
      ]
    },
    {
      "type": "ClassDeclaration",
      "start": 681,
      "end": 1154,
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 36,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 687,
        "end": 701,
        "loc": {
          "start": {
            "line": 16,
            "column": 6
          },
          "end": {
            "line": 16,
            "column": 20
          }
        },
        "name": "CursorPosition"
      },
      "superClass": {
        "type": "MemberExpression",
        "start": 710,
        "end": 723,
        "loc": {
          "start": {
            "line": 16,
            "column": 29
          },
          "end": {
            "line": 16,
            "column": 42
          }
        },
        "object": {
          "type": "Identifier",
          "start": 710,
          "end": 715,
          "loc": {
            "start": {
              "line": 16,
              "column": 29
            },
            "end": {
              "line": 16,
              "column": 34
            }
          },
          "name": "THREE"
        },
        "property": {
          "type": "Identifier",
          "start": 716,
          "end": 723,
          "loc": {
            "start": {
              "line": 16,
              "column": 35
            },
            "end": {
              "line": 16,
              "column": 42
            }
          },
          "name": "Vector3"
        },
        "computed": false
      },
      "body": {
        "type": "ClassBody",
        "start": 724,
        "end": 1154,
        "loc": {
          "start": {
            "line": 16,
            "column": 43
          },
          "end": {
            "line": 36,
            "column": 1
          }
        },
        "body": [
          {
            "type": "MethodDefinition",
            "start": 730,
            "end": 841,
            "loc": {
              "start": {
                "line": 17,
                "column": 4
              },
              "end": {
                "line": 21,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 730,
              "end": 741,
              "loc": {
                "start": {
                  "line": 17,
                  "column": 4
                },
                "end": {
                  "line": 17,
                  "column": 15
                }
              },
              "name": "constructor"
            },
            "static": false,
            "kind": "constructor",
            "value": {
              "type": "FunctionExpression",
              "start": 741,
              "end": 841,
              "loc": {
                "start": {
                  "line": 17,
                  "column": 15
                },
                "end": {
                  "line": 21,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 742,
                  "end": 750,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 16
                    },
                    "end": {
                      "line": 17,
                      "column": 24
                    }
                  },
                  "name": "notifier"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 752,
                "end": 841,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 26
                  },
                  "end": {
                    "line": 21,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 762,
                    "end": 770,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 8
                      },
                      "end": {
                        "line": 18,
                        "column": 16
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 762,
                      "end": 769,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 15
                        }
                      },
                      "callee": {
                        "type": "Super",
                        "start": 762,
                        "end": 767,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 8
                          },
                          "end": {
                            "line": 18,
                            "column": 13
                          }
                        }
                      },
                      "arguments": []
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 779,
                    "end": 801,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 8
                      },
                      "end": {
                        "line": 19,
                        "column": 30
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 779,
                      "end": 800,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 19,
                          "column": 29
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 779,
                        "end": 786,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 19,
                            "column": 15
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 779,
                          "end": 783,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 8
                            },
                            "end": {
                              "line": 19,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 784,
                          "end": 786,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 13
                            },
                            "end": {
                              "line": 19,
                              "column": 15
                            }
                          },
                          "name": "_x"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "AssignmentExpression",
                        "start": 789,
                        "end": 800,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 18
                          },
                          "end": {
                            "line": 19,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 789,
                          "end": 796,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 18
                            },
                            "end": {
                              "line": 19,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 789,
                            "end": 793,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 18
                              },
                              "end": {
                                "line": 19,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 794,
                            "end": 796,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 23
                              },
                              "end": {
                                "line": 19,
                                "column": 25
                              }
                            },
                            "name": "_y"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 799,
                          "end": 800,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 28
                            },
                            "end": {
                              "line": 19,
                              "column": 29
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 810,
                    "end": 835,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 8
                      },
                      "end": {
                        "line": 20,
                        "column": 33
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 810,
                      "end": 834,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 8
                        },
                        "end": {
                          "line": 20,
                          "column": 32
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 810,
                        "end": 823,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 8
                          },
                          "end": {
                            "line": 20,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 810,
                          "end": 814,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 8
                            },
                            "end": {
                              "line": 20,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 815,
                          "end": 823,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 13
                            },
                            "end": {
                              "line": 20,
                              "column": 21
                            }
                          },
                          "name": "notifier"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 826,
                        "end": 834,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 24
                          },
                          "end": {
                            "line": 20,
                            "column": 32
                          }
                        },
                        "name": "notifier"
                      }
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 846,
            "end": 873,
            "loc": {
              "start": {
                "line": 22,
                "column": 4
              },
              "end": {
                "line": 22,
                "column": 31
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 850,
              "end": 851,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 8
                },
                "end": {
                  "line": 22,
                  "column": 9
                }
              },
              "name": "x"
            },
            "static": false,
            "kind": "get",
            "value": {
              "type": "FunctionExpression",
              "start": 851,
              "end": 873,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 9
                },
                "end": {
                  "line": 22,
                  "column": 31
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 854,
                "end": 873,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 12
                  },
                  "end": {
                    "line": 22,
                    "column": 31
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 856,
                    "end": 871,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 14
                      },
                      "end": {
                        "line": 22,
                        "column": 29
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 863,
                      "end": 870,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 21
                        },
                        "end": {
                          "line": 22,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 863,
                        "end": 867,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 21
                          },
                          "end": {
                            "line": 22,
                            "column": 25
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 868,
                        "end": 870,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 26
                          },
                          "end": {
                            "line": 22,
                            "column": 28
                          }
                        },
                        "name": "_x"
                      },
                      "computed": false
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 878,
            "end": 905,
            "loc": {
              "start": {
                "line": 23,
                "column": 4
              },
              "end": {
                "line": 23,
                "column": 31
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 882,
              "end": 883,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 8
                },
                "end": {
                  "line": 23,
                  "column": 9
                }
              },
              "name": "y"
            },
            "static": false,
            "kind": "get",
            "value": {
              "type": "FunctionExpression",
              "start": 883,
              "end": 905,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 9
                },
                "end": {
                  "line": 23,
                  "column": 31
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 886,
                "end": 905,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 12
                  },
                  "end": {
                    "line": 23,
                    "column": 31
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 888,
                    "end": 903,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 14
                      },
                      "end": {
                        "line": 23,
                        "column": 29
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 895,
                      "end": 902,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 21
                        },
                        "end": {
                          "line": 23,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 895,
                        "end": 899,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 21
                          },
                          "end": {
                            "line": 23,
                            "column": 25
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 900,
                        "end": 902,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 26
                          },
                          "end": {
                            "line": 23,
                            "column": 28
                          }
                        },
                        "name": "_y"
                      },
                      "computed": false
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 910,
            "end": 931,
            "loc": {
              "start": {
                "line": 24,
                "column": 4
              },
              "end": {
                "line": 24,
                "column": 25
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 914,
              "end": 915,
              "loc": {
                "start": {
                  "line": 24,
                  "column": 8
                },
                "end": {
                  "line": 24,
                  "column": 9
                }
              },
              "name": "z"
            },
            "static": false,
            "kind": "get",
            "value": {
              "type": "FunctionExpression",
              "start": 915,
              "end": 931,
              "loc": {
                "start": {
                  "line": 24,
                  "column": 9
                },
                "end": {
                  "line": 24,
                  "column": 25
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 918,
                "end": 931,
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 12
                  },
                  "end": {
                    "line": 24,
                    "column": 25
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 920,
                    "end": 929,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 14
                      },
                      "end": {
                        "line": 24,
                        "column": 23
                      }
                    },
                    "argument": {
                      "type": "Literal",
                      "start": 927,
                      "end": 928,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 21
                        },
                        "end": {
                          "line": 24,
                          "column": 22
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 936,
            "end": 1020,
            "loc": {
              "start": {
                "line": 25,
                "column": 4
              },
              "end": {
                "line": 29,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 936,
              "end": 939,
              "loc": {
                "start": {
                  "line": 25,
                  "column": 4
                },
                "end": {
                  "line": 25,
                  "column": 7
                }
              },
              "name": "set"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 939,
              "end": 1020,
              "loc": {
                "start": {
                  "line": 25,
                  "column": 7
                },
                "end": {
                  "line": 29,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 940,
                  "end": 941,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 8
                    },
                    "end": {
                      "line": 25,
                      "column": 9
                    }
                  },
                  "name": "x"
                },
                {
                  "type": "Identifier",
                  "start": 943,
                  "end": 944,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 11
                    },
                    "end": {
                      "line": 25,
                      "column": 12
                    }
                  },
                  "name": "y"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 946,
                "end": 1020,
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 14
                  },
                  "end": {
                    "line": 29,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 956,
                    "end": 968,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 8
                      },
                      "end": {
                        "line": 26,
                        "column": 20
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 956,
                      "end": 967,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 19
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 956,
                        "end": 963,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 8
                          },
                          "end": {
                            "line": 26,
                            "column": 15
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 956,
                          "end": 960,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 26,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 961,
                          "end": 963,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 13
                            },
                            "end": {
                              "line": 26,
                              "column": 15
                            }
                          },
                          "name": "_x"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 966,
                        "end": 967,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 18
                          },
                          "end": {
                            "line": 26,
                            "column": 19
                          }
                        },
                        "name": "x"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 977,
                    "end": 989,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 8
                      },
                      "end": {
                        "line": 27,
                        "column": 20
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 977,
                      "end": 988,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 19
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 977,
                        "end": 984,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 8
                          },
                          "end": {
                            "line": 27,
                            "column": 15
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 977,
                          "end": 981,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 8
                            },
                            "end": {
                              "line": 27,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 982,
                          "end": 984,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 13
                            },
                            "end": {
                              "line": 27,
                              "column": 15
                            }
                          },
                          "name": "_y"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 987,
                        "end": 988,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 18
                          },
                          "end": {
                            "line": 27,
                            "column": 19
                          }
                        },
                        "name": "y"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 998,
                    "end": 1014,
                    "loc": {
                      "start": {
                        "line": 28,
                        "column": 8
                      },
                      "end": {
                        "line": 28,
                        "column": 24
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 998,
                      "end": 1013,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 8
                        },
                        "end": {
                          "line": 28,
                          "column": 23
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 998,
                        "end": 1011,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 8
                          },
                          "end": {
                            "line": 28,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 998,
                          "end": 1002,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1003,
                          "end": 1011,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 13
                            },
                            "end": {
                              "line": 28,
                              "column": 21
                            }
                          },
                          "name": "notifier"
                        },
                        "computed": false
                      },
                      "arguments": []
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 1025,
            "end": 1074,
            "loc": {
              "start": {
                "line": 30,
                "column": 4
              },
              "end": {
                "line": 32,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 1025,
              "end": 1029,
              "loc": {
                "start": {
                  "line": 30,
                  "column": 4
                },
                "end": {
                  "line": 30,
                  "column": 8
                }
              },
              "name": "copy"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 1029,
              "end": 1074,
              "loc": {
                "start": {
                  "line": 30,
                  "column": 8
                },
                "end": {
                  "line": 32,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1030,
                  "end": 1033,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 9
                    },
                    "end": {
                      "line": 30,
                      "column": 12
                    }
                  },
                  "name": "pos"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1035,
                "end": 1074,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 14
                  },
                  "end": {
                    "line": 32,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 1045,
                    "end": 1068,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 8
                      },
                      "end": {
                        "line": 31,
                        "column": 31
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1045,
                      "end": 1067,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 8
                        },
                        "end": {
                          "line": 31,
                          "column": 30
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1045,
                        "end": 1053,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 8
                          },
                          "end": {
                            "line": 31,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1045,
                          "end": 1049,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1050,
                          "end": 1053,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 13
                            },
                            "end": {
                              "line": 31,
                              "column": 16
                            }
                          },
                          "name": "set"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 1054,
                          "end": 1059,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 17
                            },
                            "end": {
                              "line": 31,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1054,
                            "end": 1057,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 17
                              },
                              "end": {
                                "line": 31,
                                "column": 20
                              }
                            },
                            "name": "pos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1058,
                            "end": 1059,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 21
                              },
                              "end": {
                                "line": 31,
                                "column": 22
                              }
                            },
                            "name": "x"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 1061,
                          "end": 1066,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 24
                            },
                            "end": {
                              "line": 31,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1061,
                            "end": 1064,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 24
                              },
                              "end": {
                                "line": 31,
                                "column": 27
                              }
                            },
                            "name": "pos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1065,
                            "end": 1066,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 28
                              },
                              "end": {
                                "line": 31,
                                "column": 29
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 1079,
            "end": 1152,
            "loc": {
              "start": {
                "line": 33,
                "column": 4
              },
              "end": {
                "line": 35,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 1079,
              "end": 1084,
              "loc": {
                "start": {
                  "line": 33,
                  "column": 4
                },
                "end": {
                  "line": 33,
                  "column": 9
                }
              },
              "name": "clone"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 1084,
              "end": 1152,
              "loc": {
                "start": {
                  "line": 33,
                  "column": 9
                },
                "end": {
                  "line": 35,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 1087,
                "end": 1152,
                "loc": {
                  "start": {
                    "line": 33,
                    "column": 12
                  },
                  "end": {
                    "line": 35,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 1097,
                    "end": 1146,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 8
                      },
                      "end": {
                        "line": 34,
                        "column": 57
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 1104,
                      "end": 1145,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 15
                        },
                        "end": {
                          "line": 34,
                          "column": 56
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1108,
                        "end": 1121,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 19
                          },
                          "end": {
                            "line": 34,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1108,
                          "end": 1113,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 19
                            },
                            "end": {
                              "line": 34,
                              "column": 24
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1114,
                          "end": 1121,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 25
                            },
                            "end": {
                              "line": 34,
                              "column": 32
                            }
                          },
                          "name": "Vector3"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 1122,
                          "end": 1128,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 33
                            },
                            "end": {
                              "line": 34,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1122,
                            "end": 1126,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 33
                              },
                              "end": {
                                "line": 34,
                                "column": 37
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1127,
                            "end": 1128,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 38
                              },
                              "end": {
                                "line": 34,
                                "column": 39
                              }
                            },
                            "name": "x"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 1130,
                          "end": 1136,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 41
                            },
                            "end": {
                              "line": 34,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1130,
                            "end": 1134,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 41
                              },
                              "end": {
                                "line": 34,
                                "column": 45
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1135,
                            "end": 1136,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 46
                              },
                              "end": {
                                "line": 34,
                                "column": 47
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 1138,
                          "end": 1144,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 49
                            },
                            "end": {
                              "line": 34,
                              "column": 55
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1138,
                            "end": 1142,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 49
                              },
                              "end": {
                                "line": 34,
                                "column": 53
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1143,
                            "end": 1144,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 54
                              },
                              "end": {
                                "line": 34,
                                "column": 55
                              }
                            },
                            "name": "z"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 1156,
      "end": 20221,
      "loc": {
        "start": {
          "line": 38,
          "column": 0
        },
        "end": {
          "line": 557,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 1171,
        "end": 20221,
        "loc": {
          "start": {
            "line": 38,
            "column": 15
          },
          "end": {
            "line": 557,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1177,
          "end": 1185,
          "loc": {
            "start": {
              "line": 38,
              "column": 21
            },
            "end": {
              "line": 38,
              "column": 29
            }
          },
          "name": "Sketcher"
        },
        "superClass": {
          "type": "Identifier",
          "start": 1194,
          "end": 1200,
          "loc": {
            "start": {
              "line": 38,
              "column": 38
            },
            "end": {
              "line": 38,
              "column": 44
            }
          },
          "name": "Plugin"
        },
        "body": {
          "type": "ClassBody",
          "start": 1201,
          "end": 20221,
          "loc": {
            "start": {
              "line": 38,
              "column": 45
            },
            "end": {
              "line": 557,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 1257,
              "end": 5156,
              "loc": {
                "start": {
                  "line": 40,
                  "column": 4
                },
                "end": {
                  "line": 128,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1257,
                "end": 1268,
                "loc": {
                  "start": {
                    "line": 40,
                    "column": 4
                  },
                  "end": {
                    "line": 40,
                    "column": 15
                  }
                },
                "name": "constructor",
                "leadingComments": null
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 1268,
                "end": 5156,
                "loc": {
                  "start": {
                    "line": 40,
                    "column": 15
                  },
                  "end": {
                    "line": 128,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1269,
                    "end": 1276,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 16
                      },
                      "end": {
                        "line": 40,
                        "column": 23
                      }
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1278,
                  "end": 5156,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 25
                    },
                    "end": {
                      "line": 128,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1288,
                      "end": 1303,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1288,
                        "end": 1302,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 1288,
                          "end": 1293,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1294,
                            "end": 1301,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 14
                              },
                              "end": {
                                "line": 41,
                                "column": 21
                              }
                            },
                            "name": "options"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1312,
                      "end": 1338,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1312,
                        "end": 1337,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1312,
                          "end": 1330,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1312,
                            "end": 1316,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1317,
                            "end": 1330,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 13
                              },
                              "end": {
                                "line": 42,
                                "column": 26
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 1333,
                          "end": 1337,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 29
                            },
                            "end": {
                              "line": 42,
                              "column": 33
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1348,
                      "end": 1382,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 44,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1348,
                        "end": 1381,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 8
                          },
                          "end": {
                            "line": 44,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1348,
                          "end": 1375,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1348,
                            "end": 1371,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 8
                              },
                              "end": {
                                "line": 44,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1348,
                              "end": 1365,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 8
                                },
                                "end": {
                                  "line": 44,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1348,
                                "end": 1360,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1348,
                                  "end": 1352,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1353,
                                  "end": 1360,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 20
                                    }
                                  },
                                  "name": "options"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1361,
                                "end": 1365,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 25
                                  }
                                },
                                "name": "view"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1366,
                              "end": 1371,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 26
                                },
                                "end": {
                                  "line": 44,
                                  "column": 31
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1372,
                            "end": 1375,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 32
                              },
                              "end": {
                                "line": 44,
                                "column": 35
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 1376,
                            "end": 1380,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 36
                              },
                              "end": {
                                "line": 44,
                                "column": 40
                              }
                            }
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "reqiured to handle interaction events",
                          "start": 1383,
                          "end": 1422,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 43
                            },
                            "end": {
                              "line": 44,
                              "column": 82
                            }
                          },
                          "range": [
                            1383,
                            1422
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1432,
                      "end": 1470,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1432,
                        "end": 1469,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 45
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1432,
                          "end": 1449,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1432,
                            "end": 1436,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1437,
                            "end": 1449,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 13
                              },
                              "end": {
                                "line": 46,
                                "column": 25
                              }
                            },
                            "name": "__parentView"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1452,
                          "end": 1469,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 28
                            },
                            "end": {
                              "line": 46,
                              "column": 45
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1452,
                            "end": 1464,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 28
                              },
                              "end": {
                                "line": 46,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1452,
                              "end": 1456,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 28
                                },
                                "end": {
                                  "line": 46,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1457,
                              "end": 1464,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 33
                                },
                                "end": {
                                  "line": 46,
                                  "column": 40
                                }
                              },
                              "name": "options"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1465,
                            "end": 1469,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 41
                              },
                              "end": {
                                "line": 46,
                                "column": 45
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "reqiured to handle interaction events",
                          "start": 1383,
                          "end": 1422,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 43
                            },
                            "end": {
                              "line": 44,
                              "column": 82
                            }
                          },
                          "range": [
                            1383,
                            1422
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "a method currently intended to handle any mouse events on the selected sketch",
                          "start": 1480,
                          "end": 1559,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 87
                            }
                          },
                          "range": [
                            1480,
                            1559
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1568,
                      "end": 1604,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1568,
                        "end": 1603,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 43
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1568,
                          "end": 1596,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1568,
                            "end": 1572,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 8
                              },
                              "end": {
                                "line": 49,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1573,
                            "end": 1596,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 13
                              },
                              "end": {
                                "line": 49,
                                "column": 36
                              }
                            },
                            "name": "__sketchControlsHandler"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 1599,
                          "end": 1603,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 39
                            },
                            "end": {
                              "line": 49,
                              "column": 43
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "a method currently intended to handle any mouse events on the selected sketch",
                          "start": 1480,
                          "end": 1559,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 87
                            }
                          },
                          "range": [
                            1480,
                            1559
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "used for drawing text labels of dimensions",
                          "start": 1614,
                          "end": 1658,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 52
                            }
                          },
                          "range": [
                            1614,
                            1658
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1667,
                      "end": 1707,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 48
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1671,
                          "end": 1706,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 12
                            },
                            "end": {
                              "line": 52,
                              "column": 47
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1671,
                            "end": 1681,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 12
                              },
                              "end": {
                                "line": 52,
                                "column": 22
                              }
                            },
                            "name": "fontLoader",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 1684,
                            "end": 1706,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 25
                              },
                              "end": {
                                "line": 52,
                                "column": 47
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1688,
                              "end": 1704,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 29
                                },
                                "end": {
                                  "line": 52,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1688,
                                "end": 1693,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 34
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1694,
                                "end": 1704,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 45
                                  }
                                },
                                "name": "FontLoader"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "used for drawing text labels of dimensions",
                          "start": 1614,
                          "end": 1658,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 52
                            }
                          },
                          "range": [
                            1614,
                            1658
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1716,
                      "end": 1759,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1716,
                        "end": 1758,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 8
                          },
                          "end": {
                            "line": 53,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1716,
                          "end": 1725,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1716,
                            "end": 1720,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 8
                              },
                              "end": {
                                "line": 53,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1721,
                            "end": 1725,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 13
                              },
                              "end": {
                                "line": 53,
                                "column": 17
                              }
                            },
                            "name": "font"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 1728,
                          "end": 1758,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 20
                            },
                            "end": {
                              "line": 53,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1728,
                            "end": 1744,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 20
                              },
                              "end": {
                                "line": 53,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1728,
                              "end": 1738,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 20
                                },
                                "end": {
                                  "line": 53,
                                  "column": 30
                                }
                              },
                              "name": "fontLoader"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1739,
                              "end": 1744,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 31
                                },
                                "end": {
                                  "line": 53,
                                  "column": 36
                                }
                              },
                              "name": "parse"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1745,
                              "end": 1757,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 37
                                },
                                "end": {
                                  "line": 53,
                                  "column": 49
                                }
                              },
                              "name": "SketcherFont"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1768,
                      "end": 1811,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1768,
                        "end": 1810,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 8
                          },
                          "end": {
                            "line": 54,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1768,
                          "end": 1798,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1768,
                            "end": 1793,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 8
                              },
                              "end": {
                                "line": 54,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1768,
                              "end": 1778,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 8
                                },
                                "end": {
                                  "line": 54,
                                  "column": 18
                                }
                              },
                              "name": "Constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1779,
                              "end": 1793,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 19
                                },
                                "end": {
                                  "line": 54,
                                  "column": 33
                                }
                              },
                              "name": "TextParameters"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1794,
                            "end": 1798,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 34
                              },
                              "end": {
                                "line": 54,
                                "column": 38
                              }
                            },
                            "name": "font"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1801,
                          "end": 1810,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 41
                            },
                            "end": {
                              "line": 54,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1801,
                            "end": 1805,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 41
                              },
                              "end": {
                                "line": 54,
                                "column": 45
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1806,
                            "end": 1810,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 46
                              },
                              "end": {
                                "line": 54,
                                "column": 50
                              }
                            },
                            "name": "font"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " data for viewmodel",
                          "start": 1821,
                          "end": 1842,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 29
                            }
                          },
                          "range": [
                            1821,
                            1842
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1851,
                      "end": 2793,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1851,
                        "end": 2792,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1851,
                          "end": 1865,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 57,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1851,
                            "end": 1855,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 8
                              },
                              "end": {
                                "line": 57,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1856,
                            "end": 1865,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 13
                              },
                              "end": {
                                "line": 57,
                                "column": 22
                              }
                            },
                            "name": "modelData"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 1868,
                          "end": 2792,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 25
                            },
                            "end": {
                              "line": 75,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 1882,
                              "end": 1905,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 12
                                },
                                "end": {
                                  "line": 58,
                                  "column": 35
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1882,
                                "end": 1898,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 28
                                  }
                                },
                                "name": "isSketchSelected"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 1900,
                                "end": 1905,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 35
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 1919,
                              "end": 1933,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 12
                                },
                                "end": {
                                  "line": 59,
                                  "column": 26
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1919,
                                "end": 1929,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 22
                                  }
                                },
                                "name": "promptText"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 1931,
                                "end": 1933,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 26
                                  }
                                },
                                "value": "",
                                "rawValue": "",
                                "raw": "''"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 1947,
                              "end": 1977,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 12
                                },
                                "end": {
                                  "line": 60,
                                  "column": 42
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1947,
                                "end": 1970,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 35
                                  }
                                },
                                "name": "isConstraintFormVisible"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 1972,
                                "end": 1977,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 42
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 1991,
                              "end": 2015,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 12
                                },
                                "end": {
                                  "line": 61,
                                  "column": 36
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1991,
                                "end": 2011,
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 32
                                  }
                                },
                                "name": "constraintExpression"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2013,
                                "end": 2015,
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 36
                                  }
                                },
                                "value": "",
                                "rawValue": "",
                                "raw": "\"\""
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2029,
                              "end": 2047,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 12
                                },
                                "end": {
                                  "line": 62,
                                  "column": 30
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2029,
                                "end": 2044,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 27
                                  }
                                },
                                "name": "constraintValue"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2046,
                                "end": 2047,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 30
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2061,
                              "end": 2082,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 12
                                },
                                "end": {
                                  "line": 63,
                                  "column": 33
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2061,
                                "end": 2076,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 27
                                  }
                                },
                                "name": "constraintFixed"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2078,
                                "end": 2082,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 33
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2096,
                              "end": 2222,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 12
                                },
                                "end": {
                                  "line": 64,
                                  "column": 138
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2100,
                                "end": 2110,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 26
                                  }
                                },
                                "name": "constraint"
                              },
                              "kind": "get",
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2110,
                                "end": 2222,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 138
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2113,
                                  "end": 2222,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 138
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "start": 2115,
                                      "end": 2220,
                                      "loc": {
                                        "start": {
                                          "line": 64,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 64,
                                          "column": 136
                                        }
                                      },
                                      "argument": {
                                        "type": "ObjectExpression",
                                        "start": 2122,
                                        "end": 2219,
                                        "loc": {
                                          "start": {
                                            "line": 64,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 64,
                                            "column": 135
                                          }
                                        },
                                        "properties": [
                                          {
                                            "type": "Property",
                                            "start": 2123,
                                            "end": 2160,
                                            "loc": {
                                              "start": {
                                                "line": 64,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 64,
                                                "column": 76
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 2123,
                                              "end": 2133,
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 49
                                                }
                                              },
                                              "name": "expression"
                                            },
                                            "value": {
                                              "type": "MemberExpression",
                                              "start": 2135,
                                              "end": 2160,
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 76
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 2135,
                                                "end": 2139,
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 55
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2140,
                                                "end": 2160,
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 56
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 76
                                                  }
                                                },
                                                "name": "constraintExpression"
                                              },
                                              "computed": false
                                            },
                                            "kind": "init"
                                          },
                                          {
                                            "type": "Property",
                                            "start": 2162,
                                            "end": 2189,
                                            "loc": {
                                              "start": {
                                                "line": 64,
                                                "column": 78
                                              },
                                              "end": {
                                                "line": 64,
                                                "column": 105
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 2162,
                                              "end": 2167,
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 78
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 83
                                                }
                                              },
                                              "name": "value"
                                            },
                                            "value": {
                                              "type": "MemberExpression",
                                              "start": 2169,
                                              "end": 2189,
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 85
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 105
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 2169,
                                                "end": 2173,
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 85
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 89
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2174,
                                                "end": 2189,
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 90
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 105
                                                  }
                                                },
                                                "name": "constraintValue"
                                              },
                                              "computed": false
                                            },
                                            "kind": "init"
                                          },
                                          {
                                            "type": "Property",
                                            "start": 2191,
                                            "end": 2218,
                                            "loc": {
                                              "start": {
                                                "line": 64,
                                                "column": 107
                                              },
                                              "end": {
                                                "line": 64,
                                                "column": 134
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 2191,
                                              "end": 2196,
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 107
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 112
                                                }
                                              },
                                              "name": "fixed"
                                            },
                                            "value": {
                                              "type": "MemberExpression",
                                              "start": 2198,
                                              "end": 2218,
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 114
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 134
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 2198,
                                                "end": 2202,
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 114
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 118
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2203,
                                                "end": 2218,
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 119
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 134
                                                  }
                                                },
                                                "name": "constraintFixed"
                                              },
                                              "computed": false
                                            },
                                            "kind": "init"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "start": 2236,
                              "end": 2363,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 12
                                },
                                "end": {
                                  "line": 65,
                                  "column": 139
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2240,
                                "end": 2250,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 26
                                  }
                                },
                                "name": "constraint"
                              },
                              "kind": "set",
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2250,
                                "end": 2363,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 139
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 2251,
                                    "end": 2252,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 28
                                      }
                                    },
                                    "name": "c"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2254,
                                  "end": 2363,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 139
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2256,
                                      "end": 2297,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 73
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2256,
                                        "end": 2296,
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 72
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2256,
                                          "end": 2281,
                                          "loc": {
                                            "start": {
                                              "line": 65,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 57
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2256,
                                            "end": 2260,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2261,
                                            "end": 2281,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 57
                                              }
                                            },
                                            "name": "constraintExpression"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 2284,
                                          "end": 2296,
                                          "loc": {
                                            "start": {
                                              "line": 65,
                                              "column": 60
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 72
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2284,
                                            "end": 2285,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 61
                                              }
                                            },
                                            "name": "c"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2286,
                                            "end": 2296,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 72
                                              }
                                            },
                                            "name": "expression"
                                          },
                                          "computed": false
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2298,
                                      "end": 2329,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 105
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2298,
                                        "end": 2328,
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 74
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 104
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2298,
                                          "end": 2318,
                                          "loc": {
                                            "start": {
                                              "line": 65,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 94
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2298,
                                            "end": 2302,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 74
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 78
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2303,
                                            "end": 2318,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 79
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 94
                                              }
                                            },
                                            "name": "constraintValue"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 2321,
                                          "end": 2328,
                                          "loc": {
                                            "start": {
                                              "line": 65,
                                              "column": 97
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 104
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2321,
                                            "end": 2322,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 97
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 98
                                              }
                                            },
                                            "name": "c"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2323,
                                            "end": 2328,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 99
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 104
                                              }
                                            },
                                            "name": "value"
                                          },
                                          "computed": false
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2330,
                                      "end": 2361,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 106
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 137
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2330,
                                        "end": 2360,
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 106
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 136
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2330,
                                          "end": 2350,
                                          "loc": {
                                            "start": {
                                              "line": 65,
                                              "column": 106
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 126
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2330,
                                            "end": 2334,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 106
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 110
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2335,
                                            "end": 2350,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 111
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 126
                                              }
                                            },
                                            "name": "constraintFixed"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 2353,
                                          "end": 2360,
                                          "loc": {
                                            "start": {
                                              "line": 65,
                                              "column": 129
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 136
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2353,
                                            "end": 2354,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 129
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 130
                                              }
                                            },
                                            "name": "c"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2355,
                                            "end": 2360,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 131
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 136
                                              }
                                            },
                                            "name": "fixed"
                                          },
                                          "computed": false
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "start": 2377,
                              "end": 2408,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 12
                                },
                                "end": {
                                  "line": 66,
                                  "column": 43
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2377,
                                "end": 2393,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 28
                                  }
                                },
                                "name": "acceptConstraint"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2395,
                                "end": 2408,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 43
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2406,
                                  "end": 2408,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 43
                                    }
                                  },
                                  "body": []
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2422,
                              "end": 2454,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 12
                                },
                                "end": {
                                  "line": 67,
                                  "column": 44
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2422,
                                "end": 2439,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 29
                                  }
                                },
                                "name": "declineConstraint"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2441,
                                "end": 2454,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 44
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2452,
                                  "end": 2454,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 44
                                    }
                                  },
                                  "body": []
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2468,
                              "end": 2492,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 12
                                },
                                "end": {
                                  "line": 68,
                                  "column": 36
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2468,
                                "end": 2485,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 29
                                  }
                                },
                                "name": "_incrementalLevel"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2487,
                                "end": 2492,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 36
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2506,
                              "end": 2523,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 12
                                },
                                "end": {
                                  "line": 69,
                                  "column": 29
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2506,
                                "end": 2519,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 25
                                  }
                                },
                                "name": "expressionSet"
                              },
                              "value": {
                                "type": "ArrayExpression",
                                "start": 2521,
                                "end": 2523,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 29
                                  }
                                },
                                "elements": []
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2537,
                              "end": 2559,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 12
                                },
                                "end": {
                                  "line": 70,
                                  "column": 34
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2537,
                                "end": 2552,
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 27
                                  }
                                },
                                "name": "isHiddenVisible"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2554,
                                "end": 2559,
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 34
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2573,
                              "end": 2618,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 12
                                },
                                "end": {
                                  "line": 71,
                                  "column": 57
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2573,
                                "end": 2597,
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 36
                                  }
                                },
                                "name": "previousInteractionPoint"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 2599,
                                "end": 2618,
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 57
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2603,
                                  "end": 2616,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 55
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2603,
                                    "end": 2608,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 47
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2609,
                                    "end": 2616,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 55
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2632,
                              "end": 2707,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 12
                                },
                                "end": {
                                  "line": 72,
                                  "column": 87
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2632,
                                "end": 2648,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 28
                                  }
                                },
                                "name": "interactionPoint"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 2650,
                                "end": 2707,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 87
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 2654,
                                  "end": 2668,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 48
                                    }
                                  },
                                  "name": "CursorPosition"
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 2669,
                                    "end": 2706,
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 86
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2669,
                                      "end": 2700,
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 80
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2669,
                                        "end": 2695,
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 75
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2669,
                                          "end": 2673,
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 53
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2674,
                                          "end": 2695,
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 75
                                            }
                                          },
                                          "name": "interactionPointMoved"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2696,
                                        "end": 2700,
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 76
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 80
                                          }
                                        },
                                        "name": "bind"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "ThisExpression",
                                        "start": 2701,
                                        "end": 2705,
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 81
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 85
                                          }
                                        }
                                      }
                                    ]
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2721,
                              "end": 2752,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 12
                                },
                                "end": {
                                  "line": 73,
                                  "column": 43
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2721,
                                "end": 2746,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 37
                                  }
                                },
                                "name": "autoconstraintIncremental"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2748,
                                "end": 2752,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 43
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2766,
                              "end": 2781,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 12
                                },
                                "end": {
                                  "line": 74,
                                  "column": 27
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2766,
                                "end": 2777,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 23
                                  }
                                },
                                "name": "consoleText"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2779,
                                "end": 2781,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 27
                                  }
                                },
                                "value": "",
                                "rawValue": "",
                                "raw": "\"\""
                              },
                              "kind": "init"
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " data for viewmodel",
                          "start": 1821,
                          "end": 1842,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 29
                            }
                          },
                          "range": [
                            1821,
                            1842
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2802,
                      "end": 2822,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 28
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2806,
                          "end": 2821,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 12
                            },
                            "end": {
                              "line": 76,
                              "column": 27
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2806,
                            "end": 2814,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 12
                              },
                              "end": {
                                "line": 76,
                                "column": 20
                              }
                            },
                            "name": "sketcher"
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 2817,
                            "end": 2821,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 23
                              },
                              "end": {
                                "line": 76,
                                "column": 27
                              }
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2831,
                      "end": 3131,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 8
                        },
                        "end": {
                          "line": 84,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2831,
                        "end": 3130,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 8
                          },
                          "end": {
                            "line": 84,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2831,
                          "end": 2852,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2831,
                            "end": 2837,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 8
                              },
                              "end": {
                                "line": 77,
                                "column": 14
                              }
                            },
                            "name": "Object"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2838,
                            "end": 2852,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 15
                              },
                              "end": {
                                "line": 77,
                                "column": 29
                              }
                            },
                            "name": "defineProperty"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 2853,
                            "end": 2867,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 30
                              },
                              "end": {
                                "line": 77,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2853,
                              "end": 2857,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 30
                                },
                                "end": {
                                  "line": 77,
                                  "column": 34
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2858,
                              "end": 2867,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 35
                                },
                                "end": {
                                  "line": 77,
                                  "column": 44
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          {
                            "type": "Literal",
                            "start": 2869,
                            "end": 2887,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 46
                              },
                              "end": {
                                "line": 77,
                                "column": 64
                              }
                            },
                            "value": "incrementalLevel",
                            "rawValue": "incrementalLevel",
                            "raw": "'incrementalLevel'"
                          },
                          {
                            "type": "ObjectExpression",
                            "start": 2889,
                            "end": 3129,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 66
                              },
                              "end": {
                                "line": 84,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 2903,
                                "end": 2919,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 28
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2903,
                                  "end": 2913,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 22
                                    }
                                  },
                                  "name": "enumerable"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 2915,
                                  "end": 2919,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 28
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 2933,
                                "end": 2951,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 30
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2933,
                                  "end": 2945,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 24
                                    }
                                  },
                                  "name": "configurable"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 2947,
                                  "end": 2951,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 30
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 2965,
                                "end": 3015,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 62
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2965,
                                  "end": 2968,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 15
                                    }
                                  },
                                  "name": "get"
                                },
                                "value": {
                                  "type": "FunctionExpression",
                                  "start": 2970,
                                  "end": 3015,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 62
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 2981,
                                    "end": 3015,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 62
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ReturnStatement",
                                        "start": 2983,
                                        "end": 3013,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 60
                                          }
                                        },
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 2990,
                                          "end": 3012,
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 59
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2990,
                                            "end": 2994,
                                            "loc": {
                                              "start": {
                                                "line": 80,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 80,
                                                "column": 41
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2995,
                                            "end": 3012,
                                            "loc": {
                                              "start": {
                                                "line": 80,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 80,
                                                "column": 59
                                              }
                                            },
                                            "name": "_incrementalLevel"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ]
                                  }
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 3029,
                                "end": 3118,
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 13
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 3029,
                                  "end": 3032,
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 15
                                    }
                                  },
                                  "name": "set"
                                },
                                "value": {
                                  "type": "FunctionExpression",
                                  "start": 3034,
                                  "end": 3118,
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 3043,
                                      "end": 3048,
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 81,
                                          "column": 31
                                        }
                                      },
                                      "name": "value"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 3050,
                                    "end": 3118,
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 3068,
                                        "end": 3104,
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 52
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 3068,
                                          "end": 3103,
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 51
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 3068,
                                            "end": 3096,
                                            "loc": {
                                              "start": {
                                                "line": 82,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 82,
                                                "column": 44
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 3068,
                                              "end": 3076,
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 24
                                                }
                                              },
                                              "name": "sketcher"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3077,
                                              "end": 3096,
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 44
                                                }
                                              },
                                              "name": "setIncrementalLevel"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 3097,
                                              "end": 3102,
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 50
                                                }
                                              },
                                              "name": "value"
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3140,
                      "end": 5150,
                      "loc": {
                        "start": {
                          "line": 85,
                          "column": 8
                        },
                        "end": {
                          "line": 127,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3140,
                        "end": 5149,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 8
                          },
                          "end": {
                            "line": 127,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3140,
                          "end": 3157,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 8
                            },
                            "end": {
                              "line": 85,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3140,
                            "end": 3144,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 8
                              },
                              "end": {
                                "line": 85,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3145,
                            "end": 3157,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 13
                              },
                              "end": {
                                "line": 85,
                                "column": 25
                              }
                            },
                            "name": "modelMethods"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 3160,
                          "end": 5149,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 28
                            },
                            "end": {
                              "line": 127,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 3174,
                              "end": 3321,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 12
                                },
                                "end": {
                                  "line": 88,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3174,
                                "end": 3187,
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 25
                                  }
                                },
                                "name": "addExpression"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 3189,
                                "end": 3321,
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 3200,
                                  "end": 3321,
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 3218,
                                      "end": 3307,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 105
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 3218,
                                        "end": 3306,
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 104
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 3218,
                                          "end": 3241,
                                          "loc": {
                                            "start": {
                                              "line": 87,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 39
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 3218,
                                            "end": 3236,
                                            "loc": {
                                              "start": {
                                                "line": 87,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 87,
                                                "column": 34
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 3218,
                                              "end": 3222,
                                              "loc": {
                                                "start": {
                                                  "line": 87,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 87,
                                                  "column": 20
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3223,
                                              "end": 3236,
                                              "loc": {
                                                "start": {
                                                  "line": 87,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 87,
                                                  "column": 34
                                                }
                                              },
                                              "name": "expressionSet"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 3237,
                                            "end": 3241,
                                            "loc": {
                                              "start": {
                                                "line": 87,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 87,
                                                "column": 39
                                              }
                                            },
                                            "name": "push"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ObjectExpression",
                                            "start": 3242,
                                            "end": 3305,
                                            "loc": {
                                              "start": {
                                                "line": 87,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 87,
                                                "column": 103
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 3243,
                                                "end": 3250,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 48
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3243,
                                                  "end": 3247,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 45
                                                    }
                                                  },
                                                  "name": "name"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 3248,
                                                  "end": 3250,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 48
                                                    }
                                                  },
                                                  "value": "",
                                                  "rawValue": "",
                                                  "raw": "''"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 3252,
                                                "end": 3260,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 58
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3252,
                                                  "end": 3257,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 55
                                                    }
                                                  },
                                                  "name": "value"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 3259,
                                                  "end": 3260,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 57
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 58
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 3262,
                                                "end": 3276,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 60
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 74
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3262,
                                                  "end": 3272,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 70
                                                    }
                                                  },
                                                  "name": "expression"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 3274,
                                                  "end": 3276,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 72
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 74
                                                    }
                                                  },
                                                  "value": "",
                                                  "rawValue": "",
                                                  "raw": "''"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 3278,
                                                "end": 3289,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 76
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 87
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3278,
                                                  "end": 3283,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 76
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 81
                                                    }
                                                  },
                                                  "name": "fixed"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 3285,
                                                  "end": 3289,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 83
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 87
                                                    }
                                                  },
                                                  "value": true,
                                                  "rawValue": true,
                                                  "raw": "true"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 3291,
                                                "end": 3304,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 89
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 102
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3291,
                                                  "end": 3298,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 89
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 96
                                                    }
                                                  },
                                                  "name": "visible"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 3300,
                                                  "end": 3304,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 98
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 102
                                                    }
                                                  },
                                                  "value": true,
                                                  "rawValue": true,
                                                  "raw": "true"
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 3335,
                              "end": 3548,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 12
                                },
                                "end": {
                                  "line": 93,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3335,
                                "end": 3351,
                                "loc": {
                                  "start": {
                                    "line": 89,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 89,
                                    "column": 28
                                  }
                                },
                                "name": "removeExpression"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 3353,
                                "end": 3548,
                                "loc": {
                                  "start": {
                                    "line": 89,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 3362,
                                    "end": 3372,
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 49
                                      }
                                    },
                                    "name": "expression"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 3374,
                                  "end": 3548,
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 3392,
                                      "end": 3443,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 67
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 3396,
                                          "end": 3442,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 66
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 3396,
                                            "end": 3401,
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 25
                                              }
                                            },
                                            "name": "index"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 3404,
                                            "end": 3442,
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 66
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3404,
                                              "end": 3430,
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 54
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3404,
                                                "end": 3422,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 46
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3404,
                                                  "end": 3408,
                                                  "loc": {
                                                    "start": {
                                                      "line": 90,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 90,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3409,
                                                  "end": 3422,
                                                  "loc": {
                                                    "start": {
                                                      "line": 90,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 90,
                                                      "column": 46
                                                    }
                                                  },
                                                  "name": "expressionSet"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3423,
                                                "end": 3430,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 54
                                                  }
                                                },
                                                "name": "indexOf"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3431,
                                                "end": 3441,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 65
                                                  }
                                                },
                                                "name": "expression"
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 3460,
                                      "end": 3534,
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 56
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 3464,
                                        "end": 3476,
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 32
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 3464,
                                          "end": 3469,
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 25
                                            }
                                          },
                                          "name": "index"
                                        },
                                        "operator": "!==",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 3474,
                                          "end": 3476,
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 32
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 3475,
                                            "end": 3476,
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 32
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 3498,
                                        "end": 3534,
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 56
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 3498,
                                          "end": 3533,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 55
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 3498,
                                            "end": 3523,
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 45
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 3498,
                                              "end": 3516,
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 38
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 3498,
                                                "end": 3502,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3503,
                                                "end": 3516,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 38
                                                  }
                                                },
                                                "name": "expressionSet"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3517,
                                              "end": 3523,
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 45
                                                }
                                              },
                                              "name": "splice"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 3524,
                                              "end": 3529,
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 51
                                                }
                                              },
                                              "name": "index"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 3531,
                                              "end": 3532,
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 54
                                                }
                                              },
                                              "value": 1,
                                              "rawValue": 1,
                                              "raw": "1"
                                            }
                                          ]
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 3562,
                              "end": 3696,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 12
                                },
                                "end": {
                                  "line": 96,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3562,
                                "end": 3580,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 30
                                  }
                                },
                                "name": "resetExpressionSet"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 3582,
                                "end": 3696,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 96,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 3593,
                                  "end": 3696,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 96,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 3611,
                                      "end": 3682,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 87
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 3611,
                                        "end": 3681,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 86
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 3611,
                                          "end": 3623,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 28
                                            }
                                          },
                                          "name": "trackPromise"
                                        },
                                        "arguments": [
                                          {
                                            "type": "CallExpression",
                                            "start": 3624,
                                            "end": 3680,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 85
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3624,
                                              "end": 3663,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 68
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3624,
                                                "end": 3646,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 51
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3624,
                                                  "end": 3632,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 37
                                                    }
                                                  },
                                                  "name": "sketcher"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3633,
                                                  "end": 3646,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 51
                                                    }
                                                  },
                                                  "name": "currentSketch"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3647,
                                                "end": 3663,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 52
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 68
                                                  }
                                                },
                                                "name": "updateFromServer"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 3664,
                                                "end": 3679,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 69
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 84
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3664,
                                                  "end": 3672,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 77
                                                    }
                                                  },
                                                  "name": "sketcher"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3673,
                                                  "end": 3679,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 78
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 84
                                                    }
                                                  },
                                                  "name": "server"
                                                },
                                                "computed": false
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 3710,
                              "end": 4132,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 12
                                },
                                "end": {
                                  "line": 103,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3710,
                                "end": 3729,
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 31
                                  }
                                },
                                "name": "submitExpressionSet"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 3731,
                                "end": 4132,
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 3742,
                                  "end": 4132,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 3760,
                                      "end": 3844,
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 100
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 3764,
                                          "end": 3843,
                                          "loc": {
                                            "start": {
                                              "line": 98,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 98,
                                              "column": 99
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 3764,
                                            "end": 3771,
                                            "loc": {
                                              "start": {
                                                "line": 98,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 98,
                                                "column": 27
                                              }
                                            },
                                            "name": "esArray"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 3774,
                                            "end": 3843,
                                            "loc": {
                                              "start": {
                                                "line": 98,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 98,
                                                "column": 99
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3774,
                                              "end": 3796,
                                              "loc": {
                                                "start": {
                                                  "line": 98,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 98,
                                                  "column": 52
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3774,
                                                "end": 3792,
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 48
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3774,
                                                  "end": 3778,
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 34
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3779,
                                                  "end": 3792,
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 48
                                                    }
                                                  },
                                                  "name": "expressionSet"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3793,
                                                "end": 3796,
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 52
                                                  }
                                                },
                                                "name": "map"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ArrowFunctionExpression",
                                                "start": 3797,
                                                "end": 3842,
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 53
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 98
                                                  }
                                                },
                                                "id": null,
                                                "generator": false,
                                                "expression": true,
                                                "async": false,
                                                "params": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 3797,
                                                    "end": 3798,
                                                    "loc": {
                                                      "start": {
                                                        "line": 98,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 98,
                                                        "column": 54
                                                      }
                                                    },
                                                    "name": "e"
                                                  }
                                                ],
                                                "body": {
                                                  "type": "ArrayExpression",
                                                  "start": 3802,
                                                  "end": 3842,
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 58
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 98
                                                    }
                                                  },
                                                  "elements": [
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3803,
                                                      "end": 3809,
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 59
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 65
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3803,
                                                        "end": 3804,
                                                        "loc": {
                                                          "start": {
                                                            "line": 98,
                                                            "column": 59
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 60
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3805,
                                                        "end": 3809,
                                                        "loc": {
                                                          "start": {
                                                            "line": 98,
                                                            "column": 61
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 65
                                                          }
                                                        },
                                                        "name": "name"
                                                      },
                                                      "computed": false
                                                    },
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3811,
                                                      "end": 3818,
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 67
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 74
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3811,
                                                        "end": 3812,
                                                        "loc": {
                                                          "start": {
                                                            "line": 98,
                                                            "column": 67
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 68
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3813,
                                                        "end": 3818,
                                                        "loc": {
                                                          "start": {
                                                            "line": 98,
                                                            "column": 69
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 74
                                                          }
                                                        },
                                                        "name": "value"
                                                      },
                                                      "computed": false
                                                    },
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3820,
                                                      "end": 3832,
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 76
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 88
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3820,
                                                        "end": 3821,
                                                        "loc": {
                                                          "start": {
                                                            "line": 98,
                                                            "column": 76
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 77
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3822,
                                                        "end": 3832,
                                                        "loc": {
                                                          "start": {
                                                            "line": 98,
                                                            "column": 78
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 88
                                                          }
                                                        },
                                                        "name": "expression"
                                                      },
                                                      "computed": false
                                                    },
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3834,
                                                      "end": 3841,
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 90
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 97
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3834,
                                                        "end": 3835,
                                                        "loc": {
                                                          "start": {
                                                            "line": 98,
                                                            "column": 90
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 91
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3836,
                                                        "end": 3841,
                                                        "loc": {
                                                          "start": {
                                                            "line": 98,
                                                            "column": 92
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 97
                                                          }
                                                        },
                                                        "name": "fixed"
                                                      },
                                                      "computed": false
                                                    }
                                                  ]
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 3861,
                                      "end": 3961,
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 116
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 3865,
                                          "end": 3960,
                                          "loc": {
                                            "start": {
                                              "line": 99,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 99,
                                              "column": 115
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 3865,
                                            "end": 3872,
                                            "loc": {
                                              "start": {
                                                "line": 99,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 99,
                                                "column": 27
                                              }
                                            },
                                            "name": "promise"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 3875,
                                            "end": 3960,
                                            "loc": {
                                              "start": {
                                                "line": 99,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 99,
                                                "column": 115
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3875,
                                              "end": 3943,
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 98
                                                }
                                              },
                                              "object": {
                                                "type": "CallExpression",
                                                "start": 3875,
                                                "end": 3935,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 90
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 3875,
                                                  "end": 3902,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 57
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3875,
                                                    "end": 3882,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 37
                                                      }
                                                    },
                                                    "name": "Interop"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3883,
                                                    "end": 3902,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 57
                                                      }
                                                    },
                                                    "name": "UpdateExpressionSet"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 3903,
                                                    "end": 3925,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 80
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 3903,
                                                      "end": 3911,
                                                      "loc": {
                                                        "start": {
                                                          "line": 99,
                                                          "column": 58
                                                        },
                                                        "end": {
                                                          "line": 99,
                                                          "column": 66
                                                        }
                                                      },
                                                      "name": "sketcher"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3912,
                                                      "end": 3925,
                                                      "loc": {
                                                        "start": {
                                                          "line": 99,
                                                          "column": 67
                                                        },
                                                        "end": {
                                                          "line": 99,
                                                          "column": 80
                                                        }
                                                      },
                                                      "name": "currentSketch"
                                                    },
                                                    "computed": false
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 3927,
                                                    "end": 3934,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 82
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 89
                                                      }
                                                    },
                                                    "name": "esArray"
                                                  }
                                                ]
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3936,
                                                "end": 3943,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 91
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 98
                                                  }
                                                },
                                                "name": "execute"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 3944,
                                                "end": 3959,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 99
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 114
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3944,
                                                  "end": 3952,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 99
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 107
                                                    }
                                                  },
                                                  "name": "sketcher"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3953,
                                                  "end": 3959,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 108
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 114
                                                    }
                                                  },
                                                  "name": "server"
                                                },
                                                "computed": false
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 3978,
                                      "end": 4079,
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 101,
                                          "column": 74
                                        }
                                      },
                                      "test": {
                                        "type": "MemberExpression",
                                        "start": 3982,
                                        "end": 4003,
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 3982,
                                          "end": 3986,
                                          "loc": {
                                            "start": {
                                              "line": 100,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 100,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3987,
                                          "end": 4003,
                                          "loc": {
                                            "start": {
                                              "line": 100,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 100,
                                              "column": 41
                                            }
                                          },
                                          "name": "incrementalLevel"
                                        },
                                        "computed": false
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 4025,
                                        "end": 4079,
                                        "loc": {
                                          "start": {
                                            "line": 101,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 101,
                                            "column": 74
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 4025,
                                          "end": 4078,
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 73
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 4025,
                                            "end": 4032,
                                            "loc": {
                                              "start": {
                                                "line": 101,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 101,
                                                "column": 27
                                              }
                                            },
                                            "name": "promise"
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 4035,
                                            "end": 4078,
                                            "loc": {
                                              "start": {
                                                "line": 101,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 101,
                                                "column": 73
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4035,
                                              "end": 4047,
                                              "loc": {
                                                "start": {
                                                  "line": 101,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4035,
                                                "end": 4042,
                                                "loc": {
                                                  "start": {
                                                    "line": 101,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 101,
                                                    "column": 37
                                                  }
                                                },
                                                "name": "promise"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4043,
                                                "end": 4047,
                                                "loc": {
                                                  "start": {
                                                    "line": 101,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 101,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "then"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ArrowFunctionExpression",
                                                "start": 4048,
                                                "end": 4077,
                                                "loc": {
                                                  "start": {
                                                    "line": 101,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 101,
                                                    "column": 72
                                                  }
                                                },
                                                "id": null,
                                                "generator": false,
                                                "expression": true,
                                                "async": false,
                                                "params": [],
                                                "body": {
                                                  "type": "CallExpression",
                                                  "start": 4054,
                                                  "end": 4077,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 49
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 72
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 4054,
                                                    "end": 4075,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 49
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 70
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 4054,
                                                      "end": 4058,
                                                      "loc": {
                                                        "start": {
                                                          "line": 101,
                                                          "column": 49
                                                        },
                                                        "end": {
                                                          "line": 101,
                                                          "column": 53
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4059,
                                                      "end": 4075,
                                                      "loc": {
                                                        "start": {
                                                          "line": 101,
                                                          "column": 54
                                                        },
                                                        "end": {
                                                          "line": 101,
                                                          "column": 70
                                                        }
                                                      },
                                                      "name": "solveConstraints"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": []
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      },
                                      "alternate": null
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 4096,
                                      "end": 4118,
                                      "loc": {
                                        "start": {
                                          "line": 102,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 38
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 4096,
                                        "end": 4117,
                                        "loc": {
                                          "start": {
                                            "line": 102,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 102,
                                            "column": 37
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 4096,
                                          "end": 4108,
                                          "loc": {
                                            "start": {
                                              "line": 102,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 102,
                                              "column": 28
                                            }
                                          },
                                          "name": "trackPromise"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 4109,
                                            "end": 4116,
                                            "loc": {
                                              "start": {
                                                "line": 102,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 102,
                                                "column": 36
                                              }
                                            },
                                            "name": "promise"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4146,
                              "end": 4184,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 12
                                },
                                "end": {
                                  "line": 104,
                                  "column": 50
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4146,
                                "end": 4156,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 22
                                  }
                                },
                                "name": "chooseTool"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4158,
                                "end": 4184,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 50
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4158,
                                  "end": 4178,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 44
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4158,
                                    "end": 4173,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4158,
                                      "end": 4162,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4163,
                                      "end": 4173,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 39
                                        }
                                      },
                                      "name": "chooseTool"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4174,
                                    "end": 4178,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 44
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4179,
                                    "end": 4183,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 49
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4198,
                              "end": 4244,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 12
                                },
                                "end": {
                                  "line": 105,
                                  "column": 58
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4198,
                                "end": 4212,
                                "loc": {
                                  "start": {
                                    "line": 105,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 26
                                  }
                                },
                                "name": "deselectSketch"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4214,
                                "end": 4244,
                                "loc": {
                                  "start": {
                                    "line": 105,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 58
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4214,
                                  "end": 4238,
                                  "loc": {
                                    "start": {
                                      "line": 105,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4214,
                                    "end": 4233,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4214,
                                      "end": 4218,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4219,
                                      "end": 4233,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 47
                                        }
                                      },
                                      "name": "deselectSketch"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4234,
                                    "end": 4238,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 52
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4239,
                                    "end": 4243,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 57
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4258,
                              "end": 4300,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 12
                                },
                                "end": {
                                  "line": 106,
                                  "column": 54
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4258,
                                "end": 4270,
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 24
                                  }
                                },
                                "name": "deleteSketch"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4272,
                                "end": 4300,
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4272,
                                  "end": 4294,
                                  "loc": {
                                    "start": {
                                      "line": 106,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 106,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4272,
                                    "end": 4289,
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 43
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4272,
                                      "end": 4276,
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 106,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4277,
                                      "end": 4289,
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 106,
                                          "column": 43
                                        }
                                      },
                                      "name": "deleteSketch"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4290,
                                    "end": 4294,
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 48
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4295,
                                    "end": 4299,
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 53
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4314,
                              "end": 4354,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 12
                                },
                                "end": {
                                  "line": 107,
                                  "column": 52
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4314,
                                "end": 4325,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 23
                                  }
                                },
                                "name": "buttonClick"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4327,
                                "end": 4354,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 52
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4327,
                                  "end": 4348,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4327,
                                    "end": 4343,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4327,
                                      "end": 4331,
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4332,
                                      "end": 4343,
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 41
                                        }
                                      },
                                      "name": "buttonClick"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4344,
                                    "end": 4348,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 46
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4349,
                                    "end": 4353,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 51
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4368,
                              "end": 4396,
                              "loc": {
                                "start": {
                                  "line": 108,
                                  "column": 12
                                },
                                "end": {
                                  "line": 108,
                                  "column": 40
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4368,
                                "end": 4373,
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 17
                                  }
                                },
                                "name": "click"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4375,
                                "end": 4396,
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 40
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4375,
                                  "end": 4390,
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4375,
                                    "end": 4385,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4375,
                                      "end": 4379,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4380,
                                      "end": 4385,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 29
                                        }
                                      },
                                      "name": "click"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4386,
                                    "end": 4390,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 34
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4391,
                                    "end": 4395,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 39
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4410,
                              "end": 4436,
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 12
                                },
                                "end": {
                                  "line": 109,
                                  "column": 38
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4410,
                                "end": 4414,
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 16
                                  }
                                },
                                "name": "undo"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4416,
                                "end": 4436,
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4416,
                                  "end": 4430,
                                  "loc": {
                                    "start": {
                                      "line": 109,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 109,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4416,
                                    "end": 4425,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4416,
                                      "end": 4420,
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4421,
                                      "end": 4425,
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 27
                                        }
                                      },
                                      "name": "undo"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4426,
                                    "end": 4430,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 32
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4431,
                                    "end": 4435,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 37
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4450,
                              "end": 4476,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 12
                                },
                                "end": {
                                  "line": 110,
                                  "column": 38
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4450,
                                "end": 4454,
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 16
                                  }
                                },
                                "name": "redo"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4456,
                                "end": 4476,
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4456,
                                  "end": 4470,
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 110,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4456,
                                    "end": 4465,
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4456,
                                      "end": 4460,
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4461,
                                      "end": 4465,
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 27
                                        }
                                      },
                                      "name": "redo"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4466,
                                    "end": 4470,
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 32
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4471,
                                    "end": 4475,
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 37
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4490,
                              "end": 4540,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 12
                                },
                                "end": {
                                  "line": 111,
                                  "column": 62
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4490,
                                "end": 4506,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 28
                                  }
                                },
                                "name": "solveConstraints"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4508,
                                "end": 4540,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 62
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4508,
                                  "end": 4534,
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 56
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4508,
                                    "end": 4529,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 51
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4508,
                                      "end": 4512,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4513,
                                      "end": 4529,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 51
                                        }
                                      },
                                      "name": "solveConstraints"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4530,
                                    "end": 4534,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 56
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4535,
                                    "end": 4539,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 61
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4554,
                              "end": 4606,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 12
                                },
                                "end": {
                                  "line": 112,
                                  "column": 64
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4554,
                                "end": 4571,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 29
                                  }
                                },
                                "name": "autoconstraintAll"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4573,
                                "end": 4606,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 64
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4573,
                                  "end": 4600,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 58
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4573,
                                    "end": 4595,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4573,
                                      "end": 4577,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4578,
                                      "end": 4595,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 53
                                        }
                                      },
                                      "name": "autoconstraintAll"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4596,
                                    "end": 4600,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 58
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4601,
                                    "end": 4605,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 63
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4620,
                              "end": 4870,
                              "loc": {
                                "start": {
                                  "line": 113,
                                  "column": 12
                                },
                                "end": {
                                  "line": 118,
                                  "column": 13
                                }
                              },
                              "method": true,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4620,
                                "end": 4634,
                                "loc": {
                                  "start": {
                                    "line": 113,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 113,
                                    "column": 26
                                  }
                                },
                                "name": "consoleExecute"
                              },
                              "kind": "init",
                              "value": {
                                "type": "FunctionExpression",
                                "start": 4634,
                                "end": 4870,
                                "loc": {
                                  "start": {
                                    "line": 113,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 4637,
                                  "end": 4870,
                                  "loc": {
                                    "start": {
                                      "line": 113,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 4655,
                                      "end": 4682,
                                      "loc": {
                                        "start": {
                                          "line": 114,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 114,
                                          "column": 43
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 4659,
                                          "end": 4681,
                                          "loc": {
                                            "start": {
                                              "line": 114,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 114,
                                              "column": 42
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 4659,
                                            "end": 4662,
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 23
                                              }
                                            },
                                            "name": "cmd"
                                          },
                                          "init": {
                                            "type": "MemberExpression",
                                            "start": 4665,
                                            "end": 4681,
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 42
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 4665,
                                              "end": 4669,
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 30
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4670,
                                              "end": 4681,
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 42
                                                }
                                              },
                                              "name": "consoleText"
                                            },
                                            "computed": false
                                          }
                                        }
                                      ],
                                      "kind": "let"
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 4699,
                                      "end": 4721,
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 38
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 4699,
                                        "end": 4720,
                                        "loc": {
                                          "start": {
                                            "line": 115,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 37
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 4699,
                                          "end": 4715,
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 32
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 4699,
                                            "end": 4703,
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4704,
                                            "end": 4715,
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 32
                                              }
                                            },
                                            "name": "consoleText"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "Literal",
                                          "start": 4718,
                                          "end": 4720,
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 37
                                            }
                                          },
                                          "value": "",
                                          "rawValue": "",
                                          "raw": "\"\""
                                        }
                                      }
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 4738,
                                      "end": 4856,
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 80
                                        }
                                      },
                                      "test": {
                                        "type": "MemberExpression",
                                        "start": 4742,
                                        "end": 4774,
                                        "loc": {
                                          "start": {
                                            "line": 116,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 116,
                                            "column": 52
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4742,
                                          "end": 4750,
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 28
                                            }
                                          },
                                          "name": "sketcher"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4751,
                                          "end": 4774,
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 52
                                            }
                                          },
                                          "name": "__sketchControlsHandler"
                                        },
                                        "computed": false
                                      },
                                      "consequent": {
                                        "type": "ReturnStatement",
                                        "start": 4796,
                                        "end": 4856,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 80
                                          }
                                        },
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 4803,
                                          "end": 4855,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 79
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 4803,
                                            "end": 4850,
                                            "loc": {
                                              "start": {
                                                "line": 117,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 117,
                                                "column": 74
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 4803,
                                              "end": 4835,
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 59
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4803,
                                                "end": 4811,
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 35
                                                  }
                                                },
                                                "name": "sketcher"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4812,
                                                "end": 4835,
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 59
                                                  }
                                                },
                                                "name": "__sketchControlsHandler"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4836,
                                              "end": 4850,
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 60
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 74
                                                }
                                              },
                                              "name": "consoleExecute"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 4851,
                                              "end": 4854,
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 75
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 78
                                                }
                                              },
                                              "name": "cmd"
                                            }
                                          ]
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "start": 4884,
                              "end": 5010,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 12
                                },
                                "end": {
                                  "line": 122,
                                  "column": 13
                                }
                              },
                              "method": true,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4884,
                                "end": 4896,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 24
                                  }
                                },
                                "name": "consoleFocus"
                              },
                              "kind": "init",
                              "value": {
                                "type": "FunctionExpression",
                                "start": 4896,
                                "end": 5010,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 122,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 4899,
                                  "end": 5010,
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "IfStatement",
                                      "start": 4917,
                                      "end": 4996,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 121,
                                          "column": 51
                                        }
                                      },
                                      "test": {
                                        "type": "MemberExpression",
                                        "start": 4921,
                                        "end": 4943,
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 42
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4921,
                                          "end": 4928,
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 27
                                            }
                                          },
                                          "name": "options"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4929,
                                          "end": 4943,
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 42
                                            }
                                          },
                                          "name": "consoleElement"
                                        },
                                        "computed": false
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 4965,
                                        "end": 4996,
                                        "loc": {
                                          "start": {
                                            "line": 121,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 121,
                                            "column": 51
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 4965,
                                          "end": 4995,
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 50
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 4965,
                                            "end": 4993,
                                            "loc": {
                                              "start": {
                                                "line": 121,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 121,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 4965,
                                              "end": 4987,
                                              "loc": {
                                                "start": {
                                                  "line": 121,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 121,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4965,
                                                "end": 4972,
                                                "loc": {
                                                  "start": {
                                                    "line": 121,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 121,
                                                    "column": 27
                                                  }
                                                },
                                                "name": "options"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4973,
                                                "end": 4987,
                                                "loc": {
                                                  "start": {
                                                    "line": 121,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 121,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "consoleElement"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4988,
                                              "end": 4993,
                                              "loc": {
                                                "start": {
                                                  "line": 121,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 121,
                                                  "column": 48
                                                }
                                              },
                                              "name": "focus"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "start": 5070,
                              "end": 5138,
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 12
                                },
                                "end": {
                                  "line": 126,
                                  "column": 13
                                }
                              },
                              "method": true,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 5070,
                                "end": 5081,
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 23
                                  }
                                },
                                "name": "runAllTests",
                                "leadingComments": null
                              },
                              "kind": "init",
                              "value": {
                                "type": "FunctionExpression",
                                "start": 5081,
                                "end": 5138,
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 5084,
                                  "end": 5138,
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 5102,
                                      "end": 5124,
                                      "loc": {
                                        "start": {
                                          "line": 125,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 125,
                                          "column": 38
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 5102,
                                        "end": 5123,
                                        "loc": {
                                          "start": {
                                            "line": 125,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 125,
                                            "column": 37
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 5102,
                                          "end": 5113,
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 27
                                            }
                                          },
                                          "name": "RunAllTests"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 5114,
                                            "end": 5122,
                                            "loc": {
                                              "start": {
                                                "line": 125,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 125,
                                                "column": 36
                                              }
                                            },
                                            "name": "sketcher"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              },
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "note: only for testing purposes",
                                  "start": 5024,
                                  "end": 5057,
                                  "loc": {
                                    "start": {
                                      "line": 123,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 123,
                                      "column": 45
                                    }
                                  },
                                  "range": [
                                    5024,
                                    5057
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " recognized options: view, [consoleElement]",
                  "start": 1207,
                  "end": 1252,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 4
                    },
                    "end": {
                      "line": 39,
                      "column": 49
                    }
                  },
                  "range": [
                    1207,
                    1252
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 5162,
              "end": 5210,
              "loc": {
                "start": {
                  "line": 130,
                  "column": 4
                },
                "end": {
                  "line": 132,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5166,
                "end": 5172,
                "loc": {
                  "start": {
                    "line": 130,
                    "column": 8
                  },
                  "end": {
                    "line": 130,
                    "column": 14
                  }
                },
                "name": "server"
              },
              "static": false,
              "kind": "get",
              "value": {
                "type": "FunctionExpression",
                "start": 5172,
                "end": 5210,
                "loc": {
                  "start": {
                    "line": 130,
                    "column": 14
                  },
                  "end": {
                    "line": 132,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5175,
                  "end": 5210,
                  "loc": {
                    "start": {
                      "line": 130,
                      "column": 17
                    },
                    "end": {
                      "line": 132,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 5185,
                      "end": 5204,
                      "loc": {
                        "start": {
                          "line": 131,
                          "column": 8
                        },
                        "end": {
                          "line": 131,
                          "column": 27
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 5192,
                        "end": 5203,
                        "loc": {
                          "start": {
                            "line": 131,
                            "column": 15
                          },
                          "end": {
                            "line": 131,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 5192,
                          "end": 5196,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 15
                            },
                            "end": {
                              "line": 131,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5197,
                          "end": 5203,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 20
                            },
                            "end": {
                              "line": 131,
                              "column": 26
                            }
                          },
                          "name": "socket"
                        },
                        "computed": false
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5216,
              "end": 5270,
              "loc": {
                "start": {
                  "line": 134,
                  "column": 4
                },
                "end": {
                  "line": 136,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5220,
                "end": 5226,
                "loc": {
                  "start": {
                    "line": 134,
                    "column": 8
                  },
                  "end": {
                    "line": 134,
                    "column": 14
                  }
                },
                "name": "server"
              },
              "static": false,
              "kind": "set",
              "value": {
                "type": "FunctionExpression",
                "start": 5226,
                "end": 5270,
                "loc": {
                  "start": {
                    "line": 134,
                    "column": 14
                  },
                  "end": {
                    "line": 136,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5227,
                    "end": 5232,
                    "loc": {
                      "start": {
                        "line": 134,
                        "column": 15
                      },
                      "end": {
                        "line": 134,
                        "column": 20
                      }
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5234,
                  "end": 5270,
                  "loc": {
                    "start": {
                      "line": 134,
                      "column": 22
                    },
                    "end": {
                      "line": 136,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5244,
                      "end": 5264,
                      "loc": {
                        "start": {
                          "line": 135,
                          "column": 8
                        },
                        "end": {
                          "line": 135,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5244,
                        "end": 5263,
                        "loc": {
                          "start": {
                            "line": 135,
                            "column": 8
                          },
                          "end": {
                            "line": 135,
                            "column": 27
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5244,
                          "end": 5255,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 8
                            },
                            "end": {
                              "line": 135,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5244,
                            "end": 5248,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 8
                              },
                              "end": {
                                "line": 135,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5249,
                            "end": 5255,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 13
                              },
                              "end": {
                                "line": 135,
                                "column": 19
                              }
                            },
                            "name": "socket"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5258,
                          "end": 5263,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 22
                            },
                            "end": {
                              "line": 135,
                              "column": 27
                            }
                          },
                          "name": "value"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5276,
              "end": 5333,
              "loc": {
                "start": {
                  "line": 138,
                  "column": 4
                },
                "end": {
                  "line": 140,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5276,
                "end": 5283,
                "loc": {
                  "start": {
                    "line": 138,
                    "column": 4
                  },
                  "end": {
                    "line": 138,
                    "column": 11
                  }
                },
                "name": "refresh"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5283,
                "end": 5333,
                "loc": {
                  "start": {
                    "line": 138,
                    "column": 11
                  },
                  "end": {
                    "line": 140,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5286,
                  "end": 5333,
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 14
                    },
                    "end": {
                      "line": 140,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5296,
                      "end": 5327,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 8
                        },
                        "end": {
                          "line": 139,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5296,
                        "end": 5326,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 8
                          },
                          "end": {
                            "line": 139,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5296,
                          "end": 5324,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 8
                            },
                            "end": {
                              "line": 139,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5296,
                            "end": 5313,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 8
                              },
                              "end": {
                                "line": 139,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5296,
                              "end": 5300,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 8
                                },
                                "end": {
                                  "line": 139,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5301,
                              "end": 5313,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 13
                                },
                                "end": {
                                  "line": 139,
                                  "column": 25
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5314,
                            "end": 5324,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 26
                              },
                              "end": {
                                "line": 139,
                                "column": 36
                              }
                            },
                            "name": "invalidate"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "always called when someone clicks on a sketch's area",
                  "start": 5339,
                  "end": 5393,
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 4
                    },
                    "end": {
                      "line": 142,
                      "column": 58
                    }
                  },
                  "range": [
                    5339,
                    5393
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 5398,
              "end": 5749,
              "loc": {
                "start": {
                  "line": 143,
                  "column": 4
                },
                "end": {
                  "line": 153,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5404,
                "end": 5421,
                "loc": {
                  "start": {
                    "line": 143,
                    "column": 10
                  },
                  "end": {
                    "line": 143,
                    "column": 27
                  }
                },
                "name": "sketchAreaClicked"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5421,
                "end": 5749,
                "loc": {
                  "start": {
                    "line": 143,
                    "column": 27
                  },
                  "end": {
                    "line": 153,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5422,
                    "end": 5428,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 28
                      },
                      "end": {
                        "line": 143,
                        "column": 34
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5430,
                  "end": 5749,
                  "loc": {
                    "start": {
                      "line": 143,
                      "column": 36
                    },
                    "end": {
                      "line": 153,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 5487,
                      "end": 5658,
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 8
                        },
                        "end": {
                          "line": 149,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5491,
                        "end": 5520,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 12
                          },
                          "end": {
                            "line": 145,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 5491,
                          "end": 5509,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 12
                            },
                            "end": {
                              "line": 145,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5491,
                            "end": 5495,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 12
                              },
                              "end": {
                                "line": 145,
                                "column": 16
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5496,
                            "end": 5509,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 17
                              },
                              "end": {
                                "line": 145,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Identifier",
                          "start": 5514,
                          "end": 5520,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 35
                            },
                            "end": {
                              "line": 145,
                              "column": 41
                            }
                          },
                          "name": "sketch"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 5522,
                        "end": 5658,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 43
                          },
                          "end": {
                            "line": 149,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 5596,
                            "end": 5628,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 12
                              },
                              "end": {
                                "line": 147,
                                "column": 44
                              }
                            },
                            "expression": {
                              "type": "AwaitExpression",
                              "start": 5596,
                              "end": 5627,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 12
                                },
                                "end": {
                                  "line": 147,
                                  "column": 43
                                }
                              },
                              "all": false,
                              "argument": {
                                "type": "CallExpression",
                                "start": 5602,
                                "end": 5627,
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 147,
                                    "column": 43
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5602,
                                  "end": 5619,
                                  "loc": {
                                    "start": {
                                      "line": 147,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 147,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5602,
                                    "end": 5606,
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5607,
                                    "end": 5619,
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 35
                                      }
                                    },
                                    "name": "selectSketch"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 5620,
                                    "end": 5626,
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 42
                                      }
                                    },
                                    "name": "sketch"
                                  }
                                ]
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " none or other selected -> select clicked one",
                                "start": 5536,
                                "end": 5583,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 59
                                  }
                                },
                                "range": [
                                  5536,
                                  5583
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 5641,
                            "end": 5648,
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 12
                              },
                              "end": {
                                "line": 148,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " handle sketch selection/unselection",
                          "start": 5440,
                          "end": 5478,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 8
                            },
                            "end": {
                              "line": 144,
                              "column": 46
                            }
                          },
                          "range": [
                            5440,
                            5478
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " call whatever controls handler is active now",
                          "start": 5668,
                          "end": 5715,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 8
                            },
                            "end": {
                              "line": 151,
                              "column": 55
                            }
                          },
                          "range": [
                            5668,
                            5715
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5724,
                      "end": 5743,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 8
                        },
                        "end": {
                          "line": 152,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 5724,
                        "end": 5742,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 8
                          },
                          "end": {
                            "line": 152,
                            "column": 26
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 5730,
                          "end": 5742,
                          "loc": {
                            "start": {
                              "line": 152,
                              "column": 14
                            },
                            "end": {
                              "line": 152,
                              "column": 26
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5730,
                            "end": 5740,
                            "loc": {
                              "start": {
                                "line": 152,
                                "column": 14
                              },
                              "end": {
                                "line": 152,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5730,
                              "end": 5734,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 14
                                },
                                "end": {
                                  "line": 152,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5735,
                              "end": 5740,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 19
                                },
                                "end": {
                                  "line": 152,
                                  "column": 24
                                }
                              },
                              "name": "click"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " call whatever controls handler is active now",
                          "start": 5668,
                          "end": 5715,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 8
                            },
                            "end": {
                              "line": 151,
                              "column": 55
                            }
                          },
                          "range": [
                            5668,
                            5715
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "always called when someone clicks on a sketch's area",
                  "start": 5339,
                  "end": 5393,
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 4
                    },
                    "end": {
                      "line": 142,
                      "column": 58
                    }
                  },
                  "range": [
                    5339,
                    5393
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 5755,
              "end": 6450,
              "loc": {
                "start": {
                  "line": 155,
                  "column": 4
                },
                "end": {
                  "line": 168,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5761,
                "end": 5783,
                "loc": {
                  "start": {
                    "line": 155,
                    "column": 10
                  },
                  "end": {
                    "line": 155,
                    "column": 32
                  }
                },
                "name": "sketchAreaRightClicked"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5783,
                "end": 6450,
                "loc": {
                  "start": {
                    "line": 155,
                    "column": 32
                  },
                  "end": {
                    "line": 168,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5784,
                    "end": 5790,
                    "loc": {
                      "start": {
                        "line": 155,
                        "column": 33
                      },
                      "end": {
                        "line": 155,
                        "column": 39
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5792,
                  "end": 6450,
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 41
                    },
                    "end": {
                      "line": 168,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 5853,
                      "end": 5907,
                      "loc": {
                        "start": {
                          "line": 157,
                          "column": 8
                        },
                        "end": {
                          "line": 158,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5857,
                        "end": 5886,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 12
                          },
                          "end": {
                            "line": 157,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 5857,
                          "end": 5863,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 12
                            },
                            "end": {
                              "line": 157,
                              "column": 18
                            }
                          },
                          "name": "sketch",
                          "leadingComments": null
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 5868,
                          "end": 5886,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 23
                            },
                            "end": {
                              "line": 157,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5868,
                            "end": 5872,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 23
                              },
                              "end": {
                                "line": 157,
                                "column": 27
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5873,
                            "end": 5886,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 28
                              },
                              "end": {
                                "line": 157,
                                "column": 41
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 5900,
                        "end": 5907,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 12
                          },
                          "end": {
                            "line": 158,
                            "column": 19
                          }
                        },
                        "argument": null,
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " ignore right click on unselected sketch",
                          "start": 5802,
                          "end": 5844,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 8
                            },
                            "end": {
                              "line": 156,
                              "column": 50
                            }
                          },
                          "range": [
                            5802,
                            5844
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " if any tool is selected, deselect it, otherwise deselect sketch",
                          "start": 5917,
                          "end": 5983,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 8
                            },
                            "end": {
                              "line": 160,
                              "column": 74
                            }
                          },
                          "range": [
                            5917,
                            5983
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " FIXME prototype checking is bad, but changing __sketchControlsHandler",
                          "start": 5992,
                          "end": 6064,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 8
                            },
                            "end": {
                              "line": 161,
                              "column": 80
                            }
                          },
                          "range": [
                            5992,
                            6064
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " or deselecting sketch from handler is no better. Think of a good solution.",
                          "start": 6073,
                          "end": 6150,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 8
                            },
                            "end": {
                              "line": 162,
                              "column": 85
                            }
                          },
                          "range": [
                            6073,
                            6150
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 6159,
                      "end": 6233,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 163,
                          "column": 82
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6163,
                          "end": 6232,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 12
                            },
                            "end": {
                              "line": 163,
                              "column": 81
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6163,
                            "end": 6178,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 12
                              },
                              "end": {
                                "line": 163,
                                "column": 27
                              }
                            },
                            "name": "prototypeBefore",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 6181,
                            "end": 6232,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 30
                              },
                              "end": {
                                "line": 163,
                                "column": 81
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6181,
                              "end": 6202,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 30
                                },
                                "end": {
                                  "line": 163,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6181,
                                "end": 6187,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 36
                                  }
                                },
                                "name": "Object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6188,
                                "end": 6202,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 51
                                  }
                                },
                                "name": "getPrototypeOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 6203,
                                "end": 6231,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 80
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6203,
                                  "end": 6207,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 56
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6208,
                                  "end": 6231,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 80
                                    }
                                  },
                                  "name": "__sketchControlsHandler"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " if any tool is selected, deselect it, otherwise deselect sketch",
                          "start": 5917,
                          "end": 5983,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 8
                            },
                            "end": {
                              "line": 160,
                              "column": 74
                            }
                          },
                          "range": [
                            5917,
                            5983
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " FIXME prototype checking is bad, but changing __sketchControlsHandler",
                          "start": 5992,
                          "end": 6064,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 8
                            },
                            "end": {
                              "line": 161,
                              "column": 80
                            }
                          },
                          "range": [
                            5992,
                            6064
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " or deselecting sketch from handler is no better. Think of a good solution.",
                          "start": 6073,
                          "end": 6150,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 8
                            },
                            "end": {
                              "line": 162,
                              "column": 85
                            }
                          },
                          "range": [
                            6073,
                            6150
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6242,
                      "end": 6273,
                      "loc": {
                        "start": {
                          "line": 164,
                          "column": 8
                        },
                        "end": {
                          "line": 164,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 6242,
                        "end": 6272,
                        "loc": {
                          "start": {
                            "line": 164,
                            "column": 8
                          },
                          "end": {
                            "line": 164,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 6248,
                          "end": 6272,
                          "loc": {
                            "start": {
                              "line": 164,
                              "column": 14
                            },
                            "end": {
                              "line": 164,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6248,
                            "end": 6263,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 14
                              },
                              "end": {
                                "line": 164,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6248,
                              "end": 6252,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 14
                                },
                                "end": {
                                  "line": 164,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6253,
                              "end": 6263,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 19
                                },
                                "end": {
                                  "line": 164,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 6264,
                              "end": 6271,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 30
                                },
                                "end": {
                                  "line": 164,
                                  "column": 37
                                }
                              },
                              "value": "empty",
                              "rawValue": "empty",
                              "raw": "'empty'"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 6282,
                      "end": 6355,
                      "loc": {
                        "start": {
                          "line": 165,
                          "column": 8
                        },
                        "end": {
                          "line": 165,
                          "column": 81
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6286,
                          "end": 6354,
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 12
                            },
                            "end": {
                              "line": 165,
                              "column": 80
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6286,
                            "end": 6300,
                            "loc": {
                              "start": {
                                "line": 165,
                                "column": 12
                              },
                              "end": {
                                "line": 165,
                                "column": 26
                              }
                            },
                            "name": "prototypeAfter"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 6303,
                            "end": 6354,
                            "loc": {
                              "start": {
                                "line": 165,
                                "column": 29
                              },
                              "end": {
                                "line": 165,
                                "column": 80
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6303,
                              "end": 6324,
                              "loc": {
                                "start": {
                                  "line": 165,
                                  "column": 29
                                },
                                "end": {
                                  "line": 165,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6303,
                                "end": 6309,
                                "loc": {
                                  "start": {
                                    "line": 165,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 165,
                                    "column": 35
                                  }
                                },
                                "name": "Object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6310,
                                "end": 6324,
                                "loc": {
                                  "start": {
                                    "line": 165,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 165,
                                    "column": 50
                                  }
                                },
                                "name": "getPrototypeOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 6325,
                                "end": 6353,
                                "loc": {
                                  "start": {
                                    "line": 165,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 165,
                                    "column": 79
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6325,
                                  "end": 6329,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 55
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6330,
                                  "end": 6353,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 79
                                    }
                                  },
                                  "name": "__sketchControlsHandler"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 6364,
                      "end": 6444,
                      "loc": {
                        "start": {
                          "line": 166,
                          "column": 8
                        },
                        "end": {
                          "line": 167,
                          "column": 40
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 6368,
                        "end": 6402,
                        "loc": {
                          "start": {
                            "line": 166,
                            "column": 12
                          },
                          "end": {
                            "line": 166,
                            "column": 46
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6368,
                          "end": 6383,
                          "loc": {
                            "start": {
                              "line": 166,
                              "column": 12
                            },
                            "end": {
                              "line": 166,
                              "column": 27
                            }
                          },
                          "name": "prototypeBefore"
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 6388,
                          "end": 6402,
                          "loc": {
                            "start": {
                              "line": 166,
                              "column": 32
                            },
                            "end": {
                              "line": 166,
                              "column": 46
                            }
                          },
                          "name": "prototypeAfter"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 6416,
                        "end": 6444,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 12
                          },
                          "end": {
                            "line": 167,
                            "column": 40
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 6416,
                          "end": 6443,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 12
                            },
                            "end": {
                              "line": 167,
                              "column": 39
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 6422,
                            "end": 6443,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 18
                              },
                              "end": {
                                "line": 167,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6422,
                              "end": 6441,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 18
                                },
                                "end": {
                                  "line": 167,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6422,
                                "end": 6426,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 22
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6427,
                                "end": 6441,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 37
                                  }
                                },
                                "name": "deselectSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 6456,
              "end": 7954,
              "loc": {
                "start": {
                  "line": 170,
                  "column": 4
                },
                "end": {
                  "line": 212,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6456,
                "end": 6471,
                "loc": {
                  "start": {
                    "line": 170,
                    "column": 4
                  },
                  "end": {
                    "line": 170,
                    "column": 19
                  }
                },
                "name": "setActionCursor"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6471,
                "end": 7954,
                "loc": {
                  "start": {
                    "line": 170,
                    "column": 19
                  },
                  "end": {
                    "line": 212,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6472,
                    "end": 6478,
                    "loc": {
                      "start": {
                        "line": 170,
                        "column": 20
                      },
                      "end": {
                        "line": 170,
                        "column": 26
                      }
                    },
                    "name": "action"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6480,
                  "end": 7954,
                  "loc": {
                    "start": {
                      "line": 170,
                      "column": 28
                    },
                    "end": {
                      "line": 212,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 6490,
                      "end": 7586,
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 8
                        },
                        "end": {
                          "line": 200,
                          "column": 11
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6494,
                          "end": 7585,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 12
                            },
                            "end": {
                              "line": 200,
                              "column": 10
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6494,
                            "end": 6504,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 12
                              },
                              "end": {
                                "line": 171,
                                "column": 22
                              }
                            },
                            "name": "cursorsURL"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 6507,
                            "end": 7585,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 25
                              },
                              "end": {
                                "line": 200,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 6511,
                              "end": 6514,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 29
                                },
                                "end": {
                                  "line": 171,
                                  "column": 32
                                }
                              },
                              "name": "Map"
                            },
                            "arguments": [
                              {
                                "type": "ArrayExpression",
                                "start": 6516,
                                "end": 7584,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 200,
                                    "column": 9
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6530,
                                    "end": 6550,
                                    "loc": {
                                      "start": {
                                        "line": 172,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 172,
                                        "column": 32
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6531,
                                        "end": 6538,
                                        "loc": {
                                          "start": {
                                            "line": 172,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 172,
                                            "column": 20
                                          }
                                        },
                                        "value": "empty",
                                        "rawValue": "empty",
                                        "raw": "'empty'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6540,
                                        "end": 6549,
                                        "loc": {
                                          "start": {
                                            "line": 172,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 172,
                                            "column": 31
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6564,
                                    "end": 6585,
                                    "loc": {
                                      "start": {
                                        "line": 173,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 173,
                                        "column": 33
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6565,
                                        "end": 6573,
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 21
                                          }
                                        },
                                        "value": "delete",
                                        "rawValue": "delete",
                                        "raw": "'delete'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6575,
                                        "end": 6584,
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 32
                                          }
                                        },
                                        "value": "no-drop",
                                        "rawValue": "no-drop",
                                        "raw": "'no-drop'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6623,
                                    "end": 6645,
                                    "loc": {
                                      "start": {
                                        "line": 175,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 175,
                                        "column": 34
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6624,
                                        "end": 6631,
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 20
                                          }
                                        },
                                        "value": "point",
                                        "rawValue": "point",
                                        "raw": "'point'",
                                        "leadingComments": null
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6633,
                                        "end": 6644,
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 33
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ],
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " geometry",
                                        "start": 6599,
                                        "end": 6610,
                                        "loc": {
                                          "start": {
                                            "line": 174,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 23
                                          }
                                        },
                                        "range": [
                                          6599,
                                          6610
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6659,
                                    "end": 6680,
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 33
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6660,
                                        "end": 6666,
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 19
                                          }
                                        },
                                        "value": "line",
                                        "rawValue": "line",
                                        "raw": "'line'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6668,
                                        "end": 6679,
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 32
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6694,
                                    "end": 6714,
                                    "loc": {
                                      "start": {
                                        "line": 177,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 177,
                                        "column": 32
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6695,
                                        "end": 6700,
                                        "loc": {
                                          "start": {
                                            "line": 177,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 177,
                                            "column": 18
                                          }
                                        },
                                        "value": "arc",
                                        "rawValue": "arc",
                                        "raw": "'arc'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6702,
                                        "end": 6713,
                                        "loc": {
                                          "start": {
                                            "line": 177,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 177,
                                            "column": 31
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6728,
                                    "end": 6753,
                                    "loc": {
                                      "start": {
                                        "line": 178,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 178,
                                        "column": 37
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6729,
                                        "end": 6739,
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 178,
                                            "column": 23
                                          }
                                        },
                                        "value": "polyline",
                                        "rawValue": "polyline",
                                        "raw": "'polyline'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6741,
                                        "end": 6752,
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 178,
                                            "column": 36
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6794,
                                    "end": 6817,
                                    "loc": {
                                      "start": {
                                        "line": 180,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 180,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6795,
                                        "end": 6805,
                                        "loc": {
                                          "start": {
                                            "line": 180,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 180,
                                            "column": 23
                                          }
                                        },
                                        "value": "fixation",
                                        "rawValue": "fixation",
                                        "raw": "'fixation'",
                                        "leadingComments": null
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6807,
                                        "end": 6816,
                                        "loc": {
                                          "start": {
                                            "line": 180,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 180,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ],
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " constraints",
                                        "start": 6767,
                                        "end": 6781,
                                        "loc": {
                                          "start": {
                                            "line": 179,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 179,
                                            "column": 26
                                          }
                                        },
                                        "range": [
                                          6767,
                                          6781
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6831,
                                    "end": 6855,
                                    "loc": {
                                      "start": {
                                        "line": 181,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 181,
                                        "column": 36
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6832,
                                        "end": 6843,
                                        "loc": {
                                          "start": {
                                            "line": 181,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 181,
                                            "column": 24
                                          }
                                        },
                                        "value": "incidence",
                                        "rawValue": "incidence",
                                        "raw": "'incidence'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6845,
                                        "end": 6854,
                                        "loc": {
                                          "start": {
                                            "line": 181,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 181,
                                            "column": 35
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6869,
                                    "end": 6892,
                                    "loc": {
                                      "start": {
                                        "line": 182,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 182,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6870,
                                        "end": 6880,
                                        "loc": {
                                          "start": {
                                            "line": 182,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 182,
                                            "column": 23
                                          }
                                        },
                                        "value": "distance",
                                        "rawValue": "distance",
                                        "raw": "'distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6882,
                                        "end": 6891,
                                        "loc": {
                                          "start": {
                                            "line": 182,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 182,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6906,
                                    "end": 6926,
                                    "loc": {
                                      "start": {
                                        "line": 183,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 183,
                                        "column": 32
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6907,
                                        "end": 6914,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 20
                                          }
                                        },
                                        "value": "angle",
                                        "rawValue": "angle",
                                        "raw": "'angle'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6916,
                                        "end": 6925,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 31
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6940,
                                    "end": 6962,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 34
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6941,
                                        "end": 6950,
                                        "loc": {
                                          "start": {
                                            "line": 184,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 184,
                                            "column": 22
                                          }
                                        },
                                        "value": "angleOX",
                                        "rawValue": "angleOX",
                                        "raw": "'angleOX'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6952,
                                        "end": 6961,
                                        "loc": {
                                          "start": {
                                            "line": 184,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 184,
                                            "column": 33
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6976,
                                    "end": 6999,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6977,
                                        "end": 6987,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 23
                                          }
                                        },
                                        "value": "tangency",
                                        "rawValue": "tangency",
                                        "raw": "'tangency'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6989,
                                        "end": 6998,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7013,
                                    "end": 7041,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 40
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7014,
                                        "end": 7029,
                                        "loc": {
                                          "start": {
                                            "line": 186,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 186,
                                            "column": 28
                                          }
                                        },
                                        "value": "horizontality",
                                        "rawValue": "horizontality",
                                        "raw": "'horizontality'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7031,
                                        "end": 7040,
                                        "loc": {
                                          "start": {
                                            "line": 186,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 186,
                                            "column": 39
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7055,
                                    "end": 7081,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 38
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7056,
                                        "end": 7069,
                                        "loc": {
                                          "start": {
                                            "line": 187,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 187,
                                            "column": 26
                                          }
                                        },
                                        "value": "verticality",
                                        "rawValue": "verticality",
                                        "raw": "'verticality'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7071,
                                        "end": 7080,
                                        "loc": {
                                          "start": {
                                            "line": 187,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 187,
                                            "column": 37
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7095,
                                    "end": 7126,
                                    "loc": {
                                      "start": {
                                        "line": 188,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 188,
                                        "column": 43
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7096,
                                        "end": 7114,
                                        "loc": {
                                          "start": {
                                            "line": 188,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 188,
                                            "column": 31
                                          }
                                        },
                                        "value": "perpendicularity",
                                        "rawValue": "perpendicularity",
                                        "raw": "'perpendicularity'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7116,
                                        "end": 7125,
                                        "loc": {
                                          "start": {
                                            "line": 188,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 188,
                                            "column": 42
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7140,
                                    "end": 7166,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 38
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7141,
                                        "end": 7154,
                                        "loc": {
                                          "start": {
                                            "line": 189,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 189,
                                            "column": 26
                                          }
                                        },
                                        "value": "parallelity",
                                        "rawValue": "parallelity",
                                        "raw": "'parallelity'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7156,
                                        "end": 7165,
                                        "loc": {
                                          "start": {
                                            "line": 189,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 189,
                                            "column": 37
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7180,
                                    "end": 7205,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 37
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7181,
                                        "end": 7193,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 25
                                          }
                                        },
                                        "value": "concentric",
                                        "rawValue": "concentric",
                                        "raw": "'concentric'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7195,
                                        "end": 7204,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 36
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7219,
                                    "end": 7242,
                                    "loc": {
                                      "start": {
                                        "line": 191,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 191,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7220,
                                        "end": 7230,
                                        "loc": {
                                          "start": {
                                            "line": 191,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 191,
                                            "column": 23
                                          }
                                        },
                                        "value": "midpoint",
                                        "rawValue": "midpoint",
                                        "raw": "'midpoint'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7232,
                                        "end": 7241,
                                        "loc": {
                                          "start": {
                                            "line": 191,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 191,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7256,
                                    "end": 7280,
                                    "loc": {
                                      "start": {
                                        "line": 192,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 192,
                                        "column": 36
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7257,
                                        "end": 7268,
                                        "loc": {
                                          "start": {
                                            "line": 192,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 192,
                                            "column": 24
                                          }
                                        },
                                        "value": "symmetric",
                                        "rawValue": "symmetric",
                                        "raw": "'symmetric'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7270,
                                        "end": 7279,
                                        "loc": {
                                          "start": {
                                            "line": 192,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 192,
                                            "column": 35
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7294,
                                    "end": 7317,
                                    "loc": {
                                      "start": {
                                        "line": 193,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 193,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7295,
                                        "end": 7305,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 23
                                          }
                                        },
                                        "value": "colinear",
                                        "rawValue": "colinear",
                                        "raw": "'colinear'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7307,
                                        "end": 7316,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7331,
                                    "end": 7360,
                                    "loc": {
                                      "start": {
                                        "line": 194,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 194,
                                        "column": 41
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7332,
                                        "end": 7348,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 29
                                          }
                                        },
                                        "value": "equal_distance",
                                        "rawValue": "equal_distance",
                                        "raw": "'equal_distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7350,
                                        "end": 7359,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 40
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7374,
                                    "end": 7395,
                                    "loc": {
                                      "start": {
                                        "line": 195,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 195,
                                        "column": 33
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7375,
                                        "end": 7383,
                                        "loc": {
                                          "start": {
                                            "line": 195,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 195,
                                            "column": 21
                                          }
                                        },
                                        "value": "radius",
                                        "rawValue": "radius",
                                        "raw": "'radius'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7385,
                                        "end": 7394,
                                        "loc": {
                                          "start": {
                                            "line": 195,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 195,
                                            "column": 32
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7409,
                                    "end": 7436,
                                    "loc": {
                                      "start": {
                                        "line": 196,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 196,
                                        "column": 39
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7410,
                                        "end": 7424,
                                        "loc": {
                                          "start": {
                                            "line": 196,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 196,
                                            "column": 27
                                          }
                                        },
                                        "value": "equal_radius",
                                        "rawValue": "equal_radius",
                                        "raw": "'equal_radius'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7426,
                                        "end": 7435,
                                        "loc": {
                                          "start": {
                                            "line": 196,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 196,
                                            "column": 38
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7450,
                                    "end": 7484,
                                    "loc": {
                                      "start": {
                                        "line": 197,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 197,
                                        "column": 46
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7451,
                                        "end": 7472,
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 34
                                          }
                                        },
                                        "value": "horizontal_distance",
                                        "rawValue": "horizontal_distance",
                                        "raw": "'horizontal_distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7474,
                                        "end": 7483,
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 45
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7498,
                                    "end": 7530,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 44
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7499,
                                        "end": 7518,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 32
                                          }
                                        },
                                        "value": "vertical_distance",
                                        "rawValue": "vertical_distance",
                                        "raw": "'vertical_distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7520,
                                        "end": 7529,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 43
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7544,
                                    "end": 7573,
                                    "loc": {
                                      "start": {
                                        "line": 199,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 199,
                                        "column": 41
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7545,
                                        "end": 7561,
                                        "loc": {
                                          "start": {
                                            "line": 199,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 199,
                                            "column": 29
                                          }
                                        },
                                        "value": "autoconstraint",
                                        "rawValue": "autoconstraint",
                                        "raw": "'autoconstraint'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7563,
                                        "end": 7572,
                                        "loc": {
                                          "start": {
                                            "line": 199,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 199,
                                            "column": 40
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7596,
                      "end": 7625,
                      "loc": {
                        "start": {
                          "line": 202,
                          "column": 8
                        },
                        "end": {
                          "line": 202,
                          "column": 37
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7600,
                          "end": 7624,
                          "loc": {
                            "start": {
                              "line": 202,
                              "column": 12
                            },
                            "end": {
                              "line": 202,
                              "column": 36
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7600,
                            "end": 7604,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 12
                              },
                              "end": {
                                "line": 202,
                                "column": 16
                              }
                            },
                            "name": "view"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 7607,
                            "end": 7624,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 19
                              },
                              "end": {
                                "line": 202,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7607,
                              "end": 7611,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 19
                                },
                                "end": {
                                  "line": 202,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7612,
                              "end": 7624,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 24
                                },
                                "end": {
                                  "line": 202,
                                  "column": 36
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 7635,
                      "end": 7948,
                      "loc": {
                        "start": {
                          "line": 204,
                          "column": 8
                        },
                        "end": {
                          "line": 211,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 7639,
                        "end": 7681,
                        "loc": {
                          "start": {
                            "line": 204,
                            "column": 12
                          },
                          "end": {
                            "line": 204,
                            "column": 54
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 7639,
                          "end": 7659,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 12
                            },
                            "end": {
                              "line": 204,
                              "column": 32
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 7639,
                            "end": 7645,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 12
                              },
                              "end": {
                                "line": 204,
                                "column": 18
                              }
                            },
                            "name": "action"
                          },
                          "operator": "===",
                          "right": {
                            "type": "Identifier",
                            "start": 7650,
                            "end": 7659,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 23
                              },
                              "end": {
                                "line": 204,
                                "column": 32
                              }
                            },
                            "name": "undefined"
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 7663,
                          "end": 7681,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 36
                            },
                            "end": {
                              "line": 204,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7663,
                            "end": 7667,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 36
                              },
                              "end": {
                                "line": 204,
                                "column": 40
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7668,
                            "end": 7681,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 41
                              },
                              "end": {
                                "line": 204,
                                "column": 54
                              }
                            },
                            "name": "currentCursor"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7683,
                        "end": 7742,
                        "loc": {
                          "start": {
                            "line": 204,
                            "column": 56
                          },
                          "end": {
                            "line": 206,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7697,
                            "end": 7732,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 12
                              },
                              "end": {
                                "line": 205,
                                "column": 47
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7697,
                              "end": 7731,
                              "loc": {
                                "start": {
                                  "line": 205,
                                  "column": 12
                                },
                                "end": {
                                  "line": 205,
                                  "column": 46
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7697,
                                "end": 7711,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7697,
                                  "end": 7701,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 16
                                    }
                                  },
                                  "name": "view"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7702,
                                  "end": 7711,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 26
                                    }
                                  },
                                  "name": "setCursor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 7712,
                                  "end": 7730,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7712,
                                    "end": 7716,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7717,
                                    "end": 7730,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 45
                                      }
                                    },
                                    "name": "currentCursor"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 7748,
                        "end": 7948,
                        "loc": {
                          "start": {
                            "line": 206,
                            "column": 15
                          },
                          "end": {
                            "line": 211,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "CallExpression",
                          "start": 7752,
                          "end": 7774,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 19
                            },
                            "end": {
                              "line": 206,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7752,
                            "end": 7766,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 19
                              },
                              "end": {
                                "line": 206,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7752,
                              "end": 7762,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 19
                                },
                                "end": {
                                  "line": 206,
                                  "column": 29
                                }
                              },
                              "name": "cursorsURL"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7763,
                              "end": 7766,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 30
                                },
                                "end": {
                                  "line": 206,
                                  "column": 33
                                }
                              },
                              "name": "has"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 7767,
                              "end": 7773,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 34
                                },
                                "end": {
                                  "line": 206,
                                  "column": 40
                                }
                              },
                              "name": "action"
                            }
                          ]
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 7776,
                          "end": 7892,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 43
                            },
                            "end": {
                              "line": 209,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 7790,
                              "end": 7834,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 12
                                },
                                "end": {
                                  "line": 207,
                                  "column": 56
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 7790,
                                "end": 7833,
                                "loc": {
                                  "start": {
                                    "line": 207,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 207,
                                    "column": 55
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 7790,
                                  "end": 7808,
                                  "loc": {
                                    "start": {
                                      "line": 207,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 207,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7790,
                                    "end": 7794,
                                    "loc": {
                                      "start": {
                                        "line": 207,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 207,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7795,
                                    "end": 7808,
                                    "loc": {
                                      "start": {
                                        "line": 207,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 207,
                                        "column": 30
                                      }
                                    },
                                    "name": "currentCursor"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 7811,
                                  "end": 7833,
                                  "loc": {
                                    "start": {
                                      "line": 207,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 207,
                                      "column": 55
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7811,
                                    "end": 7825,
                                    "loc": {
                                      "start": {
                                        "line": 207,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 207,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7811,
                                      "end": 7821,
                                      "loc": {
                                        "start": {
                                          "line": 207,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 207,
                                          "column": 43
                                        }
                                      },
                                      "name": "cursorsURL"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7822,
                                      "end": 7825,
                                      "loc": {
                                        "start": {
                                          "line": 207,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 207,
                                          "column": 47
                                        }
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 7826,
                                      "end": 7832,
                                      "loc": {
                                        "start": {
                                          "line": 207,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 207,
                                          "column": 54
                                        }
                                      },
                                      "name": "action"
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 7847,
                              "end": 7882,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 12
                                },
                                "end": {
                                  "line": 208,
                                  "column": 47
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 7847,
                                "end": 7881,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7847,
                                  "end": 7861,
                                  "loc": {
                                    "start": {
                                      "line": 208,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 208,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7847,
                                    "end": 7851,
                                    "loc": {
                                      "start": {
                                        "line": 208,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 208,
                                        "column": 16
                                      }
                                    },
                                    "name": "view"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7852,
                                    "end": 7861,
                                    "loc": {
                                      "start": {
                                        "line": 208,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 208,
                                        "column": 26
                                      }
                                    },
                                    "name": "setCursor"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 7862,
                                    "end": 7880,
                                    "loc": {
                                      "start": {
                                        "line": 208,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 208,
                                        "column": 45
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 7862,
                                      "end": 7866,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7867,
                                      "end": 7880,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 45
                                        }
                                      },
                                      "name": "currentCursor"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ]
                        },
                        "alternate": {
                          "type": "BlockStatement",
                          "start": 7898,
                          "end": 7948,
                          "loc": {
                            "start": {
                              "line": 209,
                              "column": 15
                            },
                            "end": {
                              "line": 211,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 7912,
                              "end": 7938,
                              "loc": {
                                "start": {
                                  "line": 210,
                                  "column": 12
                                },
                                "end": {
                                  "line": 210,
                                  "column": 38
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 7912,
                                "end": 7937,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 210,
                                    "column": 37
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 7912,
                                  "end": 7930,
                                  "loc": {
                                    "start": {
                                      "line": 210,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 210,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7912,
                                    "end": 7916,
                                    "loc": {
                                      "start": {
                                        "line": 210,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 210,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7917,
                                    "end": 7930,
                                    "loc": {
                                      "start": {
                                        "line": 210,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 210,
                                        "column": 30
                                      }
                                    },
                                    "name": "currentCursor"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "Literal",
                                  "start": 7933,
                                  "end": 7937,
                                  "loc": {
                                    "start": {
                                      "line": 210,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 210,
                                      "column": 37
                                    }
                                  },
                                  "value": null,
                                  "rawValue": null,
                                  "raw": "null"
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 7960,
              "end": 9046,
              "loc": {
                "start": {
                  "line": 214,
                  "column": 4
                },
                "end": {
                  "line": 240,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7960,
                "end": 7970,
                "loc": {
                  "start": {
                    "line": 214,
                    "column": 4
                  },
                  "end": {
                    "line": 214,
                    "column": 14
                  }
                },
                "name": "chooseTool"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7970,
                "end": 9046,
                "loc": {
                  "start": {
                    "line": 214,
                    "column": 14
                  },
                  "end": {
                    "line": 240,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7971,
                    "end": 7979,
                    "loc": {
                      "start": {
                        "line": 214,
                        "column": 15
                      },
                      "end": {
                        "line": 214,
                        "column": 23
                      }
                    },
                    "name": "toolName"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7981,
                  "end": 9046,
                  "loc": {
                    "start": {
                      "line": 214,
                      "column": 25
                    },
                    "end": {
                      "line": 240,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 7991,
                      "end": 8022,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 8
                        },
                        "end": {
                          "line": 215,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7991,
                        "end": 8021,
                        "loc": {
                          "start": {
                            "line": 215,
                            "column": 8
                          },
                          "end": {
                            "line": 215,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7991,
                          "end": 8011,
                          "loc": {
                            "start": {
                              "line": 215,
                              "column": 8
                            },
                            "end": {
                              "line": 215,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7991,
                            "end": 7995,
                            "loc": {
                              "start": {
                                "line": 215,
                                "column": 8
                              },
                              "end": {
                                "line": 215,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7996,
                            "end": 8011,
                            "loc": {
                              "start": {
                                "line": 215,
                                "column": 13
                              },
                              "end": {
                                "line": 215,
                                "column": 28
                              }
                            },
                            "name": "setActionCursor"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 8012,
                            "end": 8020,
                            "loc": {
                              "start": {
                                "line": 215,
                                "column": 29
                              },
                              "end": {
                                "line": 215,
                                "column": 37
                              }
                            },
                            "name": "toolName"
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 8032,
                      "end": 8428,
                      "loc": {
                        "start": {
                          "line": 217,
                          "column": 8
                        },
                        "end": {
                          "line": 226,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 8036,
                        "end": 8044,
                        "loc": {
                          "start": {
                            "line": 217,
                            "column": 12
                          },
                          "end": {
                            "line": 217,
                            "column": 20
                          }
                        },
                        "name": "toolName"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 8046,
                        "end": 8428,
                        "loc": {
                          "start": {
                            "line": 217,
                            "column": 22
                          },
                          "end": {
                            "line": 226,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 8140,
                            "end": 8280,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 12
                              },
                              "end": {
                                "line": 221,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 8144,
                              "end": 8199,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 16
                                },
                                "end": {
                                  "line": 219,
                                  "column": 71
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 8144,
                                "end": 8164,
                                "loc": {
                                  "start": {
                                    "line": 219,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 36
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 8144,
                                  "end": 8152,
                                  "loc": {
                                    "start": {
                                      "line": 219,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 219,
                                      "column": 24
                                    }
                                  },
                                  "name": "toolName",
                                  "leadingComments": null
                                },
                                "operator": "===",
                                "right": {
                                  "type": "Literal",
                                  "start": 8157,
                                  "end": 8164,
                                  "loc": {
                                    "start": {
                                      "line": 219,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 219,
                                      "column": 36
                                    }
                                  },
                                  "value": "empty",
                                  "rawValue": "empty",
                                  "raw": "\"empty\""
                                },
                                "leadingComments": null
                              },
                              "operator": "&&",
                              "right": {
                                "type": "MemberExpression",
                                "start": 8168,
                                "end": 8199,
                                "loc": {
                                  "start": {
                                    "line": 219,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 71
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 8168,
                                  "end": 8182,
                                  "loc": {
                                    "start": {
                                      "line": 219,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 219,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 8168,
                                    "end": 8172,
                                    "loc": {
                                      "start": {
                                        "line": 219,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 219,
                                        "column": 44
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8173,
                                    "end": 8182,
                                    "loc": {
                                      "start": {
                                        "line": 219,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 219,
                                        "column": 54
                                      }
                                    },
                                    "name": "modelData"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8183,
                                  "end": 8199,
                                  "loc": {
                                    "start": {
                                      "line": 219,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 219,
                                      "column": 71
                                    }
                                  },
                                  "name": "incrementalLevel"
                                },
                                "computed": false
                              },
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 8201,
                              "end": 8280,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 73
                                },
                                "end": {
                                  "line": 221,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8219,
                                  "end": 8257,
                                  "loc": {
                                    "start": {
                                      "line": 220,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 220,
                                      "column": 54
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 8219,
                                    "end": 8256,
                                    "loc": {
                                      "start": {
                                        "line": 220,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 220,
                                        "column": 53
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8219,
                                      "end": 8254,
                                      "loc": {
                                        "start": {
                                          "line": 220,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 220,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 8219,
                                        "end": 8237,
                                        "loc": {
                                          "start": {
                                            "line": 220,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 220,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8219,
                                          "end": 8223,
                                          "loc": {
                                            "start": {
                                              "line": 220,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 220,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8224,
                                          "end": 8237,
                                          "loc": {
                                            "start": {
                                              "line": 220,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 220,
                                              "column": 34
                                            }
                                          },
                                          "name": "currentSketch"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8238,
                                        "end": 8254,
                                        "loc": {
                                          "start": {
                                            "line": 220,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 220,
                                            "column": 51
                                          }
                                        },
                                        "name": "solveConstraints"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "trailingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": "async",
                                      "start": 8259,
                                      "end": 8266,
                                      "loc": {
                                        "start": {
                                          "line": 220,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 220,
                                          "column": 63
                                        }
                                      },
                                      "range": [
                                        8259,
                                        8266
                                      ]
                                    }
                                  ]
                                }
                              ]
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " supported toolName's are: empty point line arc polyline tangency",
                                "start": 8060,
                                "end": 8127,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 79
                                  }
                                },
                                "range": [
                                  8060,
                                  8127
                                ]
                              }
                            ]
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 8294,
                            "end": 8347,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 12
                              },
                              "end": {
                                "line": 223,
                                "column": 65
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 8298,
                                "end": 8346,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 64
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 8298,
                                  "end": 8313,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 31
                                    }
                                  },
                                  "name": "controlsHandler",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 8316,
                                  "end": 8346,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8316,
                                    "end": 8324,
                                    "loc": {
                                      "start": {
                                        "line": 223,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 223,
                                        "column": 42
                                      }
                                    },
                                    "name": "Controls"
                                  },
                                  "property": {
                                    "type": "BinaryExpression",
                                    "start": 8325,
                                    "end": 8345,
                                    "loc": {
                                      "start": {
                                        "line": 223,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 223,
                                        "column": 63
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8325,
                                      "end": 8333,
                                      "loc": {
                                        "start": {
                                          "line": 223,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 223,
                                          "column": 51
                                        }
                                      },
                                      "name": "toolName"
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Literal",
                                      "start": 8336,
                                      "end": 8345,
                                      "loc": {
                                        "start": {
                                          "line": 223,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 223,
                                          "column": 63
                                        }
                                      },
                                      "value": "Handler",
                                      "rawValue": "Handler",
                                      "raw": "'Handler'"
                                    }
                                  },
                                  "computed": true
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "var",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "async",
                                "start": 8259,
                                "end": 8266,
                                "loc": {
                                  "start": {
                                    "line": 220,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 220,
                                    "column": 63
                                  }
                                },
                                "range": [
                                  8259,
                                  8266
                                ]
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 8360,
                            "end": 8418,
                            "loc": {
                              "start": {
                                "line": 224,
                                "column": 12
                              },
                              "end": {
                                "line": 225,
                                "column": 23
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 8364,
                              "end": 8393,
                              "loc": {
                                "start": {
                                  "line": 224,
                                  "column": 16
                                },
                                "end": {
                                  "line": 224,
                                  "column": 45
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 8364,
                                "end": 8379,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 31
                                  }
                                },
                                "name": "controlsHandler"
                              },
                              "operator": "===",
                              "right": {
                                "type": "Identifier",
                                "start": 8384,
                                "end": 8393,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 45
                                  }
                                },
                                "name": "undefined"
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 8411,
                              "end": 8418,
                              "loc": {
                                "start": {
                                  "line": 225,
                                  "column": 16
                                },
                                "end": {
                                  "line": 225,
                                  "column": 23
                                }
                              },
                              "argument": null
                            },
                            "alternate": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " choosing line/arc edges when drawing a polyline",
                          "start": 8438,
                          "end": 8488,
                          "loc": {
                            "start": {
                              "line": 228,
                              "column": 8
                            },
                            "end": {
                              "line": 228,
                              "column": 58
                            }
                          },
                          "range": [
                            8438,
                            8488
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 8497,
                      "end": 8729,
                      "loc": {
                        "start": {
                          "line": 229,
                          "column": 8
                        },
                        "end": {
                          "line": 231,
                          "column": 73
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 8501,
                        "end": 8565,
                        "loc": {
                          "start": {
                            "line": 229,
                            "column": 12
                          },
                          "end": {
                            "line": 229,
                            "column": 76
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 8501,
                          "end": 8529,
                          "loc": {
                            "start": {
                              "line": 229,
                              "column": 12
                            },
                            "end": {
                              "line": 229,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 8501,
                            "end": 8505,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 12
                              },
                              "end": {
                                "line": 229,
                                "column": 16
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8506,
                            "end": 8529,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 17
                              },
                              "end": {
                                "line": 229,
                                "column": 40
                              }
                            },
                            "name": "__sketchControlsHandler"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "MemberExpression",
                          "start": 8541,
                          "end": 8565,
                          "loc": {
                            "start": {
                              "line": 229,
                              "column": 52
                            },
                            "end": {
                              "line": 229,
                              "column": 76
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8541,
                            "end": 8549,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 52
                              },
                              "end": {
                                "line": 229,
                                "column": 60
                              }
                            },
                            "name": "Controls"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8550,
                            "end": 8565,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 61
                              },
                              "end": {
                                "line": 229,
                                "column": 76
                              }
                            },
                            "name": "polylineHandler"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "IfStatement",
                        "start": 8579,
                        "end": 8729,
                        "loc": {
                          "start": {
                            "line": 230,
                            "column": 12
                          },
                          "end": {
                            "line": 231,
                            "column": 73
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 8583,
                          "end": 8654,
                          "loc": {
                            "start": {
                              "line": 230,
                              "column": 16
                            },
                            "end": {
                              "line": 230,
                              "column": 87
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 8583,
                            "end": 8591,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 16
                              },
                              "end": {
                                "line": 230,
                                "column": 24
                              }
                            },
                            "name": "toolName"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "LogicalExpression",
                            "start": 8596,
                            "end": 8653,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 29
                              },
                              "end": {
                                "line": 230,
                                "column": 86
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 8596,
                              "end": 8623,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 29
                                },
                                "end": {
                                  "line": 230,
                                  "column": 56
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8596,
                                "end": 8615,
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8596,
                                  "end": 8604,
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 37
                                    }
                                  },
                                  "name": "toolName"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8605,
                                  "end": 8615,
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 48
                                    }
                                  },
                                  "name": "startsWith"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 8616,
                                  "end": 8622,
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 55
                                    }
                                  },
                                  "value": "line",
                                  "rawValue": "line",
                                  "raw": "'line'"
                                }
                              ]
                            },
                            "operator": "||",
                            "right": {
                              "type": "CallExpression",
                              "start": 8627,
                              "end": 8653,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 60
                                },
                                "end": {
                                  "line": 230,
                                  "column": 86
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8627,
                                "end": 8646,
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 79
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8627,
                                  "end": 8635,
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 68
                                    }
                                  },
                                  "name": "toolName"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8636,
                                  "end": 8646,
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 79
                                    }
                                  },
                                  "name": "startsWith"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 8647,
                                  "end": 8652,
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 85
                                    }
                                  },
                                  "value": "arc",
                                  "rawValue": "arc",
                                  "raw": "'arc'"
                                }
                              ]
                            },
                            "parenthesizedExpression": true
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 8668,
                          "end": 8729,
                          "loc": {
                            "start": {
                              "line": 231,
                              "column": 12
                            },
                            "end": {
                              "line": 231,
                              "column": 73
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 8675,
                            "end": 8728,
                            "loc": {
                              "start": {
                                "line": 231,
                                "column": 19
                              },
                              "end": {
                                "line": 231,
                                "column": 72
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8675,
                              "end": 8718,
                              "loc": {
                                "start": {
                                  "line": 231,
                                  "column": 19
                                },
                                "end": {
                                  "line": 231,
                                  "column": 62
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 8675,
                                "end": 8703,
                                "loc": {
                                  "start": {
                                    "line": 231,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 231,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 8675,
                                  "end": 8679,
                                  "loc": {
                                    "start": {
                                      "line": 231,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 231,
                                      "column": 23
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8680,
                                  "end": 8703,
                                  "loc": {
                                    "start": {
                                      "line": 231,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 231,
                                      "column": 47
                                    }
                                  },
                                  "name": "__sketchControlsHandler"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8704,
                                "end": 8718,
                                "loc": {
                                  "start": {
                                    "line": 231,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 231,
                                    "column": 62
                                  }
                                },
                                "name": "changeEdgeType"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 8719,
                                "end": 8727,
                                "loc": {
                                  "start": {
                                    "line": 231,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 231,
                                    "column": 71
                                  }
                                },
                                "name": "toolName"
                              }
                            ]
                          },
                          "trailingComments": null
                        },
                        "alternate": null,
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " choosing line/arc edges when drawing a polyline",
                          "start": 8438,
                          "end": 8488,
                          "loc": {
                            "start": {
                              "line": 228,
                              "column": 8
                            },
                            "end": {
                              "line": 228,
                              "column": 58
                            }
                          },
                          "range": [
                            8438,
                            8488
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " ask controls handler to finish whatever it is doing",
                          "start": 8739,
                          "end": 8793,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 8
                            },
                            "end": {
                              "line": 233,
                              "column": 62
                            }
                          },
                          "range": [
                            8739,
                            8793
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 8802,
                      "end": 8886,
                      "loc": {
                        "start": {
                          "line": 234,
                          "column": 8
                        },
                        "end": {
                          "line": 235,
                          "column": 50
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 8806,
                        "end": 8834,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 12
                          },
                          "end": {
                            "line": 234,
                            "column": 40
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 8806,
                          "end": 8810,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 12
                            },
                            "end": {
                              "line": 234,
                              "column": 16
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 8811,
                          "end": 8834,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 17
                            },
                            "end": {
                              "line": 234,
                              "column": 40
                            }
                          },
                          "name": "__sketchControlsHandler"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 8848,
                        "end": 8886,
                        "loc": {
                          "start": {
                            "line": 235,
                            "column": 12
                          },
                          "end": {
                            "line": 235,
                            "column": 50
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 8848,
                          "end": 8885,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 12
                            },
                            "end": {
                              "line": 235,
                              "column": 49
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8848,
                            "end": 8883,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 12
                              },
                              "end": {
                                "line": 235,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8848,
                              "end": 8876,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 12
                                },
                                "end": {
                                  "line": 235,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8848,
                                "end": 8852,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8853,
                                "end": 8876,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 40
                                  }
                                },
                                "name": "__sketchControlsHandler"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8877,
                              "end": 8883,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 41
                                },
                                "end": {
                                  "line": 235,
                                  "column": 47
                                }
                              },
                              "name": "finish"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " ask controls handler to finish whatever it is doing",
                          "start": 8739,
                          "end": 8793,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 8
                            },
                            "end": {
                              "line": 233,
                              "column": 62
                            }
                          },
                          "range": [
                            8739,
                            8793
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 8895,
                      "end": 9040,
                      "loc": {
                        "start": {
                          "line": 236,
                          "column": 8
                        },
                        "end": {
                          "line": 239,
                          "column": 48
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 8899,
                        "end": 8907,
                        "loc": {
                          "start": {
                            "line": 236,
                            "column": 12
                          },
                          "end": {
                            "line": 236,
                            "column": 20
                          }
                        },
                        "name": "toolName"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 8921,
                        "end": 8978,
                        "loc": {
                          "start": {
                            "line": 237,
                            "column": 12
                          },
                          "end": {
                            "line": 237,
                            "column": 69
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 8921,
                          "end": 8977,
                          "loc": {
                            "start": {
                              "line": 237,
                              "column": 12
                            },
                            "end": {
                              "line": 237,
                              "column": 68
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 8921,
                            "end": 8949,
                            "loc": {
                              "start": {
                                "line": 237,
                                "column": 12
                              },
                              "end": {
                                "line": 237,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8921,
                              "end": 8925,
                              "loc": {
                                "start": {
                                  "line": 237,
                                  "column": 12
                                },
                                "end": {
                                  "line": 237,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8926,
                              "end": 8949,
                              "loc": {
                                "start": {
                                  "line": 237,
                                  "column": 17
                                },
                                "end": {
                                  "line": 237,
                                  "column": 40
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "NewExpression",
                            "start": 8952,
                            "end": 8977,
                            "loc": {
                              "start": {
                                "line": 237,
                                "column": 43
                              },
                              "end": {
                                "line": 237,
                                "column": 68
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 8956,
                              "end": 8971,
                              "loc": {
                                "start": {
                                  "line": 237,
                                  "column": 47
                                },
                                "end": {
                                  "line": 237,
                                  "column": 62
                                }
                              },
                              "name": "controlsHandler"
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 8972,
                                "end": 8976,
                                "loc": {
                                  "start": {
                                    "line": 237,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 237,
                                    "column": 67
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 9004,
                        "end": 9040,
                        "loc": {
                          "start": {
                            "line": 239,
                            "column": 12
                          },
                          "end": {
                            "line": 239,
                            "column": 48
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 9004,
                          "end": 9039,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 12
                            },
                            "end": {
                              "line": 239,
                              "column": 47
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 9004,
                            "end": 9032,
                            "loc": {
                              "start": {
                                "line": 239,
                                "column": 12
                              },
                              "end": {
                                "line": 239,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9004,
                              "end": 9008,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 12
                                },
                                "end": {
                                  "line": 239,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9009,
                              "end": 9032,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 17
                                },
                                "end": {
                                  "line": 239,
                                  "column": 40
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 9035,
                            "end": 9039,
                            "loc": {
                              "start": {
                                "line": 239,
                                "column": 43
                              },
                              "end": {
                                "line": 239,
                                "column": 47
                              }
                            },
                            "value": null,
                            "rawValue": null,
                            "raw": "null"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9052,
              "end": 9298,
              "loc": {
                "start": {
                  "line": 242,
                  "column": 4
                },
                "end": {
                  "line": 248,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9058,
                "end": 9074,
                "loc": {
                  "start": {
                    "line": 242,
                    "column": 10
                  },
                  "end": {
                    "line": 242,
                    "column": 26
                  }
                },
                "name": "solveConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9074,
                "end": 9298,
                "loc": {
                  "start": {
                    "line": 242,
                    "column": 26
                  },
                  "end": {
                    "line": 248,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9077,
                  "end": 9298,
                  "loc": {
                    "start": {
                      "line": 242,
                      "column": 29
                    },
                    "end": {
                      "line": 248,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 9087,
                      "end": 9131,
                      "loc": {
                        "start": {
                          "line": 243,
                          "column": 8
                        },
                        "end": {
                          "line": 244,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 9091,
                        "end": 9110,
                        "loc": {
                          "start": {
                            "line": 243,
                            "column": 12
                          },
                          "end": {
                            "line": 243,
                            "column": 31
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 9092,
                          "end": 9110,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 13
                            },
                            "end": {
                              "line": 243,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 9092,
                            "end": 9096,
                            "loc": {
                              "start": {
                                "line": 243,
                                "column": 13
                              },
                              "end": {
                                "line": 243,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9097,
                            "end": 9110,
                            "loc": {
                              "start": {
                                "line": 243,
                                "column": 18
                              },
                              "end": {
                                "line": 243,
                                "column": 31
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 9124,
                        "end": 9131,
                        "loc": {
                          "start": {
                            "line": 244,
                            "column": 12
                          },
                          "end": {
                            "line": 244,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9140,
                      "end": 9197,
                      "loc": {
                        "start": {
                          "line": 245,
                          "column": 8
                        },
                        "end": {
                          "line": 245,
                          "column": 65
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9144,
                          "end": 9196,
                          "loc": {
                            "start": {
                              "line": 245,
                              "column": 12
                            },
                            "end": {
                              "line": 245,
                              "column": 64
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9144,
                            "end": 9150,
                            "loc": {
                              "start": {
                                "line": 245,
                                "column": 12
                              },
                              "end": {
                                "line": 245,
                                "column": 18
                              }
                            },
                            "name": "result"
                          },
                          "init": {
                            "type": "AwaitExpression",
                            "start": 9153,
                            "end": 9196,
                            "loc": {
                              "start": {
                                "line": 245,
                                "column": 21
                              },
                              "end": {
                                "line": 245,
                                "column": 64
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 9159,
                              "end": 9196,
                              "loc": {
                                "start": {
                                  "line": 245,
                                  "column": 27
                                },
                                "end": {
                                  "line": 245,
                                  "column": 64
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9159,
                                "end": 9194,
                                "loc": {
                                  "start": {
                                    "line": 245,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 245,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9159,
                                  "end": 9177,
                                  "loc": {
                                    "start": {
                                      "line": 245,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 245,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9159,
                                    "end": 9163,
                                    "loc": {
                                      "start": {
                                        "line": 245,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 245,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9164,
                                    "end": 9177,
                                    "loc": {
                                      "start": {
                                        "line": 245,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 245,
                                        "column": 45
                                      }
                                    },
                                    "name": "currentSketch"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9178,
                                  "end": 9194,
                                  "loc": {
                                    "start": {
                                      "line": 245,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 245,
                                      "column": 62
                                    }
                                  },
                                  "name": "solveConstraints"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " result: 0 - fail, 1 - well-defined, 2 - solved?",
                          "start": 9206,
                          "end": 9256,
                          "loc": {
                            "start": {
                              "line": 246,
                              "column": 8
                            },
                            "end": {
                              "line": 246,
                              "column": 58
                            }
                          },
                          "range": [
                            9206,
                            9256
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " TODO show result somehow",
                          "start": 9265,
                          "end": 9292,
                          "loc": {
                            "start": {
                              "line": 247,
                              "column": 8
                            },
                            "end": {
                              "line": 247,
                              "column": 35
                            }
                          },
                          "range": [
                            9265,
                            9292
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9304,
              "end": 9498,
              "loc": {
                "start": {
                  "line": 250,
                  "column": 4
                },
                "end": {
                  "line": 254,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9310,
                "end": 9329,
                "loc": {
                  "start": {
                    "line": 250,
                    "column": 10
                  },
                  "end": {
                    "line": 250,
                    "column": 29
                  }
                },
                "name": "setIncrementalLevel"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9329,
                "end": 9498,
                "loc": {
                  "start": {
                    "line": 250,
                    "column": 29
                  },
                  "end": {
                    "line": 254,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9330,
                    "end": 9335,
                    "loc": {
                      "start": {
                        "line": 250,
                        "column": 30
                      },
                      "end": {
                        "line": 250,
                        "column": 35
                      }
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9337,
                  "end": 9498,
                  "loc": {
                    "start": {
                      "line": 250,
                      "column": 37
                    },
                    "end": {
                      "line": 254,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 9347,
                      "end": 9388,
                      "loc": {
                        "start": {
                          "line": 251,
                          "column": 8
                        },
                        "end": {
                          "line": 251,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9347,
                        "end": 9387,
                        "loc": {
                          "start": {
                            "line": 251,
                            "column": 8
                          },
                          "end": {
                            "line": 251,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 9347,
                          "end": 9379,
                          "loc": {
                            "start": {
                              "line": 251,
                              "column": 8
                            },
                            "end": {
                              "line": 251,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9347,
                            "end": 9361,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 8
                              },
                              "end": {
                                "line": 251,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9347,
                              "end": 9351,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 8
                                },
                                "end": {
                                  "line": 251,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9352,
                              "end": 9361,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 13
                                },
                                "end": {
                                  "line": 251,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9362,
                            "end": 9379,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 23
                              },
                              "end": {
                                "line": 251,
                                "column": 40
                              }
                            },
                            "name": "_incrementalLevel"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 9382,
                          "end": 9387,
                          "loc": {
                            "start": {
                              "line": 251,
                              "column": 43
                            },
                            "end": {
                              "line": 251,
                              "column": 48
                            }
                          },
                          "name": "value"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 9397,
                      "end": 9450,
                      "loc": {
                        "start": {
                          "line": 252,
                          "column": 8
                        },
                        "end": {
                          "line": 253,
                          "column": 42
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 9401,
                        "end": 9406,
                        "loc": {
                          "start": {
                            "line": 252,
                            "column": 12
                          },
                          "end": {
                            "line": 252,
                            "column": 17
                          }
                        },
                        "name": "value"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 9420,
                        "end": 9450,
                        "loc": {
                          "start": {
                            "line": 253,
                            "column": 12
                          },
                          "end": {
                            "line": 253,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 9420,
                          "end": 9449,
                          "loc": {
                            "start": {
                              "line": 253,
                              "column": 12
                            },
                            "end": {
                              "line": 253,
                              "column": 41
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 9426,
                            "end": 9449,
                            "loc": {
                              "start": {
                                "line": 253,
                                "column": 18
                              },
                              "end": {
                                "line": 253,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9426,
                              "end": 9447,
                              "loc": {
                                "start": {
                                  "line": 253,
                                  "column": 18
                                },
                                "end": {
                                  "line": 253,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9426,
                                "end": 9430,
                                "loc": {
                                  "start": {
                                    "line": 253,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 253,
                                    "column": 22
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9431,
                                "end": 9447,
                                "loc": {
                                  "start": {
                                    "line": 253,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 253,
                                    "column": 39
                                  }
                                },
                                "name": "solveConstraints"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "note: solve constraints when turned on",
                          "start": 9452,
                          "end": 9492,
                          "loc": {
                            "start": {
                              "line": 253,
                              "column": 44
                            },
                            "end": {
                              "line": 253,
                              "column": 84
                            }
                          },
                          "range": [
                            9452,
                            9492
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " result: 0 - fail, 1 - well-defined, 2 - solved?",
                  "start": 9206,
                  "end": 9256,
                  "loc": {
                    "start": {
                      "line": 246,
                      "column": 8
                    },
                    "end": {
                      "line": 246,
                      "column": 58
                    }
                  },
                  "range": [
                    9206,
                    9256
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " TODO show result somehow",
                  "start": 9265,
                  "end": 9292,
                  "loc": {
                    "start": {
                      "line": 247,
                      "column": 8
                    },
                    "end": {
                      "line": 247,
                      "column": 35
                    }
                  },
                  "range": [
                    9265,
                    9292
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9504,
              "end": 9795,
              "loc": {
                "start": {
                  "line": 256,
                  "column": 4
                },
                "end": {
                  "line": 262,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9504,
                "end": 9521,
                "loc": {
                  "start": {
                    "line": 256,
                    "column": 4
                  },
                  "end": {
                    "line": 256,
                    "column": 21
                  }
                },
                "name": "autoconstraintAll",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9521,
                "end": 9795,
                "loc": {
                  "start": {
                    "line": 256,
                    "column": 21
                  },
                  "end": {
                    "line": 262,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9524,
                  "end": 9795,
                  "loc": {
                    "start": {
                      "line": 256,
                      "column": 24
                    },
                    "end": {
                      "line": 262,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 9534,
                      "end": 9600,
                      "loc": {
                        "start": {
                          "line": 257,
                          "column": 8
                        },
                        "end": {
                          "line": 257,
                          "column": 74
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9538,
                          "end": 9599,
                          "loc": {
                            "start": {
                              "line": 257,
                              "column": 12
                            },
                            "end": {
                              "line": 257,
                              "column": 73
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9538,
                            "end": 9553,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 12
                              },
                              "end": {
                                "line": 257,
                                "column": 27
                              }
                            },
                            "name": "constrGenerator"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 9556,
                            "end": 9599,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 30
                              },
                              "end": {
                                "line": 257,
                                "column": 73
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 9560,
                              "end": 9579,
                              "loc": {
                                "start": {
                                  "line": 257,
                                  "column": 34
                                },
                                "end": {
                                  "line": 257,
                                  "column": 53
                                }
                              },
                              "name": "ConstraintGenerator"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 9580,
                                "end": 9598,
                                "loc": {
                                  "start": {
                                    "line": 257,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 257,
                                    "column": 72
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 9580,
                                  "end": 9584,
                                  "loc": {
                                    "start": {
                                      "line": 257,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 257,
                                      "column": 58
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9585,
                                  "end": 9598,
                                  "loc": {
                                    "start": {
                                      "line": 257,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 257,
                                      "column": 72
                                    }
                                  },
                                  "name": "currentSketch"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9609,
                      "end": 9675,
                      "loc": {
                        "start": {
                          "line": 258,
                          "column": 8
                        },
                        "end": {
                          "line": 258,
                          "column": 74
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9613,
                          "end": 9674,
                          "loc": {
                            "start": {
                              "line": 258,
                              "column": 12
                            },
                            "end": {
                              "line": 258,
                              "column": 73
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9613,
                            "end": 9627,
                            "loc": {
                              "start": {
                                "line": 258,
                                "column": 12
                              },
                              "end": {
                                "line": 258,
                                "column": 26
                              }
                            },
                            "name": "newConstraints"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 9630,
                            "end": 9674,
                            "loc": {
                              "start": {
                                "line": 258,
                                "column": 29
                              },
                              "end": {
                                "line": 258,
                                "column": 73
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9630,
                              "end": 9672,
                              "loc": {
                                "start": {
                                  "line": 258,
                                  "column": 29
                                },
                                "end": {
                                  "line": 258,
                                  "column": 71
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9630,
                                "end": 9645,
                                "loc": {
                                  "start": {
                                    "line": 258,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 258,
                                    "column": 44
                                  }
                                },
                                "name": "constrGenerator"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9646,
                                "end": 9672,
                                "loc": {
                                  "start": {
                                    "line": 258,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 258,
                                    "column": 71
                                  }
                                },
                                "name": "generateImpliedConstraints"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9684,
                      "end": 9789,
                      "loc": {
                        "start": {
                          "line": 259,
                          "column": 8
                        },
                        "end": {
                          "line": 261,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9684,
                        "end": 9788,
                        "loc": {
                          "start": {
                            "line": 259,
                            "column": 8
                          },
                          "end": {
                            "line": 261,
                            "column": 9
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 9684,
                          "end": 9696,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 8
                            },
                            "end": {
                              "line": 259,
                              "column": 20
                            }
                          },
                          "name": "trackPromise"
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 9710,
                            "end": 9778,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 12
                              },
                              "end": {
                                "line": 260,
                                "column": 80
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9710,
                              "end": 9740,
                              "loc": {
                                "start": {
                                  "line": 260,
                                  "column": 12
                                },
                                "end": {
                                  "line": 260,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 9710,
                                "end": 9728,
                                "loc": {
                                  "start": {
                                    "line": 260,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 260,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 9710,
                                  "end": 9714,
                                  "loc": {
                                    "start": {
                                      "line": 260,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 260,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9715,
                                  "end": 9728,
                                  "loc": {
                                    "start": {
                                      "line": 260,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 260,
                                      "column": 30
                                    }
                                  },
                                  "name": "currentSketch"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9729,
                                "end": 9740,
                                "loc": {
                                  "start": {
                                    "line": 260,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 260,
                                    "column": 42
                                  }
                                },
                                "name": "addToSketch"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 9741,
                                "end": 9755,
                                "loc": {
                                  "start": {
                                    "line": 260,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 260,
                                    "column": 57
                                  }
                                },
                                "name": "newConstraints"
                              },
                              {
                                "type": "ObjectExpression",
                                "start": 9757,
                                "end": 9777,
                                "loc": {
                                  "start": {
                                    "line": 260,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 260,
                                    "column": 79
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 9758,
                                    "end": 9776,
                                    "loc": {
                                      "start": {
                                        "line": 260,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 260,
                                        "column": 78
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 9758,
                                      "end": 9770,
                                      "loc": {
                                        "start": {
                                          "line": 260,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 260,
                                          "column": 72
                                        }
                                      },
                                      "name": "updateSketch"
                                    },
                                    "value": {
                                      "type": "Literal",
                                      "start": 9772,
                                      "end": 9776,
                                      "loc": {
                                        "start": {
                                          "line": 260,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 260,
                                          "column": 78
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    },
                                    "kind": "init"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "note: solve constraints when turned on",
                  "start": 9452,
                  "end": 9492,
                  "loc": {
                    "start": {
                      "line": 253,
                      "column": 44
                    },
                    "end": {
                      "line": 253,
                      "column": 84
                    }
                  },
                  "range": [
                    9452,
                    9492
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9801,
              "end": 11647,
              "loc": {
                "start": {
                  "line": 264,
                  "column": 4
                },
                "end": {
                  "line": 312,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9801,
                "end": 9821,
                "loc": {
                  "start": {
                    "line": 264,
                    "column": 4
                  },
                  "end": {
                    "line": 264,
                    "column": 24
                  }
                },
                "name": "moveUnderConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9821,
                "end": 11647,
                "loc": {
                  "start": {
                    "line": 264,
                    "column": 24
                  },
                  "end": {
                    "line": 312,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9822,
                    "end": 9828,
                    "loc": {
                      "start": {
                        "line": 264,
                        "column": 25
                      },
                      "end": {
                        "line": 264,
                        "column": 31
                      }
                    },
                    "name": "object"
                  },
                  {
                    "type": "Identifier",
                    "start": 9830,
                    "end": 9836,
                    "loc": {
                      "start": {
                        "line": 264,
                        "column": 33
                      },
                      "end": {
                        "line": 264,
                        "column": 39
                      }
                    },
                    "name": "newPnt"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9838,
                  "end": 11647,
                  "loc": {
                    "start": {
                      "line": 264,
                      "column": 41
                    },
                    "end": {
                      "line": 312,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "FunctionDeclaration",
                      "start": 9848,
                      "end": 10114,
                      "loc": {
                        "start": {
                          "line": 265,
                          "column": 8
                        },
                        "end": {
                          "line": 269,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 9857,
                        "end": 9875,
                        "loc": {
                          "start": {
                            "line": 265,
                            "column": 17
                          },
                          "end": {
                            "line": 265,
                            "column": 35
                          }
                        },
                        "name": "updateSketchStates"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 9876,
                          "end": 9883,
                          "loc": {
                            "start": {
                              "line": 265,
                              "column": 36
                            },
                            "end": {
                              "line": 265,
                              "column": 43
                            }
                          },
                          "name": "objects"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 9885,
                        "end": 10114,
                        "loc": {
                          "start": {
                            "line": 265,
                            "column": 45
                          },
                          "end": {
                            "line": 269,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 9899,
                            "end": 9943,
                            "loc": {
                              "start": {
                                "line": 266,
                                "column": 12
                              },
                              "end": {
                                "line": 266,
                                "column": 56
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9899,
                              "end": 9942,
                              "loc": {
                                "start": {
                                  "line": 266,
                                  "column": 12
                                },
                                "end": {
                                  "line": 266,
                                  "column": 55
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 9899,
                                "end": 9919,
                                "loc": {
                                  "start": {
                                    "line": 266,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 266,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9899,
                                  "end": 9916,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9899,
                                    "end": 9903,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9904,
                                    "end": 9916,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 29
                                      }
                                    },
                                    "name": "sketchStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 9917,
                                  "end": 9918,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 31
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 9922,
                                "end": 9942,
                                "loc": {
                                  "start": {
                                    "line": 266,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 266,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9922,
                                  "end": 9939,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9922,
                                    "end": 9926,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9927,
                                    "end": 9939,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 52
                                      }
                                    },
                                    "name": "sketchStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 9940,
                                  "end": 9941,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 54
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9956,
                            "end": 10009,
                            "loc": {
                              "start": {
                                "line": 267,
                                "column": 12
                              },
                              "end": {
                                "line": 267,
                                "column": 65
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9956,
                              "end": 10008,
                              "loc": {
                                "start": {
                                  "line": 267,
                                  "column": 12
                                },
                                "end": {
                                  "line": 267,
                                  "column": 64
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 9956,
                                "end": 9976,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9956,
                                  "end": 9973,
                                  "loc": {
                                    "start": {
                                      "line": 267,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 267,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9956,
                                    "end": 9960,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9961,
                                    "end": 9973,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 29
                                      }
                                    },
                                    "name": "sketchStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 9974,
                                  "end": 9975,
                                  "loc": {
                                    "start": {
                                      "line": 267,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 267,
                                      "column": 31
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 9979,
                                "end": 10008,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 64
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9979,
                                  "end": 10006,
                                  "loc": {
                                    "start": {
                                      "line": 267,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 267,
                                      "column": 62
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9979,
                                    "end": 9997,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9979,
                                      "end": 9983,
                                      "loc": {
                                        "start": {
                                          "line": 267,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 267,
                                          "column": 39
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9984,
                                      "end": 9997,
                                      "loc": {
                                        "start": {
                                          "line": 267,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 267,
                                          "column": 53
                                        }
                                      },
                                      "name": "currentSketch"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9998,
                                    "end": 10006,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 62
                                      }
                                    },
                                    "name": "getState"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10022,
                            "end": 10104,
                            "loc": {
                              "start": {
                                "line": 268,
                                "column": 12
                              },
                              "end": {
                                "line": 268,
                                "column": 94
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 10022,
                              "end": 10103,
                              "loc": {
                                "start": {
                                  "line": 268,
                                  "column": 12
                                },
                                "end": {
                                  "line": 268,
                                  "column": 93
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 10022,
                                "end": 10036,
                                "loc": {
                                  "start": {
                                    "line": 268,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 268,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 10022,
                                  "end": 10026,
                                  "loc": {
                                    "start": {
                                      "line": 268,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 268,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10027,
                                  "end": 10036,
                                  "loc": {
                                    "start": {
                                      "line": 268,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 268,
                                      "column": 26
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 10039,
                                "end": 10103,
                                "loc": {
                                  "start": {
                                    "line": 268,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 268,
                                    "column": 93
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10039,
                                  "end": 10084,
                                  "loc": {
                                    "start": {
                                      "line": 268,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 268,
                                      "column": 74
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10039,
                                    "end": 10057,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10039,
                                      "end": 10043,
                                      "loc": {
                                        "start": {
                                          "line": 268,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 268,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10044,
                                      "end": 10057,
                                      "loc": {
                                        "start": {
                                          "line": 268,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 268,
                                          "column": 47
                                        }
                                      },
                                      "name": "currentSketch"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10058,
                                    "end": 10084,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 74
                                      }
                                    },
                                    "name": "getStateLinearContinuation"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 10085,
                                    "end": 10102,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 75
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 92
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10085,
                                      "end": 10089,
                                      "loc": {
                                        "start": {
                                          "line": 268,
                                          "column": 75
                                        },
                                        "end": {
                                          "line": 268,
                                          "column": 79
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10090,
                                      "end": 10102,
                                      "loc": {
                                        "start": {
                                          "line": 268,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 268,
                                          "column": 92
                                        }
                                      },
                                      "name": "sketchStates"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 10124,
                      "end": 10261,
                      "loc": {
                        "start": {
                          "line": 271,
                          "column": 8
                        },
                        "end": {
                          "line": 274,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 10133,
                        "end": 10150,
                        "loc": {
                          "start": {
                            "line": 271,
                            "column": 17
                          },
                          "end": {
                            "line": 271,
                            "column": 34
                          }
                        },
                        "name": "updateMouseStates"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [],
                      "body": {
                        "type": "BlockStatement",
                        "start": 10153,
                        "end": 10261,
                        "loc": {
                          "start": {
                            "line": 271,
                            "column": 37
                          },
                          "end": {
                            "line": 274,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 10167,
                            "end": 10209,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 12
                              },
                              "end": {
                                "line": 272,
                                "column": 54
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 10167,
                              "end": 10208,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 12
                                },
                                "end": {
                                  "line": 272,
                                  "column": 53
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 10167,
                                "end": 10186,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10167,
                                  "end": 10183,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10167,
                                    "end": 10171,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10172,
                                    "end": 10183,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 28
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 10184,
                                  "end": 10185,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 30
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 10189,
                                "end": 10208,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10189,
                                  "end": 10205,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10189,
                                    "end": 10193,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10194,
                                    "end": 10205,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 50
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 10206,
                                  "end": 10207,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 52
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10222,
                            "end": 10251,
                            "loc": {
                              "start": {
                                "line": 273,
                                "column": 12
                              },
                              "end": {
                                "line": 273,
                                "column": 41
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 10222,
                              "end": 10250,
                              "loc": {
                                "start": {
                                  "line": 273,
                                  "column": 12
                                },
                                "end": {
                                  "line": 273,
                                  "column": 40
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 10222,
                                "end": 10241,
                                "loc": {
                                  "start": {
                                    "line": 273,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 273,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10222,
                                  "end": 10238,
                                  "loc": {
                                    "start": {
                                      "line": 273,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 273,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10222,
                                    "end": 10226,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10227,
                                    "end": 10238,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 28
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 10239,
                                  "end": 10240,
                                  "loc": {
                                    "start": {
                                      "line": 273,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 273,
                                      "column": 30
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 10244,
                                "end": 10250,
                                "loc": {
                                  "start": {
                                    "line": 273,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 273,
                                    "column": 40
                                  }
                                },
                                "name": "newPnt"
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 10271,
                      "end": 10478,
                      "loc": {
                        "start": {
                          "line": 276,
                          "column": 8
                        },
                        "end": {
                          "line": 280,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 10280,
                        "end": 10298,
                        "loc": {
                          "start": {
                            "line": 276,
                            "column": 17
                          },
                          "end": {
                            "line": 276,
                            "column": 35
                          }
                        },
                        "name": "getAffectedObjects"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 10299,
                          "end": 10305,
                          "loc": {
                            "start": {
                              "line": 276,
                              "column": 36
                            },
                            "end": {
                              "line": 276,
                              "column": 42
                            }
                          },
                          "name": "object"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 10307,
                        "end": 10478,
                        "loc": {
                          "start": {
                            "line": 276,
                            "column": 44
                          },
                          "end": {
                            "line": 280,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 10321,
                            "end": 10373,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 12
                              },
                              "end": {
                                "line": 277,
                                "column": 64
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 10325,
                                "end": 10372,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 63
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 10325,
                                  "end": 10332,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 23
                                    }
                                  },
                                  "name": "objects"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 10335,
                                  "end": 10372,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 63
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 10335,
                                    "end": 10364,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 55
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10335,
                                      "end": 10341,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 32
                                        }
                                      },
                                      "name": "Sketch"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10342,
                                      "end": 10364,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 55
                                        }
                                      },
                                      "name": "ForObjectsWithChildren"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 10365,
                                      "end": 10371,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 62
                                        }
                                      },
                                      "name": "object"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10386,
                            "end": 10440,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 12
                              },
                              "end": {
                                "line": 278,
                                "column": 66
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 10386,
                              "end": 10439,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 12
                                },
                                "end": {
                                  "line": 278,
                                  "column": 65
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 10386,
                                "end": 10393,
                                "loc": {
                                  "start": {
                                    "line": 278,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 278,
                                    "column": 19
                                  }
                                },
                                "name": "objects"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 10396,
                                "end": 10439,
                                "loc": {
                                  "start": {
                                    "line": 278,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 278,
                                    "column": 65
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10396,
                                  "end": 10410,
                                  "loc": {
                                    "start": {
                                      "line": 278,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 278,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10396,
                                    "end": 10403,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 29
                                      }
                                    },
                                    "name": "objects"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10404,
                                    "end": 10410,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 36
                                      }
                                    },
                                    "name": "filter"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 10411,
                                    "end": 10438,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 64
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 10411,
                                        "end": 10414,
                                        "loc": {
                                          "start": {
                                            "line": 278,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 278,
                                            "column": 40
                                          }
                                        },
                                        "name": "arg"
                                      }
                                    ],
                                    "body": {
                                      "type": "BinaryExpression",
                                      "start": 10418,
                                      "end": 10438,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 64
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 10418,
                                        "end": 10421,
                                        "loc": {
                                          "start": {
                                            "line": 278,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 278,
                                            "column": 47
                                          }
                                        },
                                        "name": "arg"
                                      },
                                      "operator": "instanceof",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 10433,
                                        "end": 10438,
                                        "loc": {
                                          "start": {
                                            "line": 278,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 278,
                                            "column": 64
                                          }
                                        },
                                        "name": "Point"
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 10453,
                            "end": 10468,
                            "loc": {
                              "start": {
                                "line": 279,
                                "column": 12
                              },
                              "end": {
                                "line": 279,
                                "column": 27
                              }
                            },
                            "argument": {
                              "type": "Identifier",
                              "start": 10460,
                              "end": 10467,
                              "loc": {
                                "start": {
                                  "line": 279,
                                  "column": 19
                                },
                                "end": {
                                  "line": 279,
                                  "column": 26
                                }
                              },
                              "name": "objects"
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 10488,
                      "end": 10532,
                      "loc": {
                        "start": {
                          "line": 282,
                          "column": 8
                        },
                        "end": {
                          "line": 283,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 10492,
                        "end": 10511,
                        "loc": {
                          "start": {
                            "line": 282,
                            "column": 12
                          },
                          "end": {
                            "line": 282,
                            "column": 31
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 10493,
                          "end": 10511,
                          "loc": {
                            "start": {
                              "line": 282,
                              "column": 13
                            },
                            "end": {
                              "line": 282,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10493,
                            "end": 10497,
                            "loc": {
                              "start": {
                                "line": 282,
                                "column": 13
                              },
                              "end": {
                                "line": 282,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10498,
                            "end": 10511,
                            "loc": {
                              "start": {
                                "line": 282,
                                "column": 18
                              },
                              "end": {
                                "line": 282,
                                "column": 31
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 10525,
                        "end": 10532,
                        "loc": {
                          "start": {
                            "line": 283,
                            "column": 12
                          },
                          "end": {
                            "line": 283,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10542,
                      "end": 10583,
                      "loc": {
                        "start": {
                          "line": 285,
                          "column": 8
                        },
                        "end": {
                          "line": 285,
                          "column": 49
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10546,
                          "end": 10582,
                          "loc": {
                            "start": {
                              "line": 285,
                              "column": 12
                            },
                            "end": {
                              "line": 285,
                              "column": 48
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10546,
                            "end": 10553,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 12
                              },
                              "end": {
                                "line": 285,
                                "column": 19
                              }
                            },
                            "name": "objects"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 10556,
                            "end": 10582,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 22
                              },
                              "end": {
                                "line": 285,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 10556,
                              "end": 10574,
                              "loc": {
                                "start": {
                                  "line": 285,
                                  "column": 22
                                },
                                "end": {
                                  "line": 285,
                                  "column": 40
                                }
                              },
                              "name": "getAffectedObjects"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 10575,
                                "end": 10581,
                                "loc": {
                                  "start": {
                                    "line": 285,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 285,
                                    "column": 47
                                  }
                                },
                                "name": "object"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 10593,
                      "end": 10640,
                      "loc": {
                        "start": {
                          "line": 287,
                          "column": 8
                        },
                        "end": {
                          "line": 287,
                          "column": 55
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 10597,
                        "end": 10631,
                        "loc": {
                          "start": {
                            "line": 287,
                            "column": 12
                          },
                          "end": {
                            "line": 287,
                            "column": 46
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 10597,
                          "end": 10615,
                          "loc": {
                            "start": {
                              "line": 287,
                              "column": 12
                            },
                            "end": {
                              "line": 287,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10597,
                            "end": 10601,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 12
                              },
                              "end": {
                                "line": 287,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10602,
                            "end": 10615,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 17
                              },
                              "end": {
                                "line": 287,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 10616,
                          "end": 10631,
                          "loc": {
                            "start": {
                              "line": 287,
                              "column": 31
                            },
                            "end": {
                              "line": 287,
                              "column": 46
                            }
                          },
                          "name": "solveInProgress"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 10633,
                        "end": 10640,
                        "loc": {
                          "start": {
                            "line": 287,
                            "column": 48
                          },
                          "end": {
                            "line": 287,
                            "column": 55
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10649,
                      "end": 10691,
                      "loc": {
                        "start": {
                          "line": 288,
                          "column": 8
                        },
                        "end": {
                          "line": 288,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 10649,
                        "end": 10690,
                        "loc": {
                          "start": {
                            "line": 288,
                            "column": 8
                          },
                          "end": {
                            "line": 288,
                            "column": 49
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 10649,
                          "end": 10683,
                          "loc": {
                            "start": {
                              "line": 288,
                              "column": 8
                            },
                            "end": {
                              "line": 288,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 10649,
                            "end": 10667,
                            "loc": {
                              "start": {
                                "line": 288,
                                "column": 8
                              },
                              "end": {
                                "line": 288,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 10649,
                              "end": 10653,
                              "loc": {
                                "start": {
                                  "line": 288,
                                  "column": 8
                                },
                                "end": {
                                  "line": 288,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10654,
                              "end": 10667,
                              "loc": {
                                "start": {
                                  "line": 288,
                                  "column": 13
                                },
                                "end": {
                                  "line": 288,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10668,
                            "end": 10683,
                            "loc": {
                              "start": {
                                "line": 288,
                                "column": 27
                              },
                              "end": {
                                "line": 288,
                                "column": 42
                              }
                            },
                            "name": "solveInProgress"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 10686,
                          "end": 10690,
                          "loc": {
                            "start": {
                              "line": 288,
                              "column": 45
                            },
                            "end": {
                              "line": 288,
                              "column": 49
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " hack: prevent multiple concurrent requests to the server",
                          "start": 10692,
                          "end": 10751,
                          "loc": {
                            "start": {
                              "line": 288,
                              "column": 51
                            },
                            "end": {
                              "line": 288,
                              "column": 110
                            }
                          },
                          "range": [
                            10692,
                            10751
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10761,
                      "end": 10790,
                      "loc": {
                        "start": {
                          "line": 290,
                          "column": 8
                        },
                        "end": {
                          "line": 290,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10761,
                        "end": 10789,
                        "loc": {
                          "start": {
                            "line": 290,
                            "column": 8
                          },
                          "end": {
                            "line": 290,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10761,
                          "end": 10783,
                          "loc": {
                            "start": {
                              "line": 290,
                              "column": 8
                            },
                            "end": {
                              "line": 290,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 10761,
                            "end": 10778,
                            "loc": {
                              "start": {
                                "line": 290,
                                "column": 8
                              },
                              "end": {
                                "line": 290,
                                "column": 25
                              }
                            },
                            "name": "updateMouseStates",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10779,
                            "end": 10783,
                            "loc": {
                              "start": {
                                "line": 290,
                                "column": 26
                              },
                              "end": {
                                "line": 290,
                                "column": 30
                              }
                            },
                            "name": "call"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 10784,
                            "end": 10788,
                            "loc": {
                              "start": {
                                "line": 290,
                                "column": 31
                              },
                              "end": {
                                "line": 290,
                                "column": 35
                              }
                            }
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " hack: prevent multiple concurrent requests to the server",
                          "start": 10692,
                          "end": 10751,
                          "loc": {
                            "start": {
                              "line": 288,
                              "column": 51
                            },
                            "end": {
                              "line": 288,
                              "column": 110
                            }
                          },
                          "range": [
                            10692,
                            10751
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10799,
                      "end": 10868,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 8
                        },
                        "end": {
                          "line": 291,
                          "column": 77
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10803,
                          "end": 10867,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 12
                            },
                            "end": {
                              "line": 291,
                              "column": 76
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10803,
                            "end": 10812,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 12
                              },
                              "end": {
                                "line": 291,
                                "column": 21
                              }
                            },
                            "name": "mouseDiff"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 10815,
                            "end": 10867,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 24
                              },
                              "end": {
                                "line": 291,
                                "column": 76
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10815,
                              "end": 10846,
                              "loc": {
                                "start": {
                                  "line": 291,
                                  "column": 24
                                },
                                "end": {
                                  "line": 291,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 10815,
                                "end": 10842,
                                "loc": {
                                  "start": {
                                    "line": 291,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 51
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10815,
                                  "end": 10840,
                                  "loc": {
                                    "start": {
                                      "line": 291,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10815,
                                    "end": 10834,
                                    "loc": {
                                      "start": {
                                        "line": 291,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 291,
                                        "column": 43
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 10815,
                                      "end": 10831,
                                      "loc": {
                                        "start": {
                                          "line": 291,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 291,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 10815,
                                        "end": 10819,
                                        "loc": {
                                          "start": {
                                            "line": 291,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 291,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10820,
                                        "end": 10831,
                                        "loc": {
                                          "start": {
                                            "line": 291,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 291,
                                            "column": 40
                                          }
                                        },
                                        "name": "mouseStates"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Literal",
                                      "start": 10832,
                                      "end": 10833,
                                      "loc": {
                                        "start": {
                                          "line": 291,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 291,
                                          "column": 42
                                        }
                                      },
                                      "value": 0,
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10835,
                                    "end": 10840,
                                    "loc": {
                                      "start": {
                                        "line": 291,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 291,
                                        "column": 49
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10843,
                                "end": 10846,
                                "loc": {
                                  "start": {
                                    "line": 291,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 55
                                  }
                                },
                                "name": "sub"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 10847,
                                "end": 10866,
                                "loc": {
                                  "start": {
                                    "line": 291,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 75
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10847,
                                  "end": 10863,
                                  "loc": {
                                    "start": {
                                      "line": 291,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 72
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10847,
                                    "end": 10851,
                                    "loc": {
                                      "start": {
                                        "line": 291,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 291,
                                        "column": 60
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10852,
                                    "end": 10863,
                                    "loc": {
                                      "start": {
                                        "line": 291,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 291,
                                        "column": 72
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 10864,
                                  "end": 10865,
                                  "loc": {
                                    "start": {
                                      "line": 291,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 74
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "computed": true
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 10877,
                      "end": 11641,
                      "loc": {
                        "start": {
                          "line": 292,
                          "column": 8
                        },
                        "end": {
                          "line": 311,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 10881,
                        "end": 10905,
                        "loc": {
                          "start": {
                            "line": 292,
                            "column": 12
                          },
                          "end": {
                            "line": 292,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 10881,
                          "end": 10899,
                          "loc": {
                            "start": {
                              "line": 292,
                              "column": 12
                            },
                            "end": {
                              "line": 292,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10881,
                            "end": 10897,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 12
                              },
                              "end": {
                                "line": 292,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 10881,
                              "end": 10890,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 12
                                },
                                "end": {
                                  "line": 292,
                                  "column": 21
                                }
                              },
                              "name": "mouseDiff"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10891,
                              "end": 10897,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 22
                                },
                                "end": {
                                  "line": 292,
                                  "column": 28
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 10902,
                          "end": 10905,
                          "loc": {
                            "start": {
                              "line": 292,
                              "column": 33
                            },
                            "end": {
                              "line": 292,
                              "column": 36
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0.0"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 10907,
                        "end": 11512,
                        "loc": {
                          "start": {
                            "line": 292,
                            "column": 38
                          },
                          "end": {
                            "line": 307,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 10921,
                            "end": 10982,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 12
                              },
                              "end": {
                                "line": 293,
                                "column": 73
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 10925,
                              "end": 10938,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 16
                                },
                                "end": {
                                  "line": 293,
                                  "column": 29
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 10925,
                                "end": 10933,
                                "loc": {
                                  "start": {
                                    "line": 293,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 293,
                                    "column": 24
                                  }
                                },
                                "name": "logLevel"
                              },
                              "operator": ">=",
                              "right": {
                                "type": "Literal",
                                "start": 10937,
                                "end": 10938,
                                "loc": {
                                  "start": {
                                    "line": 293,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 293,
                                    "column": 29
                                  }
                                },
                                "value": 5,
                                "rawValue": 5,
                                "raw": "5"
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 10940,
                              "end": 10982,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 31
                                },
                                "end": {
                                  "line": 293,
                                  "column": 73
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 10940,
                                "end": 10981,
                                "loc": {
                                  "start": {
                                    "line": 293,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 293,
                                    "column": 72
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10940,
                                  "end": 10951,
                                  "loc": {
                                    "start": {
                                      "line": 293,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 293,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10940,
                                    "end": 10947,
                                    "loc": {
                                      "start": {
                                        "line": 293,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 293,
                                        "column": 38
                                      }
                                    },
                                    "name": "console"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10948,
                                    "end": 10951,
                                    "loc": {
                                      "start": {
                                        "line": 293,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 293,
                                        "column": 42
                                      }
                                    },
                                    "name": "log"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 10952,
                                    "end": 10967,
                                    "loc": {
                                      "start": {
                                        "line": 293,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 293,
                                        "column": 58
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 10952,
                                      "end": 10965,
                                      "loc": {
                                        "start": {
                                          "line": 293,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 293,
                                          "column": 56
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10952,
                                        "end": 10961,
                                        "loc": {
                                          "start": {
                                            "line": 293,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 293,
                                            "column": 52
                                          }
                                        },
                                        "name": "Timestamp"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10962,
                                        "end": 10965,
                                        "loc": {
                                          "start": {
                                            "line": 293,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 293,
                                            "column": 56
                                          }
                                        },
                                        "name": "get"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 10969,
                                    "end": 10980,
                                    "loc": {
                                      "start": {
                                        "line": 293,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 293,
                                        "column": 71
                                      }
                                    },
                                    "value": "MUC solve",
                                    "rawValue": "MUC solve",
                                    "raw": "'MUC solve'"
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 10995,
                            "end": 11145,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 12
                              },
                              "end": {
                                "line": 298,
                                "column": 15
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 10999,
                                "end": 11144,
                                "loc": {
                                  "start": {
                                    "line": 294,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 298,
                                    "column": 14
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 10999,
                                  "end": 11009,
                                  "loc": {
                                    "start": {
                                      "line": 294,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 294,
                                      "column": 26
                                    }
                                  },
                                  "name": "statements"
                                },
                                "init": {
                                  "type": "ArrayExpression",
                                  "start": 11012,
                                  "end": 11144,
                                  "loc": {
                                    "start": {
                                      "line": 294,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 298,
                                      "column": 14
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "CallExpression",
                                      "start": 11013,
                                      "end": 11143,
                                      "loc": {
                                        "start": {
                                          "line": 294,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 298,
                                          "column": 13
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11013,
                                        "end": 11032,
                                        "loc": {
                                          "start": {
                                            "line": 294,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 294,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 11013,
                                          "end": 11020,
                                          "loc": {
                                            "start": {
                                              "line": 294,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 294,
                                              "column": 37
                                            }
                                          },
                                          "name": "Interop"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11021,
                                          "end": 11032,
                                          "loc": {
                                            "start": {
                                              "line": 294,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 294,
                                              "column": 49
                                            }
                                          },
                                          "name": "MoveObjects"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 11050,
                                          "end": 11068,
                                          "loc": {
                                            "start": {
                                              "line": 295,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 295,
                                              "column": 34
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11050,
                                            "end": 11054,
                                            "loc": {
                                              "start": {
                                                "line": 295,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 295,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11055,
                                            "end": 11068,
                                            "loc": {
                                              "start": {
                                                "line": 295,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 295,
                                                "column": 34
                                              }
                                            },
                                            "name": "currentSketch"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 11086,
                                          "end": 11102,
                                          "loc": {
                                            "start": {
                                              "line": 296,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 296,
                                              "column": 32
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11086,
                                            "end": 11090,
                                            "loc": {
                                              "start": {
                                                "line": 296,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 296,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11091,
                                            "end": 11102,
                                            "loc": {
                                              "start": {
                                                "line": 296,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 296,
                                                "column": 32
                                              }
                                            },
                                            "name": "movedObject"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 11120,
                                          "end": 11129,
                                          "loc": {
                                            "start": {
                                              "line": 297,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 297,
                                              "column": 25
                                            }
                                          },
                                          "name": "mouseDiff"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 11158,
                            "end": 11473,
                            "loc": {
                              "start": {
                                "line": 299,
                                "column": 12
                              },
                              "end": {
                                "line": 305,
                                "column": 15
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 11162,
                                "end": 11472,
                                "loc": {
                                  "start": {
                                    "line": 299,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 305,
                                    "column": 14
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 11162,
                                  "end": 11163,
                                  "loc": {
                                    "start": {
                                      "line": 299,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 299,
                                      "column": 17
                                    }
                                  },
                                  "name": "p"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 11166,
                                  "end": 11472,
                                  "loc": {
                                    "start": {
                                      "line": 299,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 305,
                                      "column": 14
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 11166,
                                    "end": 11389,
                                    "loc": {
                                      "start": {
                                        "line": 299,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 303,
                                        "column": 20
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 11166,
                                      "end": 11383,
                                      "loc": {
                                        "start": {
                                          "line": 299,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 303,
                                          "column": 14
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11166,
                                        "end": 11244,
                                        "loc": {
                                          "start": {
                                            "line": 299,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 300,
                                            "column": 17
                                          }
                                        },
                                        "object": {
                                          "type": "CallExpression",
                                          "start": 11166,
                                          "end": 11226,
                                          "loc": {
                                            "start": {
                                              "line": 299,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 299,
                                              "column": 80
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 11166,
                                            "end": 11201,
                                            "loc": {
                                              "start": {
                                                "line": 299,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 299,
                                                "column": 55
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 11166,
                                              "end": 11184,
                                              "loc": {
                                                "start": {
                                                  "line": 299,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 299,
                                                  "column": 38
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 11166,
                                                "end": 11170,
                                                "loc": {
                                                  "start": {
                                                    "line": 299,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 299,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 11171,
                                                "end": 11184,
                                                "loc": {
                                                  "start": {
                                                    "line": 299,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 299,
                                                    "column": 38
                                                  }
                                                },
                                                "name": "currentSketch"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 11185,
                                              "end": 11201,
                                              "loc": {
                                                "start": {
                                                  "line": 299,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 299,
                                                  "column": 55
                                                }
                                              },
                                              "name": "updateFromServer"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 11202,
                                              "end": 11213,
                                              "loc": {
                                                "start": {
                                                  "line": 299,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 299,
                                                  "column": 67
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 11202,
                                                "end": 11206,
                                                "loc": {
                                                  "start": {
                                                    "line": 299,
                                                    "column": 56
                                                  },
                                                  "end": {
                                                    "line": 299,
                                                    "column": 60
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 11207,
                                                "end": 11213,
                                                "loc": {
                                                  "start": {
                                                    "line": 299,
                                                    "column": 61
                                                  },
                                                  "end": {
                                                    "line": 299,
                                                    "column": 67
                                                  }
                                                },
                                                "name": "server"
                                              },
                                              "computed": false
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 11215,
                                              "end": 11225,
                                              "loc": {
                                                "start": {
                                                  "line": 299,
                                                  "column": 69
                                                },
                                                "end": {
                                                  "line": 299,
                                                  "column": 79
                                                }
                                              },
                                              "name": "statements"
                                            }
                                          ]
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11240,
                                          "end": 11244,
                                          "loc": {
                                            "start": {
                                              "line": 300,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 300,
                                              "column": 17
                                            }
                                          },
                                          "name": "then"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "ArrowFunctionExpression",
                                          "start": 11245,
                                          "end": 11382,
                                          "loc": {
                                            "start": {
                                              "line": 300,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 303,
                                              "column": 13
                                            }
                                          },
                                          "id": null,
                                          "generator": false,
                                          "expression": false,
                                          "async": false,
                                          "params": [],
                                          "body": {
                                            "type": "BlockStatement",
                                            "start": 11251,
                                            "end": 11382,
                                            "loc": {
                                              "start": {
                                                "line": 300,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 303,
                                                "column": 13
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 11269,
                                                "end": 11308,
                                                "loc": {
                                                  "start": {
                                                    "line": 301,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 301,
                                                    "column": 55
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 11269,
                                                  "end": 11307,
                                                  "loc": {
                                                    "start": {
                                                      "line": 301,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 301,
                                                      "column": 54
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 11269,
                                                    "end": 11292,
                                                    "loc": {
                                                      "start": {
                                                        "line": 301,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 301,
                                                        "column": 39
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 11269,
                                                      "end": 11287,
                                                      "loc": {
                                                        "start": {
                                                          "line": 301,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 301,
                                                          "column": 34
                                                        }
                                                      },
                                                      "name": "updateSketchStates"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 11288,
                                                      "end": 11292,
                                                      "loc": {
                                                        "start": {
                                                          "line": 301,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 301,
                                                          "column": 39
                                                        }
                                                      },
                                                      "name": "call"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "ThisExpression",
                                                      "start": 11293,
                                                      "end": 11297,
                                                      "loc": {
                                                        "start": {
                                                          "line": 301,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 301,
                                                          "column": 44
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 11299,
                                                      "end": 11306,
                                                      "loc": {
                                                        "start": {
                                                          "line": 301,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 301,
                                                          "column": 53
                                                        }
                                                      },
                                                      "name": "objects"
                                                    }
                                                  ]
                                                }
                                              },
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 11325,
                                                "end": 11368,
                                                "loc": {
                                                  "start": {
                                                    "line": 302,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 302,
                                                    "column": 59
                                                  }
                                                },
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "start": 11325,
                                                  "end": 11367,
                                                  "loc": {
                                                    "start": {
                                                      "line": 302,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 302,
                                                      "column": 58
                                                    }
                                                  },
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 11325,
                                                    "end": 11359,
                                                    "loc": {
                                                      "start": {
                                                        "line": 302,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 302,
                                                        "column": 50
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 11325,
                                                      "end": 11343,
                                                      "loc": {
                                                        "start": {
                                                          "line": 302,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 302,
                                                          "column": 34
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 11325,
                                                        "end": 11329,
                                                        "loc": {
                                                          "start": {
                                                            "line": 302,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 302,
                                                            "column": 20
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 11330,
                                                        "end": 11343,
                                                        "loc": {
                                                          "start": {
                                                            "line": 302,
                                                            "column": 21
                                                          },
                                                          "end": {
                                                            "line": 302,
                                                            "column": 34
                                                          }
                                                        },
                                                        "name": "currentSketch"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 11344,
                                                      "end": 11359,
                                                      "loc": {
                                                        "start": {
                                                          "line": 302,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 302,
                                                          "column": 50
                                                        }
                                                      },
                                                      "name": "solveInProgress"
                                                    },
                                                    "computed": false
                                                  },
                                                  "right": {
                                                    "type": "Literal",
                                                    "start": 11362,
                                                    "end": 11367,
                                                    "loc": {
                                                      "start": {
                                                        "line": 302,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 302,
                                                        "column": 58
                                                      }
                                                    },
                                                    "value": false,
                                                    "rawValue": false,
                                                    "raw": "false"
                                                  }
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11384,
                                      "end": 11389,
                                      "loc": {
                                        "start": {
                                          "line": 303,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 303,
                                          "column": 20
                                        }
                                      },
                                      "name": "catch"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 11390,
                                      "end": 11471,
                                      "loc": {
                                        "start": {
                                          "line": 303,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 305,
                                          "column": 13
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 11396,
                                        "end": 11471,
                                        "loc": {
                                          "start": {
                                            "line": 303,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 305,
                                            "column": 13
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 11414,
                                            "end": 11457,
                                            "loc": {
                                              "start": {
                                                "line": 304,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 304,
                                                "column": 59
                                              }
                                            },
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "start": 11414,
                                              "end": 11456,
                                              "loc": {
                                                "start": {
                                                  "line": 304,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 304,
                                                  "column": 58
                                                }
                                              },
                                              "operator": "=",
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 11414,
                                                "end": 11448,
                                                "loc": {
                                                  "start": {
                                                    "line": 304,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 304,
                                                    "column": 50
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 11414,
                                                  "end": 11432,
                                                  "loc": {
                                                    "start": {
                                                      "line": 304,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 304,
                                                      "column": 34
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 11414,
                                                    "end": 11418,
                                                    "loc": {
                                                      "start": {
                                                        "line": 304,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 304,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 11419,
                                                    "end": 11432,
                                                    "loc": {
                                                      "start": {
                                                        "line": 304,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 304,
                                                        "column": 34
                                                      }
                                                    },
                                                    "name": "currentSketch"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 11433,
                                                  "end": 11448,
                                                  "loc": {
                                                    "start": {
                                                      "line": 304,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 304,
                                                      "column": 50
                                                    }
                                                  },
                                                  "name": "solveInProgress"
                                                },
                                                "computed": false
                                              },
                                              "right": {
                                                "type": "Literal",
                                                "start": 11451,
                                                "end": 11456,
                                                "loc": {
                                                  "start": {
                                                    "line": 304,
                                                    "column": 53
                                                  },
                                                  "end": {
                                                    "line": 304,
                                                    "column": 58
                                                  }
                                                },
                                                "value": false,
                                                "rawValue": false,
                                                "raw": "false"
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11486,
                            "end": 11502,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 12
                              },
                              "end": {
                                "line": 306,
                                "column": 28
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11486,
                              "end": 11501,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 12
                                },
                                "end": {
                                  "line": 306,
                                  "column": 27
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 11486,
                                "end": 11498,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 24
                                  }
                                },
                                "name": "trackPromise"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 11499,
                                  "end": 11500,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 26
                                    }
                                  },
                                  "name": "p"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 11526,
                        "end": 11641,
                        "loc": {
                          "start": {
                            "line": 308,
                            "column": 13
                          },
                          "end": {
                            "line": 311,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 11588,
                            "end": 11631,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 12
                              },
                              "end": {
                                "line": 310,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 11588,
                              "end": 11630,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 12
                                },
                                "end": {
                                  "line": 310,
                                  "column": 54
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 11588,
                                "end": 11622,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11588,
                                  "end": 11606,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11588,
                                    "end": 11592,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11593,
                                    "end": 11606,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 30
                                      }
                                    },
                                    "name": "currentSketch"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11607,
                                  "end": 11622,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 46
                                    }
                                  },
                                  "name": "solveInProgress"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "Literal",
                                "start": 11625,
                                "end": 11630,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 54
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "avoid doing anything on null drag",
                                "start": 11540,
                                "end": 11575,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 47
                                  }
                                },
                                "range": [
                                  11540,
                                  11575
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11654,
              "end": 12051,
              "loc": {
                "start": {
                  "line": 315,
                  "column": 4
                },
                "end": {
                  "line": 321,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11654,
                "end": 11663,
                "loc": {
                  "start": {
                    "line": 315,
                    "column": 4
                  },
                  "end": {
                    "line": 315,
                    "column": 13
                  }
                },
                "name": "newSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11663,
                "end": 12051,
                "loc": {
                  "start": {
                    "line": 315,
                    "column": 13
                  },
                  "end": {
                    "line": 321,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11664,
                    "end": 11672,
                    "loc": {
                      "start": {
                        "line": 315,
                        "column": 14
                      },
                      "end": {
                        "line": 315,
                        "column": 22
                      }
                    },
                    "name": "position"
                  },
                  {
                    "type": "Identifier",
                    "start": 11674,
                    "end": 11684,
                    "loc": {
                      "start": {
                        "line": 315,
                        "column": 24
                      },
                      "end": {
                        "line": 315,
                        "column": 34
                      }
                    },
                    "name": "quaternion"
                  },
                  {
                    "type": "Identifier",
                    "start": 11686,
                    "end": 11690,
                    "loc": {
                      "start": {
                        "line": 315,
                        "column": 36
                      },
                      "end": {
                        "line": 315,
                        "column": 40
                      }
                    },
                    "name": "item"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11692,
                  "end": 12051,
                  "loc": {
                    "start": {
                      "line": 315,
                      "column": 42
                    },
                    "end": {
                      "line": 321,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 11702,
                      "end": 11799,
                      "loc": {
                        "start": {
                          "line": 316,
                          "column": 8
                        },
                        "end": {
                          "line": 316,
                          "column": 105
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11706,
                          "end": 11798,
                          "loc": {
                            "start": {
                              "line": 316,
                              "column": 12
                            },
                            "end": {
                              "line": 316,
                              "column": 104
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11706,
                            "end": 11711,
                            "loc": {
                              "start": {
                                "line": 316,
                                "column": 12
                              },
                              "end": {
                                "line": 316,
                                "column": 17
                              }
                            },
                            "name": "coSys"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 11714,
                            "end": 11798,
                            "loc": {
                              "start": {
                                "line": 316,
                                "column": 20
                              },
                              "end": {
                                "line": 316,
                                "column": 104
                              }
                            },
                            "elements": [
                              {
                                "type": "NewExpression",
                                "start": 11715,
                                "end": 11741,
                                "loc": {
                                  "start": {
                                    "line": 316,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 316,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11719,
                                  "end": 11732,
                                  "loc": {
                                    "start": {
                                      "line": 316,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 316,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11719,
                                    "end": 11724,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 30
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11725,
                                    "end": 11732,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 38
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 11733,
                                    "end": 11734,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 40
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11736,
                                    "end": 11737,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 43
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11739,
                                    "end": 11740,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 46
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              },
                              {
                                "type": "NewExpression",
                                "start": 11743,
                                "end": 11769,
                                "loc": {
                                  "start": {
                                    "line": 316,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 316,
                                    "column": 75
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11747,
                                  "end": 11760,
                                  "loc": {
                                    "start": {
                                      "line": 316,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 316,
                                      "column": 66
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11747,
                                    "end": 11752,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 58
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11753,
                                    "end": 11760,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 66
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 11761,
                                    "end": 11762,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 68
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11764,
                                    "end": 11765,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 71
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11767,
                                    "end": 11768,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 73
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 74
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              },
                              {
                                "type": "NewExpression",
                                "start": 11771,
                                "end": 11797,
                                "loc": {
                                  "start": {
                                    "line": 316,
                                    "column": 77
                                  },
                                  "end": {
                                    "line": 316,
                                    "column": 103
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11775,
                                  "end": 11788,
                                  "loc": {
                                    "start": {
                                      "line": 316,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 316,
                                      "column": 94
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11775,
                                    "end": 11780,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 86
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11781,
                                    "end": 11788,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 87
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 94
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 11789,
                                    "end": 11790,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 95
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 96
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11792,
                                    "end": 11793,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 99
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11795,
                                    "end": 11796,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 101
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 102
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11808,
                      "end": 11864,
                      "loc": {
                        "start": {
                          "line": 317,
                          "column": 8
                        },
                        "end": {
                          "line": 317,
                          "column": 64
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11808,
                        "end": 11863,
                        "loc": {
                          "start": {
                            "line": 317,
                            "column": 8
                          },
                          "end": {
                            "line": 317,
                            "column": 63
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11808,
                          "end": 11821,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 8
                            },
                            "end": {
                              "line": 317,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11808,
                            "end": 11813,
                            "loc": {
                              "start": {
                                "line": 317,
                                "column": 8
                              },
                              "end": {
                                "line": 317,
                                "column": 13
                              }
                            },
                            "name": "coSys"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11814,
                            "end": 11821,
                            "loc": {
                              "start": {
                                "line": 317,
                                "column": 14
                              },
                              "end": {
                                "line": 317,
                                "column": 21
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 11822,
                            "end": 11862,
                            "loc": {
                              "start": {
                                "line": 317,
                                "column": 22
                              },
                              "end": {
                                "line": 317,
                                "column": 62
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 11822,
                                "end": 11826,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 26
                                  }
                                },
                                "name": "axis"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 11830,
                              "end": 11862,
                              "loc": {
                                "start": {
                                  "line": 317,
                                  "column": 30
                                },
                                "end": {
                                  "line": 317,
                                  "column": 62
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11830,
                                "end": 11850,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 11830,
                                  "end": 11834,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 34
                                    }
                                  },
                                  "name": "axis"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11835,
                                  "end": 11850,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 50
                                    }
                                  },
                                  "name": "applyQuaternion"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 11851,
                                  "end": 11861,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 61
                                    }
                                  },
                                  "name": "quaternion"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11873,
                      "end": 11897,
                      "loc": {
                        "start": {
                          "line": 318,
                          "column": 8
                        },
                        "end": {
                          "line": 318,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11873,
                        "end": 11896,
                        "loc": {
                          "start": {
                            "line": 318,
                            "column": 8
                          },
                          "end": {
                            "line": 318,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11873,
                          "end": 11886,
                          "loc": {
                            "start": {
                              "line": 318,
                              "column": 8
                            },
                            "end": {
                              "line": 318,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11873,
                            "end": 11878,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 8
                              },
                              "end": {
                                "line": 318,
                                "column": 13
                              }
                            },
                            "name": "coSys"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11879,
                            "end": 11886,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 14
                              },
                              "end": {
                                "line": 318,
                                "column": 21
                              }
                            },
                            "name": "unshift"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 11887,
                            "end": 11895,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 22
                              },
                              "end": {
                                "line": 318,
                                "column": 30
                              }
                            },
                            "name": "position"
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 11906,
                      "end": 11951,
                      "loc": {
                        "start": {
                          "line": 319,
                          "column": 8
                        },
                        "end": {
                          "line": 319,
                          "column": 53
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11910,
                          "end": 11950,
                          "loc": {
                            "start": {
                              "line": 319,
                              "column": 12
                            },
                            "end": {
                              "line": 319,
                              "column": 52
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11910,
                            "end": 11919,
                            "loc": {
                              "start": {
                                "line": 319,
                                "column": 12
                              },
                              "end": {
                                "line": 319,
                                "column": 21
                              }
                            },
                            "name": "sketchSet"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 11922,
                            "end": 11950,
                            "loc": {
                              "start": {
                                "line": 319,
                                "column": 24
                              },
                              "end": {
                                "line": 319,
                                "column": 52
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11922,
                              "end": 11944,
                              "loc": {
                                "start": {
                                  "line": 319,
                                  "column": 24
                                },
                                "end": {
                                  "line": 319,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 11922,
                                "end": 11928,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 30
                                  }
                                },
                                "name": "Sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11929,
                                "end": 11944,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 46
                                  }
                                },
                                "name": "FindSketchSetOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 11945,
                                "end": 11949,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 51
                                  }
                                },
                                "name": "item"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 11960,
                      "end": 12045,
                      "loc": {
                        "start": {
                          "line": 320,
                          "column": 8
                        },
                        "end": {
                          "line": 320,
                          "column": 93
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 11967,
                        "end": 12044,
                        "loc": {
                          "start": {
                            "line": 320,
                            "column": 15
                          },
                          "end": {
                            "line": 320,
                            "column": 92
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11967,
                          "end": 12031,
                          "loc": {
                            "start": {
                              "line": 320,
                              "column": 15
                            },
                            "end": {
                              "line": 320,
                              "column": 79
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 11967,
                            "end": 12023,
                            "loc": {
                              "start": {
                                "line": 320,
                                "column": 15
                              },
                              "end": {
                                "line": 320,
                                "column": 71
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11967,
                              "end": 12012,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 15
                                },
                                "end": {
                                  "line": 320,
                                  "column": 60
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 11967,
                                "end": 11997,
                                "loc": {
                                  "start": {
                                    "line": 320,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 320,
                                    "column": 45
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11967,
                                  "end": 11984,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11967,
                                    "end": 11974,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 22
                                      }
                                    },
                                    "name": "Interop"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11975,
                                    "end": 11984,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 32
                                      }
                                    },
                                    "name": "AddSketch"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 11985,
                                    "end": 11989,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 37
                                      }
                                    },
                                    "name": "item"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 11991,
                                    "end": 11996,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 44
                                      }
                                    },
                                    "name": "coSys"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11998,
                                "end": 12012,
                                "loc": {
                                  "start": {
                                    "line": 320,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 320,
                                    "column": 60
                                  }
                                },
                                "name": "parseToChildOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 12013,
                                "end": 12022,
                                "loc": {
                                  "start": {
                                    "line": 320,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 320,
                                    "column": 70
                                  }
                                },
                                "name": "sketchSet"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12024,
                            "end": 12031,
                            "loc": {
                              "start": {
                                "line": 320,
                                "column": 72
                              },
                              "end": {
                                "line": 320,
                                "column": 79
                              }
                            },
                            "name": "execute"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 12032,
                            "end": 12043,
                            "loc": {
                              "start": {
                                "line": 320,
                                "column": 80
                              },
                              "end": {
                                "line": 320,
                                "column": 91
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12032,
                              "end": 12036,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 80
                                },
                                "end": {
                                  "line": 320,
                                  "column": 84
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12037,
                              "end": 12043,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 85
                                },
                                "end": {
                                  "line": 320,
                                  "column": 91
                                }
                              },
                              "name": "server"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12057,
              "end": 12242,
              "loc": {
                "start": {
                  "line": 323,
                  "column": 4
                },
                "end": {
                  "line": 326,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12057,
                "end": 12075,
                "loc": {
                  "start": {
                    "line": 323,
                    "column": 4
                  },
                  "end": {
                    "line": 323,
                    "column": 22
                  }
                },
                "name": "newSketchFromPlane"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12075,
                "end": 12242,
                "loc": {
                  "start": {
                    "line": 323,
                    "column": 22
                  },
                  "end": {
                    "line": 326,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12076,
                    "end": 12081,
                    "loc": {
                      "start": {
                        "line": 323,
                        "column": 23
                      },
                      "end": {
                        "line": 323,
                        "column": 28
                      }
                    },
                    "name": "plane"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12083,
                  "end": 12242,
                  "loc": {
                    "start": {
                      "line": 323,
                      "column": 30
                    },
                    "end": {
                      "line": 326,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 12093,
                      "end": 12139,
                      "loc": {
                        "start": {
                          "line": 324,
                          "column": 8
                        },
                        "end": {
                          "line": 324,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12097,
                          "end": 12138,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 12
                            },
                            "end": {
                              "line": 324,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12097,
                            "end": 12106,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 12
                              },
                              "end": {
                                "line": 324,
                                "column": 21
                              }
                            },
                            "name": "sketchSet"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 12109,
                            "end": 12138,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 24
                              },
                              "end": {
                                "line": 324,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12109,
                              "end": 12131,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 24
                                },
                                "end": {
                                  "line": 324,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 12109,
                                "end": 12115,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 30
                                  }
                                },
                                "name": "Sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12116,
                                "end": 12131,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 46
                                  }
                                },
                                "name": "FindSketchSetOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 12132,
                                "end": 12137,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 52
                                  }
                                },
                                "name": "plane"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 12148,
                      "end": 12236,
                      "loc": {
                        "start": {
                          "line": 325,
                          "column": 8
                        },
                        "end": {
                          "line": 325,
                          "column": 96
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 12155,
                        "end": 12235,
                        "loc": {
                          "start": {
                            "line": 325,
                            "column": 15
                          },
                          "end": {
                            "line": 325,
                            "column": 95
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12155,
                          "end": 12222,
                          "loc": {
                            "start": {
                              "line": 325,
                              "column": 15
                            },
                            "end": {
                              "line": 325,
                              "column": 82
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 12155,
                            "end": 12214,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 15
                              },
                              "end": {
                                "line": 325,
                                "column": 74
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12155,
                              "end": 12203,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 15
                                },
                                "end": {
                                  "line": 325,
                                  "column": 63
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 12155,
                                "end": 12188,
                                "loc": {
                                  "start": {
                                    "line": 325,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 325,
                                    "column": 48
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 12155,
                                  "end": 12181,
                                  "loc": {
                                    "start": {
                                      "line": 325,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 325,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12155,
                                    "end": 12162,
                                    "loc": {
                                      "start": {
                                        "line": 325,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 325,
                                        "column": 22
                                      }
                                    },
                                    "name": "Interop"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12163,
                                    "end": 12181,
                                    "loc": {
                                      "start": {
                                        "line": 325,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 325,
                                        "column": 41
                                      }
                                    },
                                    "name": "AddSketchFromPlane"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 12182,
                                    "end": 12187,
                                    "loc": {
                                      "start": {
                                        "line": 325,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 325,
                                        "column": 47
                                      }
                                    },
                                    "name": "plane"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12189,
                                "end": 12203,
                                "loc": {
                                  "start": {
                                    "line": 325,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 325,
                                    "column": 63
                                  }
                                },
                                "name": "parseToChildOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 12204,
                                "end": 12213,
                                "loc": {
                                  "start": {
                                    "line": 325,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 325,
                                    "column": 73
                                  }
                                },
                                "name": "sketchSet"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12215,
                            "end": 12222,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 75
                              },
                              "end": {
                                "line": 325,
                                "column": 82
                              }
                            },
                            "name": "execute"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 12223,
                            "end": 12234,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 83
                              },
                              "end": {
                                "line": 325,
                                "column": 94
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12223,
                              "end": 12227,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 83
                                },
                                "end": {
                                  "line": 325,
                                  "column": 87
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12228,
                              "end": 12234,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 88
                                },
                                "end": {
                                  "line": 325,
                                  "column": 94
                                }
                              },
                              "name": "server"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12248,
              "end": 12763,
              "loc": {
                "start": {
                  "line": 328,
                  "column": 4
                },
                "end": {
                  "line": 340,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12248,
                "end": 12260,
                "loc": {
                  "start": {
                    "line": 328,
                    "column": 4
                  },
                  "end": {
                    "line": 328,
                    "column": 16
                  }
                },
                "name": "deleteSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12260,
                "end": 12763,
                "loc": {
                  "start": {
                    "line": 328,
                    "column": 16
                  },
                  "end": {
                    "line": 340,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 12263,
                  "end": 12763,
                  "loc": {
                    "start": {
                      "line": 328,
                      "column": 19
                    },
                    "end": {
                      "line": 340,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 12273,
                      "end": 12388,
                      "loc": {
                        "start": {
                          "line": 329,
                          "column": 8
                        },
                        "end": {
                          "line": 330,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 12277,
                        "end": 12367,
                        "loc": {
                          "start": {
                            "line": 329,
                            "column": 12
                          },
                          "end": {
                            "line": 329,
                            "column": 102
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 12278,
                          "end": 12367,
                          "loc": {
                            "start": {
                              "line": 329,
                              "column": 13
                            },
                            "end": {
                              "line": 329,
                              "column": 102
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 12278,
                            "end": 12285,
                            "loc": {
                              "start": {
                                "line": 329,
                                "column": 13
                              },
                              "end": {
                                "line": 329,
                                "column": 20
                              }
                            },
                            "name": "confirm"
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 12286,
                              "end": 12366,
                              "loc": {
                                "start": {
                                  "line": 329,
                                  "column": 21
                                },
                                "end": {
                                  "line": 329,
                                  "column": 101
                                }
                              },
                              "value": "Do you really want to irreversibly delete current sketch and all its contents?",
                              "rawValue": "Do you really want to irreversibly delete current sketch and all its contents?",
                              "raw": "\"Do you really want to irreversibly delete current sketch and all its contents?\""
                            }
                          ]
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 12381,
                        "end": 12388,
                        "loc": {
                          "start": {
                            "line": 330,
                            "column": 12
                          },
                          "end": {
                            "line": 330,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12397,
                      "end": 12429,
                      "loc": {
                        "start": {
                          "line": 331,
                          "column": 8
                        },
                        "end": {
                          "line": 331,
                          "column": 40
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12401,
                          "end": 12428,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 12
                            },
                            "end": {
                              "line": 331,
                              "column": 39
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12401,
                            "end": 12407,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 12
                              },
                              "end": {
                                "line": 331,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 12410,
                            "end": 12428,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 21
                              },
                              "end": {
                                "line": 331,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12410,
                              "end": 12414,
                              "loc": {
                                "start": {
                                  "line": 331,
                                  "column": 21
                                },
                                "end": {
                                  "line": 331,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12415,
                              "end": 12428,
                              "loc": {
                                "start": {
                                  "line": 331,
                                  "column": 26
                                },
                                "end": {
                                  "line": 331,
                                  "column": 39
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 12438,
                      "end": 12470,
                      "loc": {
                        "start": {
                          "line": 332,
                          "column": 8
                        },
                        "end": {
                          "line": 333,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 12442,
                        "end": 12449,
                        "loc": {
                          "start": {
                            "line": 332,
                            "column": 12
                          },
                          "end": {
                            "line": 332,
                            "column": 19
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 12443,
                          "end": 12449,
                          "loc": {
                            "start": {
                              "line": 332,
                              "column": 13
                            },
                            "end": {
                              "line": 332,
                              "column": 19
                            }
                          },
                          "name": "sketch"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 12463,
                        "end": 12470,
                        "loc": {
                          "start": {
                            "line": 333,
                            "column": 12
                          },
                          "end": {
                            "line": 333,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12479,
                      "end": 12524,
                      "loc": {
                        "start": {
                          "line": 334,
                          "column": 8
                        },
                        "end": {
                          "line": 334,
                          "column": 53
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 12479,
                        "end": 12523,
                        "loc": {
                          "start": {
                            "line": 334,
                            "column": 8
                          },
                          "end": {
                            "line": 334,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12479,
                          "end": 12498,
                          "loc": {
                            "start": {
                              "line": 334,
                              "column": 8
                            },
                            "end": {
                              "line": 334,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12479,
                            "end": 12483,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 8
                              },
                              "end": {
                                "line": 334,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12484,
                            "end": 12498,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 13
                              },
                              "end": {
                                "line": 334,
                                "column": 27
                              }
                            },
                            "name": "deselectSketch"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "start": 12499,
                            "end": 12522,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 28
                              },
                              "end": {
                                "line": 334,
                                "column": 51
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 12500,
                                "end": 12521,
                                "loc": {
                                  "start": {
                                    "line": 334,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 334,
                                    "column": 50
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12500,
                                  "end": 12515,
                                  "loc": {
                                    "start": {
                                      "line": 334,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 334,
                                      "column": 44
                                    }
                                  },
                                  "name": "skipServerCalls"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 12517,
                                  "end": 12521,
                                  "loc": {
                                    "start": {
                                      "line": 334,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 334,
                                      "column": 50
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12533,
                      "end": 12566,
                      "loc": {
                        "start": {
                          "line": 335,
                          "column": 8
                        },
                        "end": {
                          "line": 335,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 12533,
                        "end": 12565,
                        "loc": {
                          "start": {
                            "line": 335,
                            "column": 8
                          },
                          "end": {
                            "line": 335,
                            "column": 40
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12533,
                          "end": 12563,
                          "loc": {
                            "start": {
                              "line": 335,
                              "column": 8
                            },
                            "end": {
                              "line": 335,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12533,
                            "end": 12545,
                            "loc": {
                              "start": {
                                "line": 335,
                                "column": 8
                              },
                              "end": {
                                "line": 335,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12533,
                              "end": 12539,
                              "loc": {
                                "start": {
                                  "line": 335,
                                  "column": 8
                                },
                                "end": {
                                  "line": 335,
                                  "column": 14
                                }
                              },
                              "name": "sketch"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12540,
                              "end": 12545,
                              "loc": {
                                "start": {
                                  "line": 335,
                                  "column": 15
                                },
                                "end": {
                                  "line": 335,
                                  "column": 20
                                }
                              },
                              "name": "__box"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12546,
                            "end": 12563,
                            "loc": {
                              "start": {
                                "line": 335,
                                "column": 21
                              },
                              "end": {
                                "line": 335,
                                "column": 38
                              }
                            },
                            "name": "removeInteraction"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 12575,
                      "end": 12757,
                      "loc": {
                        "start": {
                          "line": 336,
                          "column": 8
                        },
                        "end": {
                          "line": 339,
                          "column": 12
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 12582,
                        "end": 12756,
                        "loc": {
                          "start": {
                            "line": 336,
                            "column": 15
                          },
                          "end": {
                            "line": 339,
                            "column": 11
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 12582,
                          "end": 12594,
                          "loc": {
                            "start": {
                              "line": 336,
                              "column": 15
                            },
                            "end": {
                              "line": 336,
                              "column": 27
                            }
                          },
                          "name": "trackPromise"
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 12595,
                            "end": 12755,
                            "loc": {
                              "start": {
                                "line": 336,
                                "column": 28
                              },
                              "end": {
                                "line": 339,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12595,
                              "end": 12649,
                              "loc": {
                                "start": {
                                  "line": 336,
                                  "column": 28
                                },
                                "end": {
                                  "line": 336,
                                  "column": 82
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 12595,
                                "end": 12644,
                                "loc": {
                                  "start": {
                                    "line": 336,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 336,
                                    "column": 77
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 12595,
                                  "end": 12631,
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 12595,
                                    "end": 12623,
                                    "loc": {
                                      "start": {
                                        "line": 336,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 336,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 12595,
                                      "end": 12615,
                                      "loc": {
                                        "start": {
                                          "line": 336,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 336,
                                          "column": 48
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 12595,
                                        "end": 12602,
                                        "loc": {
                                          "start": {
                                            "line": 336,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 336,
                                            "column": 35
                                          }
                                        },
                                        "name": "Interop"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 12603,
                                        "end": 12615,
                                        "loc": {
                                          "start": {
                                            "line": 336,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 336,
                                            "column": 48
                                          }
                                        },
                                        "name": "RemoveSketch"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 12616,
                                        "end": 12622,
                                        "loc": {
                                          "start": {
                                            "line": 336,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 336,
                                            "column": 55
                                          }
                                        },
                                        "name": "sketch"
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12624,
                                    "end": 12631,
                                    "loc": {
                                      "start": {
                                        "line": 336,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 336,
                                        "column": 64
                                      }
                                    },
                                    "name": "execute"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 12632,
                                    "end": 12643,
                                    "loc": {
                                      "start": {
                                        "line": 336,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 336,
                                        "column": 76
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 12632,
                                      "end": 12636,
                                      "loc": {
                                        "start": {
                                          "line": 336,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 336,
                                          "column": 69
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 12637,
                                      "end": 12643,
                                      "loc": {
                                        "start": {
                                          "line": 336,
                                          "column": 70
                                        },
                                        "end": {
                                          "line": 336,
                                          "column": 76
                                        }
                                      },
                                      "name": "server"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12645,
                                "end": 12649,
                                "loc": {
                                  "start": {
                                    "line": 336,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 336,
                                    "column": 82
                                  }
                                },
                                "name": "then"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 12650,
                                "end": 12754,
                                "loc": {
                                  "start": {
                                    "line": 336,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 9
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 12656,
                                  "end": 12754,
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 89
                                    },
                                    "end": {
                                      "line": 339,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 12670,
                                      "end": 12716,
                                      "loc": {
                                        "start": {
                                          "line": 337,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 337,
                                          "column": 58
                                        }
                                      },
                                      "expression": {
                                        "type": "LogicalExpression",
                                        "start": 12670,
                                        "end": 12715,
                                        "loc": {
                                          "start": {
                                            "line": 337,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 337,
                                            "column": 57
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 12670,
                                          "end": 12683,
                                          "loc": {
                                            "start": {
                                              "line": 337,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 337,
                                              "column": 25
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 12670,
                                            "end": 12676,
                                            "loc": {
                                              "start": {
                                                "line": 337,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 337,
                                                "column": 18
                                              }
                                            },
                                            "name": "sketch"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 12677,
                                            "end": 12683,
                                            "loc": {
                                              "start": {
                                                "line": 337,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 337,
                                                "column": 25
                                              }
                                            },
                                            "name": "parent"
                                          },
                                          "computed": false
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "CallExpression",
                                          "start": 12687,
                                          "end": 12715,
                                          "loc": {
                                            "start": {
                                              "line": 337,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 337,
                                              "column": 57
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 12687,
                                            "end": 12707,
                                            "loc": {
                                              "start": {
                                                "line": 337,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 337,
                                                "column": 49
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 12687,
                                              "end": 12700,
                                              "loc": {
                                                "start": {
                                                  "line": 337,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 337,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 12687,
                                                "end": 12693,
                                                "loc": {
                                                  "start": {
                                                    "line": 337,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 337,
                                                    "column": 35
                                                  }
                                                },
                                                "name": "sketch"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 12694,
                                                "end": 12700,
                                                "loc": {
                                                  "start": {
                                                    "line": 337,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 337,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "parent"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 12701,
                                              "end": 12707,
                                              "loc": {
                                                "start": {
                                                  "line": 337,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 337,
                                                  "column": 49
                                                }
                                              },
                                              "name": "remove"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 12708,
                                              "end": 12714,
                                              "loc": {
                                                "start": {
                                                  "line": 337,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 337,
                                                  "column": 56
                                                }
                                              },
                                              "name": "sketch"
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 12729,
                                      "end": 12744,
                                      "loc": {
                                        "start": {
                                          "line": 338,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 338,
                                          "column": 27
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 12729,
                                        "end": 12743,
                                        "loc": {
                                          "start": {
                                            "line": 338,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 338,
                                            "column": 26
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 12729,
                                          "end": 12741,
                                          "loc": {
                                            "start": {
                                              "line": 338,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 338,
                                              "column": 24
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 12729,
                                            "end": 12733,
                                            "loc": {
                                              "start": {
                                                "line": 338,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 338,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 12734,
                                            "end": 12741,
                                            "loc": {
                                              "start": {
                                                "line": 338,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 338,
                                                "column": 24
                                              }
                                            },
                                            "name": "refresh"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12769,
              "end": 13285,
              "loc": {
                "start": {
                  "line": 342,
                  "column": 4
                },
                "end": {
                  "line": 352,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12769,
                "end": 12795,
                "loc": {
                  "start": {
                    "line": 342,
                    "column": 4
                  },
                  "end": {
                    "line": 342,
                    "column": 30
                  }
                },
                "name": "switchToOrthographicCamera"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12795,
                "end": 13285,
                "loc": {
                  "start": {
                    "line": 342,
                    "column": 30
                  },
                  "end": {
                    "line": 352,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12796,
                    "end": 12800,
                    "loc": {
                      "start": {
                        "line": 342,
                        "column": 31
                      },
                      "end": {
                        "line": 342,
                        "column": 35
                      }
                    },
                    "name": "view"
                  },
                  {
                    "type": "Identifier",
                    "start": 12802,
                    "end": 12808,
                    "loc": {
                      "start": {
                        "line": 342,
                        "column": 37
                      },
                      "end": {
                        "line": 342,
                        "column": 43
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12810,
                  "end": 13285,
                  "loc": {
                    "start": {
                      "line": 342,
                      "column": 45
                    },
                    "end": {
                      "line": 352,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 12820,
                      "end": 12861,
                      "loc": {
                        "start": {
                          "line": 343,
                          "column": 8
                        },
                        "end": {
                          "line": 343,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12820,
                        "end": 12860,
                        "loc": {
                          "start": {
                            "line": 343,
                            "column": 8
                          },
                          "end": {
                            "line": 343,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12820,
                          "end": 12844,
                          "loc": {
                            "start": {
                              "line": 343,
                              "column": 8
                            },
                            "end": {
                              "line": 343,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12820,
                            "end": 12824,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 8
                              },
                              "end": {
                                "line": 343,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12825,
                            "end": 12844,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 13
                              },
                              "end": {
                                "line": 343,
                                "column": 32
                              }
                            },
                            "name": "perspectiveControls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 12847,
                          "end": 12860,
                          "loc": {
                            "start": {
                              "line": 343,
                              "column": 35
                            },
                            "end": {
                              "line": 343,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12847,
                            "end": 12851,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 35
                              },
                              "end": {
                                "line": 343,
                                "column": 39
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12852,
                            "end": 12860,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 40
                              },
                              "end": {
                                "line": 343,
                                "column": 48
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12870,
                      "end": 12925,
                      "loc": {
                        "start": {
                          "line": 344,
                          "column": 8
                        },
                        "end": {
                          "line": 344,
                          "column": 63
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12870,
                        "end": 12924,
                        "loc": {
                          "start": {
                            "line": 344,
                            "column": 8
                          },
                          "end": {
                            "line": 344,
                            "column": 62
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12870,
                          "end": 12881,
                          "loc": {
                            "start": {
                              "line": 344,
                              "column": 8
                            },
                            "end": {
                              "line": 344,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12870,
                            "end": 12874,
                            "loc": {
                              "start": {
                                "line": 344,
                                "column": 8
                              },
                              "end": {
                                "line": 344,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12875,
                            "end": 12881,
                            "loc": {
                              "start": {
                                "line": 344,
                                "column": 13
                              },
                              "end": {
                                "line": 344,
                                "column": 19
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 12884,
                          "end": 12924,
                          "loc": {
                            "start": {
                              "line": 344,
                              "column": 22
                            },
                            "end": {
                              "line": 344,
                              "column": 62
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12888,
                            "end": 12912,
                            "loc": {
                              "start": {
                                "line": 344,
                                "column": 26
                              },
                              "end": {
                                "line": 344,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12888,
                              "end": 12893,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 26
                                },
                                "end": {
                                  "line": 344,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12894,
                              "end": 12912,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 32
                                },
                                "end": {
                                  "line": 344,
                                  "column": 50
                                }
                              },
                              "name": "OrthographicCamera"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 12913,
                              "end": 12914,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 51
                                },
                                "end": {
                                  "line": 344,
                                  "column": 52
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            {
                              "type": "Literal",
                              "start": 12916,
                              "end": 12917,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 54
                                },
                                "end": {
                                  "line": 344,
                                  "column": 55
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            {
                              "type": "Literal",
                              "start": 12919,
                              "end": 12920,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 57
                                },
                                "end": {
                                  "line": 344,
                                  "column": 58
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            {
                              "type": "Literal",
                              "start": 12922,
                              "end": 12923,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 60
                                },
                                "end": {
                                  "line": 344,
                                  "column": 61
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12934,
                      "end": 12992,
                      "loc": {
                        "start": {
                          "line": 345,
                          "column": 8
                        },
                        "end": {
                          "line": 345,
                          "column": 66
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 12934,
                        "end": 12991,
                        "loc": {
                          "start": {
                            "line": 345,
                            "column": 8
                          },
                          "end": {
                            "line": 345,
                            "column": 65
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12934,
                          "end": 12953,
                          "loc": {
                            "start": {
                              "line": 345,
                              "column": 8
                            },
                            "end": {
                              "line": 345,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12934,
                            "end": 12940,
                            "loc": {
                              "start": {
                                "line": 345,
                                "column": 8
                              },
                              "end": {
                                "line": 345,
                                "column": 14
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12941,
                            "end": 12953,
                            "loc": {
                              "start": {
                                "line": 345,
                                "column": 15
                              },
                              "end": {
                                "line": 345,
                                "column": 27
                              }
                            },
                            "name": "localToWorld"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 12954,
                            "end": 12990,
                            "loc": {
                              "start": {
                                "line": 345,
                                "column": 28
                              },
                              "end": {
                                "line": 345,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12954,
                              "end": 12978,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 28
                                },
                                "end": {
                                  "line": 345,
                                  "column": 52
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12954,
                                "end": 12974,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12954,
                                  "end": 12965,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12954,
                                    "end": 12958,
                                    "loc": {
                                      "start": {
                                        "line": 345,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 345,
                                        "column": 32
                                      }
                                    },
                                    "name": "view"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12959,
                                    "end": 12965,
                                    "loc": {
                                      "start": {
                                        "line": 345,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 345,
                                        "column": 39
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12966,
                                  "end": 12974,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 48
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12975,
                                "end": 12978,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 52
                                  }
                                },
                                "name": "set"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 12979,
                                "end": 12980,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 54
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              {
                                "type": "Literal",
                                "start": 12982,
                                "end": 12983,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 57
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              {
                                "type": "Literal",
                                "start": 12985,
                                "end": 12989,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 63
                                  }
                                },
                                "value": 1000,
                                "rawValue": 1000,
                                "raw": "1000"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13001,
                      "end": 13055,
                      "loc": {
                        "start": {
                          "line": 346,
                          "column": 8
                        },
                        "end": {
                          "line": 346,
                          "column": 62
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 13001,
                        "end": 13054,
                        "loc": {
                          "start": {
                            "line": 346,
                            "column": 8
                          },
                          "end": {
                            "line": 346,
                            "column": 61
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 13001,
                          "end": 13034,
                          "loc": {
                            "start": {
                              "line": 346,
                              "column": 8
                            },
                            "end": {
                              "line": 346,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 13001,
                            "end": 13015,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 8
                              },
                              "end": {
                                "line": 346,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 13001,
                              "end": 13012,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 8
                                },
                                "end": {
                                  "line": 346,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13001,
                                "end": 13005,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 12
                                  }
                                },
                                "name": "view"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13006,
                                "end": 13012,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 19
                                  }
                                },
                                "name": "camera"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13013,
                              "end": 13015,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 20
                                },
                                "end": {
                                  "line": 346,
                                  "column": 22
                                }
                              },
                              "name": "up"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13016,
                            "end": 13034,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 23
                              },
                              "end": {
                                "line": 346,
                                "column": 41
                              }
                            },
                            "name": "transformDirection"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 13035,
                            "end": 13053,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 42
                              },
                              "end": {
                                "line": 346,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13035,
                              "end": 13041,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 42
                                },
                                "end": {
                                  "line": 346,
                                  "column": 48
                                }
                              },
                              "name": "sketch"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13042,
                              "end": 13053,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 49
                                },
                                "end": {
                                  "line": 346,
                                  "column": 60
                                }
                              },
                              "name": "matrixWorld"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13064,
                      "end": 13085,
                      "loc": {
                        "start": {
                          "line": 347,
                          "column": 8
                        },
                        "end": {
                          "line": 347,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13064,
                        "end": 13084,
                        "loc": {
                          "start": {
                            "line": 347,
                            "column": 8
                          },
                          "end": {
                            "line": 347,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13064,
                          "end": 13080,
                          "loc": {
                            "start": {
                              "line": 347,
                              "column": 8
                            },
                            "end": {
                              "line": 347,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 13064,
                            "end": 13075,
                            "loc": {
                              "start": {
                                "line": 347,
                                "column": 8
                              },
                              "end": {
                                "line": 347,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13064,
                              "end": 13068,
                              "loc": {
                                "start": {
                                  "line": 347,
                                  "column": 8
                                },
                                "end": {
                                  "line": 347,
                                  "column": 12
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13069,
                              "end": 13075,
                              "loc": {
                                "start": {
                                  "line": 347,
                                  "column": 13
                                },
                                "end": {
                                  "line": 347,
                                  "column": 19
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13076,
                            "end": 13080,
                            "loc": {
                              "start": {
                                "line": 347,
                                "column": 20
                              },
                              "end": {
                                "line": 347,
                                "column": 24
                              }
                            },
                            "name": "size"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 13083,
                          "end": 13084,
                          "loc": {
                            "start": {
                              "line": 347,
                              "column": 27
                            },
                            "end": {
                              "line": 347,
                              "column": 28
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13094,
                      "end": 13132,
                      "loc": {
                        "start": {
                          "line": 348,
                          "column": 8
                        },
                        "end": {
                          "line": 348,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13094,
                        "end": 13131,
                        "loc": {
                          "start": {
                            "line": 348,
                            "column": 8
                          },
                          "end": {
                            "line": 348,
                            "column": 45
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13094,
                          "end": 13107,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 8
                            },
                            "end": {
                              "line": 348,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13094,
                            "end": 13098,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 8
                              },
                              "end": {
                                "line": 348,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13099,
                            "end": 13107,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 13
                              },
                              "end": {
                                "line": 348,
                                "column": 21
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 13110,
                          "end": 13131,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 24
                            },
                            "end": {
                              "line": 348,
                              "column": 45
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 13110,
                            "end": 13129,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 24
                              },
                              "end": {
                                "line": 348,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 13110,
                              "end": 13123,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 24
                                },
                                "end": {
                                  "line": 348,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13110,
                                "end": 13114,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 28
                                  }
                                },
                                "name": "view"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13115,
                                "end": 13123,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 37
                                  }
                                },
                                "name": "controls"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13124,
                              "end": 13129,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 38
                                },
                                "end": {
                                  "line": 348,
                                  "column": 43
                                }
                              },
                              "name": "clone"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13141,
                      "end": 13171,
                      "loc": {
                        "start": {
                          "line": 349,
                          "column": 8
                        },
                        "end": {
                          "line": 349,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13141,
                        "end": 13170,
                        "loc": {
                          "start": {
                            "line": 349,
                            "column": 8
                          },
                          "end": {
                            "line": 349,
                            "column": 37
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13141,
                          "end": 13163,
                          "loc": {
                            "start": {
                              "line": 349,
                              "column": 8
                            },
                            "end": {
                              "line": 349,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 13141,
                            "end": 13154,
                            "loc": {
                              "start": {
                                "line": 349,
                                "column": 8
                              },
                              "end": {
                                "line": 349,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13141,
                              "end": 13145,
                              "loc": {
                                "start": {
                                  "line": 349,
                                  "column": 8
                                },
                                "end": {
                                  "line": 349,
                                  "column": 12
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13146,
                              "end": 13154,
                              "loc": {
                                "start": {
                                  "line": 349,
                                  "column": 13
                                },
                                "end": {
                                  "line": 349,
                                  "column": 21
                                }
                              },
                              "name": "controls"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13155,
                            "end": 13163,
                            "loc": {
                              "start": {
                                "line": 349,
                                "column": 22
                              },
                              "end": {
                                "line": 349,
                                "column": 30
                              }
                            },
                            "name": "noRotate"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 13166,
                          "end": 13170,
                          "loc": {
                            "start": {
                              "line": 349,
                              "column": 33
                            },
                            "end": {
                              "line": 349,
                              "column": 37
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13180,
                      "end": 13226,
                      "loc": {
                        "start": {
                          "line": 350,
                          "column": 8
                        },
                        "end": {
                          "line": 350,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13180,
                        "end": 13225,
                        "loc": {
                          "start": {
                            "line": 350,
                            "column": 8
                          },
                          "end": {
                            "line": 350,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13180,
                          "end": 13202,
                          "loc": {
                            "start": {
                              "line": 350,
                              "column": 8
                            },
                            "end": {
                              "line": 350,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 13180,
                            "end": 13193,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 8
                              },
                              "end": {
                                "line": 350,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13180,
                              "end": 13184,
                              "loc": {
                                "start": {
                                  "line": 350,
                                  "column": 8
                                },
                                "end": {
                                  "line": 350,
                                  "column": 12
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13185,
                              "end": 13193,
                              "loc": {
                                "start": {
                                  "line": 350,
                                  "column": 13
                                },
                                "end": {
                                  "line": 350,
                                  "column": 21
                                }
                              },
                              "name": "controls"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13194,
                            "end": 13202,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 22
                              },
                              "end": {
                                "line": 350,
                                "column": 30
                              }
                            },
                            "name": "zoomMode"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13205,
                          "end": 13225,
                          "loc": {
                            "start": {
                              "line": 350,
                              "column": 33
                            },
                            "end": {
                              "line": 350,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 13205,
                            "end": 13219,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 33
                              },
                              "end": {
                                "line": 350,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13205,
                              "end": 13210,
                              "loc": {
                                "start": {
                                  "line": 350,
                                  "column": 33
                                },
                                "end": {
                                  "line": 350,
                                  "column": 38
                                }
                              },
                              "name": "Orbit"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13211,
                              "end": 13219,
                              "loc": {
                                "start": {
                                  "line": 350,
                                  "column": 39
                                },
                                "end": {
                                  "line": 350,
                                  "column": 47
                                }
                              },
                              "name": "ZoomMode"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13220,
                            "end": 13225,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 48
                              },
                              "end": {
                                "line": 350,
                                "column": 53
                              }
                            },
                            "name": "Mouse"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13235,
                      "end": 13279,
                      "loc": {
                        "start": {
                          "line": 351,
                          "column": 8
                        },
                        "end": {
                          "line": 351,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 13235,
                        "end": 13278,
                        "loc": {
                          "start": {
                            "line": 351,
                            "column": 8
                          },
                          "end": {
                            "line": 351,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 13235,
                          "end": 13276,
                          "loc": {
                            "start": {
                              "line": 351,
                              "column": 8
                            },
                            "end": {
                              "line": 351,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 13235,
                            "end": 13272,
                            "loc": {
                              "start": {
                                "line": 351,
                                "column": 8
                              },
                              "end": {
                                "line": 351,
                                "column": 45
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 13235,
                              "end": 13267,
                              "loc": {
                                "start": {
                                  "line": 351,
                                  "column": 8
                                },
                                "end": {
                                  "line": 351,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 13235,
                                "end": 13262,
                                "loc": {
                                  "start": {
                                    "line": 351,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 351,
                                    "column": 35
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 13235,
                                  "end": 13254,
                                  "loc": {
                                    "start": {
                                      "line": 351,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 351,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 13235,
                                    "end": 13248,
                                    "loc": {
                                      "start": {
                                        "line": 351,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 351,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 13235,
                                      "end": 13239,
                                      "loc": {
                                        "start": {
                                          "line": 351,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 351,
                                          "column": 12
                                        }
                                      },
                                      "name": "view"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 13240,
                                      "end": 13248,
                                      "loc": {
                                        "start": {
                                          "line": 351,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 351,
                                          "column": 21
                                        }
                                      },
                                      "name": "controls"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13249,
                                    "end": 13254,
                                    "loc": {
                                      "start": {
                                        "line": 351,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 351,
                                        "column": 27
                                      }
                                    },
                                    "name": "focus"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 13255,
                                    "end": 13261,
                                    "loc": {
                                      "start": {
                                        "line": 351,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 351,
                                        "column": 34
                                      }
                                    },
                                    "name": "sketch"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13263,
                                "end": 13267,
                                "loc": {
                                  "start": {
                                    "line": 351,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 351,
                                    "column": 40
                                  }
                                },
                                "name": "zoom"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 13268,
                                "end": 13271,
                                "loc": {
                                  "start": {
                                    "line": 351,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 351,
                                    "column": 44
                                  }
                                },
                                "value": 200,
                                "rawValue": 200,
                                "raw": "200"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13273,
                            "end": 13276,
                            "loc": {
                              "start": {
                                "line": 351,
                                "column": 46
                              },
                              "end": {
                                "line": 351,
                                "column": 49
                              }
                            },
                            "name": "now"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 13291,
              "end": 13470,
              "loc": {
                "start": {
                  "line": 354,
                  "column": 4
                },
                "end": {
                  "line": 358,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13291,
                "end": 13316,
                "loc": {
                  "start": {
                    "line": 354,
                    "column": 4
                  },
                  "end": {
                    "line": 354,
                    "column": 29
                  }
                },
                "name": "switchToPerspectiveCamera"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13316,
                "end": 13470,
                "loc": {
                  "start": {
                    "line": 354,
                    "column": 29
                  },
                  "end": {
                    "line": 358,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13317,
                    "end": 13321,
                    "loc": {
                      "start": {
                        "line": 354,
                        "column": 30
                      },
                      "end": {
                        "line": 354,
                        "column": 34
                      }
                    },
                    "name": "view"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13323,
                  "end": 13470,
                  "loc": {
                    "start": {
                      "line": 354,
                      "column": 36
                    },
                    "end": {
                      "line": 358,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 13333,
                      "end": 13374,
                      "loc": {
                        "start": {
                          "line": 355,
                          "column": 8
                        },
                        "end": {
                          "line": 355,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13333,
                        "end": 13373,
                        "loc": {
                          "start": {
                            "line": 355,
                            "column": 8
                          },
                          "end": {
                            "line": 355,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13333,
                          "end": 13346,
                          "loc": {
                            "start": {
                              "line": 355,
                              "column": 8
                            },
                            "end": {
                              "line": 355,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13333,
                            "end": 13337,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 8
                              },
                              "end": {
                                "line": 355,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13338,
                            "end": 13346,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 13
                              },
                              "end": {
                                "line": 355,
                                "column": 21
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13349,
                          "end": 13373,
                          "loc": {
                            "start": {
                              "line": 355,
                              "column": 24
                            },
                            "end": {
                              "line": 355,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13349,
                            "end": 13353,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 24
                              },
                              "end": {
                                "line": 355,
                                "column": 28
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13354,
                            "end": 13373,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 29
                              },
                              "end": {
                                "line": 355,
                                "column": 48
                              }
                            },
                            "name": "perspectiveControls"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13383,
                      "end": 13418,
                      "loc": {
                        "start": {
                          "line": 356,
                          "column": 8
                        },
                        "end": {
                          "line": 356,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13383,
                        "end": 13417,
                        "loc": {
                          "start": {
                            "line": 356,
                            "column": 8
                          },
                          "end": {
                            "line": 356,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13383,
                          "end": 13394,
                          "loc": {
                            "start": {
                              "line": 356,
                              "column": 8
                            },
                            "end": {
                              "line": 356,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13383,
                            "end": 13387,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 8
                              },
                              "end": {
                                "line": 356,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13388,
                            "end": 13394,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 13
                              },
                              "end": {
                                "line": 356,
                                "column": 19
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13397,
                          "end": 13417,
                          "loc": {
                            "start": {
                              "line": 356,
                              "column": 22
                            },
                            "end": {
                              "line": 356,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 13397,
                            "end": 13410,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 22
                              },
                              "end": {
                                "line": 356,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13397,
                              "end": 13401,
                              "loc": {
                                "start": {
                                  "line": 356,
                                  "column": 22
                                },
                                "end": {
                                  "line": 356,
                                  "column": 26
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13402,
                              "end": 13410,
                              "loc": {
                                "start": {
                                  "line": 356,
                                  "column": 27
                                },
                                "end": {
                                  "line": 356,
                                  "column": 35
                                }
                              },
                              "name": "controls"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13411,
                            "end": 13417,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 36
                              },
                              "end": {
                                "line": 356,
                                "column": 42
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13427,
                      "end": 13464,
                      "loc": {
                        "start": {
                          "line": 357,
                          "column": 8
                        },
                        "end": {
                          "line": 357,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13427,
                        "end": 13463,
                        "loc": {
                          "start": {
                            "line": 357,
                            "column": 8
                          },
                          "end": {
                            "line": 357,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13427,
                          "end": 13451,
                          "loc": {
                            "start": {
                              "line": 357,
                              "column": 8
                            },
                            "end": {
                              "line": 357,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13427,
                            "end": 13431,
                            "loc": {
                              "start": {
                                "line": 357,
                                "column": 8
                              },
                              "end": {
                                "line": 357,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13432,
                            "end": 13451,
                            "loc": {
                              "start": {
                                "line": 357,
                                "column": 13
                              },
                              "end": {
                                "line": 357,
                                "column": 32
                              }
                            },
                            "name": "perspectiveControls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 13454,
                          "end": 13463,
                          "loc": {
                            "start": {
                              "line": 357,
                              "column": 35
                            },
                            "end": {
                              "line": 357,
                              "column": 44
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 13476,
              "end": 14474,
              "loc": {
                "start": {
                  "line": 360,
                  "column": 4
                },
                "end": {
                  "line": 392,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13476,
                "end": 13499,
                "loc": {
                  "start": {
                    "line": 360,
                    "column": 4
                  },
                  "end": {
                    "line": 360,
                    "column": 27
                  }
                },
                "name": "requestAllButtonChanges"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13499,
                "end": 14474,
                "loc": {
                  "start": {
                    "line": 360,
                    "column": 27
                  },
                  "end": {
                    "line": 392,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13500,
                    "end": 13512,
                    "loc": {
                      "start": {
                        "line": 360,
                        "column": 28
                      },
                      "end": {
                        "line": 360,
                        "column": 40
                      }
                    },
                    "name": "isSketchMode"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13514,
                  "end": 14474,
                  "loc": {
                    "start": {
                      "line": 360,
                      "column": 42
                    },
                    "end": {
                      "line": 392,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 13524,
                      "end": 13543,
                      "loc": {
                        "start": {
                          "line": 361,
                          "column": 8
                        },
                        "end": {
                          "line": 361,
                          "column": 27
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13530,
                          "end": 13542,
                          "loc": {
                            "start": {
                              "line": 361,
                              "column": 14
                            },
                            "end": {
                              "line": 361,
                              "column": 26
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13530,
                            "end": 13537,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 14
                              },
                              "end": {
                                "line": 361,
                                "column": 21
                              }
                            },
                            "name": "buttons"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 13540,
                            "end": 13542,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 24
                              },
                              "end": {
                                "line": 361,
                                "column": 26
                              }
                            },
                            "elements": []
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 13552,
                      "end": 14424,
                      "loc": {
                        "start": {
                          "line": 362,
                          "column": 8
                        },
                        "end": {
                          "line": 390,
                          "column": 9
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 13557,
                        "end": 13569,
                        "loc": {
                          "start": {
                            "line": 362,
                            "column": 13
                          },
                          "end": {
                            "line": 362,
                            "column": 25
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 13563,
                            "end": 13569,
                            "loc": {
                              "start": {
                                "line": 362,
                                "column": 19
                              },
                              "end": {
                                "line": 362,
                                "column": 25
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 13563,
                              "end": 13569,
                              "loc": {
                                "start": {
                                  "line": 362,
                                  "column": 19
                                },
                                "end": {
                                  "line": 362,
                                  "column": 25
                                }
                              },
                              "name": "constr"
                            },
                            "init": null
                          }
                        ],
                        "kind": "const"
                      },
                      "right": {
                        "type": "ArrayExpression",
                        "start": 13573,
                        "end": 14163,
                        "loc": {
                          "start": {
                            "line": 362,
                            "column": 29
                          },
                          "end": {
                            "line": 382,
                            "column": 9
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 13591,
                            "end": 13602,
                            "loc": {
                              "start": {
                                "line": 363,
                                "column": 16
                              },
                              "end": {
                                "line": 363,
                                "column": 27
                              }
                            },
                            "value": "incidence",
                            "rawValue": "incidence",
                            "raw": "'incidence'"
                          },
                          {
                            "type": "Literal",
                            "start": 13620,
                            "end": 13630,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 16
                              },
                              "end": {
                                "line": 364,
                                "column": 26
                              }
                            },
                            "value": "tangency",
                            "rawValue": "tangency",
                            "raw": "'tangency'"
                          },
                          {
                            "type": "Literal",
                            "start": 13648,
                            "end": 13661,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 16
                              },
                              "end": {
                                "line": 365,
                                "column": 29
                              }
                            },
                            "value": "verticality",
                            "rawValue": "verticality",
                            "raw": "'verticality'"
                          },
                          {
                            "type": "Literal",
                            "start": 13679,
                            "end": 13694,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 16
                              },
                              "end": {
                                "line": 366,
                                "column": 31
                              }
                            },
                            "value": "horizontality",
                            "rawValue": "horizontality",
                            "raw": "'horizontality'"
                          },
                          {
                            "type": "Literal",
                            "start": 13712,
                            "end": 13725,
                            "loc": {
                              "start": {
                                "line": 367,
                                "column": 16
                              },
                              "end": {
                                "line": 367,
                                "column": 29
                              }
                            },
                            "value": "parallelity",
                            "rawValue": "parallelity",
                            "raw": "'parallelity'"
                          },
                          {
                            "type": "Literal",
                            "start": 13743,
                            "end": 13761,
                            "loc": {
                              "start": {
                                "line": 368,
                                "column": 16
                              },
                              "end": {
                                "line": 368,
                                "column": 34
                              }
                            },
                            "value": "perpendicularity",
                            "rawValue": "perpendicularity",
                            "raw": "'perpendicularity'"
                          },
                          {
                            "type": "Literal",
                            "start": 13779,
                            "end": 13789,
                            "loc": {
                              "start": {
                                "line": 369,
                                "column": 16
                              },
                              "end": {
                                "line": 369,
                                "column": 26
                              }
                            },
                            "value": "fixation",
                            "rawValue": "fixation",
                            "raw": "'fixation'"
                          },
                          {
                            "type": "Literal",
                            "start": 13807,
                            "end": 13817,
                            "loc": {
                              "start": {
                                "line": 370,
                                "column": 16
                              },
                              "end": {
                                "line": 370,
                                "column": 26
                              }
                            },
                            "value": "colinear",
                            "rawValue": "colinear",
                            "raw": "'colinear'"
                          },
                          {
                            "type": "Literal",
                            "start": 13835,
                            "end": 13847,
                            "loc": {
                              "start": {
                                "line": 371,
                                "column": 16
                              },
                              "end": {
                                "line": 371,
                                "column": 28
                              }
                            },
                            "value": "concentric",
                            "rawValue": "concentric",
                            "raw": "'concentric'"
                          },
                          {
                            "type": "Literal",
                            "start": 13865,
                            "end": 13875,
                            "loc": {
                              "start": {
                                "line": 372,
                                "column": 16
                              },
                              "end": {
                                "line": 372,
                                "column": 26
                              }
                            },
                            "value": "midpoint",
                            "rawValue": "midpoint",
                            "raw": "'midpoint'"
                          },
                          {
                            "type": "Literal",
                            "start": 13893,
                            "end": 13904,
                            "loc": {
                              "start": {
                                "line": 373,
                                "column": 16
                              },
                              "end": {
                                "line": 373,
                                "column": 27
                              }
                            },
                            "value": "symmetric",
                            "rawValue": "symmetric",
                            "raw": "'symmetric'"
                          },
                          {
                            "type": "Literal",
                            "start": 13922,
                            "end": 13938,
                            "loc": {
                              "start": {
                                "line": 374,
                                "column": 16
                              },
                              "end": {
                                "line": 374,
                                "column": 32
                              }
                            },
                            "value": "equal_distance",
                            "rawValue": "equal_distance",
                            "raw": "'equal_distance'"
                          },
                          {
                            "type": "Literal",
                            "start": 13956,
                            "end": 13970,
                            "loc": {
                              "start": {
                                "line": 375,
                                "column": 16
                              },
                              "end": {
                                "line": 375,
                                "column": 30
                              }
                            },
                            "value": "equal_radius",
                            "rawValue": "equal_radius",
                            "raw": "'equal_radius'"
                          },
                          {
                            "type": "Literal",
                            "start": 13988,
                            "end": 13998,
                            "loc": {
                              "start": {
                                "line": 376,
                                "column": 16
                              },
                              "end": {
                                "line": 376,
                                "column": 26
                              }
                            },
                            "value": "distance",
                            "rawValue": "distance",
                            "raw": "'distance'"
                          },
                          {
                            "type": "Literal",
                            "start": 14016,
                            "end": 14037,
                            "loc": {
                              "start": {
                                "line": 377,
                                "column": 16
                              },
                              "end": {
                                "line": 377,
                                "column": 37
                              }
                            },
                            "value": "horizontal_distance",
                            "rawValue": "horizontal_distance",
                            "raw": "'horizontal_distance'"
                          },
                          {
                            "type": "Literal",
                            "start": 14055,
                            "end": 14074,
                            "loc": {
                              "start": {
                                "line": 378,
                                "column": 16
                              },
                              "end": {
                                "line": 378,
                                "column": 35
                              }
                            },
                            "value": "vertical_distance",
                            "rawValue": "vertical_distance",
                            "raw": "'vertical_distance'"
                          },
                          {
                            "type": "Literal",
                            "start": 14092,
                            "end": 14100,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 16
                              },
                              "end": {
                                "line": 379,
                                "column": 24
                              }
                            },
                            "value": "radius",
                            "rawValue": "radius",
                            "raw": "'radius'"
                          },
                          {
                            "type": "Literal",
                            "start": 14118,
                            "end": 14125,
                            "loc": {
                              "start": {
                                "line": 380,
                                "column": 16
                              },
                              "end": {
                                "line": 380,
                                "column": 23
                              }
                            },
                            "value": "angle",
                            "rawValue": "angle",
                            "raw": "'angle'"
                          },
                          {
                            "type": "Literal",
                            "start": 14143,
                            "end": 14152,
                            "loc": {
                              "start": {
                                "line": 381,
                                "column": 16
                              },
                              "end": {
                                "line": 381,
                                "column": 25
                              }
                            },
                            "value": "angleox",
                            "rawValue": "angleox",
                            "raw": "'angleox'"
                          }
                        ]
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 14165,
                        "end": 14424,
                        "loc": {
                          "start": {
                            "line": 382,
                            "column": 11
                          },
                          "end": {
                            "line": 390,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 14179,
                            "end": 14414,
                            "loc": {
                              "start": {
                                "line": 383,
                                "column": 12
                              },
                              "end": {
                                "line": 389,
                                "column": 15
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14179,
                              "end": 14413,
                              "loc": {
                                "start": {
                                  "line": 383,
                                  "column": 12
                                },
                                "end": {
                                  "line": 389,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 14179,
                                "end": 14191,
                                "loc": {
                                  "start": {
                                    "line": 383,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 383,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 14179,
                                  "end": 14186,
                                  "loc": {
                                    "start": {
                                      "line": 383,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 383,
                                      "column": 19
                                    }
                                  },
                                  "name": "buttons"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14187,
                                  "end": 14191,
                                  "loc": {
                                    "start": {
                                      "line": 383,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 383,
                                      "column": 24
                                    }
                                  },
                                  "name": "push"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 14192,
                                  "end": 14412,
                                  "loc": {
                                    "start": {
                                      "line": 383,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 389,
                                      "column": 13
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 14210,
                                      "end": 14236,
                                      "loc": {
                                        "start": {
                                          "line": 384,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 384,
                                          "column": 42
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14210,
                                        "end": 14212,
                                        "loc": {
                                          "start": {
                                            "line": 384,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 384,
                                            "column": 18
                                          }
                                        },
                                        "name": "id"
                                      },
                                      "value": {
                                        "type": "BinaryExpression",
                                        "start": 14214,
                                        "end": 14236,
                                        "loc": {
                                          "start": {
                                            "line": 384,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 384,
                                            "column": 42
                                          }
                                        },
                                        "left": {
                                          "type": "Literal",
                                          "start": 14214,
                                          "end": 14227,
                                          "loc": {
                                            "start": {
                                              "line": 384,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 384,
                                              "column": 33
                                            }
                                          },
                                          "value": "chooseTool ",
                                          "rawValue": "chooseTool ",
                                          "raw": "'chooseTool '"
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 14230,
                                          "end": 14236,
                                          "loc": {
                                            "start": {
                                              "line": 384,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 384,
                                              "column": 42
                                            }
                                          },
                                          "name": "constr"
                                        }
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14254,
                                      "end": 14272,
                                      "loc": {
                                        "start": {
                                          "line": 385,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 385,
                                          "column": 34
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14254,
                                        "end": 14258,
                                        "loc": {
                                          "start": {
                                            "line": 385,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 385,
                                            "column": 20
                                          }
                                        },
                                        "name": "show"
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "start": 14260,
                                        "end": 14272,
                                        "loc": {
                                          "start": {
                                            "line": 385,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 385,
                                            "column": 34
                                          }
                                        },
                                        "name": "isSketchMode"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14290,
                                      "end": 14320,
                                      "loc": {
                                        "start": {
                                          "line": 386,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 386,
                                          "column": 46
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14290,
                                        "end": 14294,
                                        "loc": {
                                          "start": {
                                            "line": 386,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 386,
                                            "column": 20
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "value": {
                                        "type": "CallExpression",
                                        "start": 14296,
                                        "end": 14320,
                                        "loc": {
                                          "start": {
                                            "line": 386,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 386,
                                            "column": 46
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 14296,
                                          "end": 14310,
                                          "loc": {
                                            "start": {
                                              "line": 386,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 386,
                                              "column": 36
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 14296,
                                            "end": 14302,
                                            "loc": {
                                              "start": {
                                                "line": 386,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 386,
                                                "column": 28
                                              }
                                            },
                                            "name": "constr"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 14303,
                                            "end": 14310,
                                            "loc": {
                                              "start": {
                                                "line": 386,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 386,
                                                "column": 36
                                              }
                                            },
                                            "name": "replace"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Literal",
                                            "start": 14311,
                                            "end": 14314,
                                            "loc": {
                                              "start": {
                                                "line": 386,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 386,
                                                "column": 40
                                              }
                                            },
                                            "value": "_",
                                            "rawValue": "_",
                                            "raw": "'_'"
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 14316,
                                            "end": 14319,
                                            "loc": {
                                              "start": {
                                                "line": 386,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 386,
                                                "column": 45
                                              }
                                            },
                                            "value": " ",
                                            "rawValue": " ",
                                            "raw": "' '"
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14338,
                                      "end": 14358,
                                      "loc": {
                                        "start": {
                                          "line": 387,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 387,
                                          "column": 36
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14338,
                                        "end": 14343,
                                        "loc": {
                                          "start": {
                                            "line": 387,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 387,
                                            "column": 21
                                          }
                                        },
                                        "name": "group"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 14345,
                                        "end": 14358,
                                        "loc": {
                                          "start": {
                                            "line": 387,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 387,
                                            "column": 36
                                          }
                                        },
                                        "value": "constraints",
                                        "rawValue": "constraints",
                                        "raw": "'constraints'"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14376,
                                      "end": 14397,
                                      "loc": {
                                        "start": {
                                          "line": 388,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 388,
                                          "column": 37
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14376,
                                        "end": 14381,
                                        "loc": {
                                          "start": {
                                            "line": 388,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 388,
                                            "column": 21
                                          }
                                        },
                                        "name": "order"
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "start": 14383,
                                        "end": 14397,
                                        "loc": {
                                          "start": {
                                            "line": 388,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 388,
                                            "column": 37
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 14383,
                                          "end": 14390,
                                          "loc": {
                                            "start": {
                                              "line": 388,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 388,
                                              "column": 30
                                            }
                                          },
                                          "name": "buttons"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14391,
                                          "end": 14397,
                                          "loc": {
                                            "start": {
                                              "line": 388,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 388,
                                              "column": 37
                                            }
                                          },
                                          "name": "length"
                                        },
                                        "computed": false
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14433,
                      "end": 14468,
                      "loc": {
                        "start": {
                          "line": 391,
                          "column": 8
                        },
                        "end": {
                          "line": 391,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14433,
                        "end": 14467,
                        "loc": {
                          "start": {
                            "line": 391,
                            "column": 8
                          },
                          "end": {
                            "line": 391,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14433,
                          "end": 14458,
                          "loc": {
                            "start": {
                              "line": 391,
                              "column": 8
                            },
                            "end": {
                              "line": 391,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14433,
                            "end": 14437,
                            "loc": {
                              "start": {
                                "line": 391,
                                "column": 8
                              },
                              "end": {
                                "line": 391,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14438,
                            "end": 14458,
                            "loc": {
                              "start": {
                                "line": 391,
                                "column": 13
                              },
                              "end": {
                                "line": 391,
                                "column": 33
                              }
                            },
                            "name": "requestButtonChanges"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 14459,
                            "end": 14466,
                            "loc": {
                              "start": {
                                "line": 391,
                                "column": 34
                              },
                              "end": {
                                "line": 391,
                                "column": 41
                              }
                            },
                            "name": "buttons"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 14480,
              "end": 15597,
              "loc": {
                "start": {
                  "line": 394,
                  "column": 4
                },
                "end": {
                  "line": 428,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 14486,
                "end": 14498,
                "loc": {
                  "start": {
                    "line": 394,
                    "column": 10
                  },
                  "end": {
                    "line": 394,
                    "column": 22
                  }
                },
                "name": "selectSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 14498,
                "end": 15597,
                "loc": {
                  "start": {
                    "line": 394,
                    "column": 22
                  },
                  "end": {
                    "line": 428,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 14499,
                    "end": 14505,
                    "loc": {
                      "start": {
                        "line": 394,
                        "column": 23
                      },
                      "end": {
                        "line": 394,
                        "column": 29
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 14507,
                  "end": 15597,
                  "loc": {
                    "start": {
                      "line": 394,
                      "column": 31
                    },
                    "end": {
                      "line": 428,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 14517,
                      "end": 14576,
                      "loc": {
                        "start": {
                          "line": 395,
                          "column": 8
                        },
                        "end": {
                          "line": 396,
                          "column": 24
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 14521,
                        "end": 14550,
                        "loc": {
                          "start": {
                            "line": 395,
                            "column": 12
                          },
                          "end": {
                            "line": 395,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 14521,
                          "end": 14539,
                          "loc": {
                            "start": {
                              "line": 395,
                              "column": 12
                            },
                            "end": {
                              "line": 395,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14521,
                            "end": 14525,
                            "loc": {
                              "start": {
                                "line": 395,
                                "column": 12
                              },
                              "end": {
                                "line": 395,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14526,
                            "end": 14539,
                            "loc": {
                              "start": {
                                "line": 395,
                                "column": 17
                              },
                              "end": {
                                "line": 395,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 14544,
                          "end": 14550,
                          "loc": {
                            "start": {
                              "line": 395,
                              "column": 35
                            },
                            "end": {
                              "line": 395,
                              "column": 41
                            }
                          },
                          "name": "sketch"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 14564,
                        "end": 14576,
                        "loc": {
                          "start": {
                            "line": 396,
                            "column": 12
                          },
                          "end": {
                            "line": 396,
                            "column": 24
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 14571,
                          "end": 14575,
                          "loc": {
                            "start": {
                              "line": 396,
                              "column": 19
                            },
                            "end": {
                              "line": 396,
                              "column": 23
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 14585,
                      "end": 14644,
                      "loc": {
                        "start": {
                          "line": 397,
                          "column": 8
                        },
                        "end": {
                          "line": 398,
                          "column": 25
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 14589,
                        "end": 14617,
                        "loc": {
                          "start": {
                            "line": 397,
                            "column": 12
                          },
                          "end": {
                            "line": 397,
                            "column": 40
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "AwaitExpression",
                          "start": 14590,
                          "end": 14617,
                          "loc": {
                            "start": {
                              "line": 397,
                              "column": 13
                            },
                            "end": {
                              "line": 397,
                              "column": 40
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 14596,
                            "end": 14617,
                            "loc": {
                              "start": {
                                "line": 397,
                                "column": 19
                              },
                              "end": {
                                "line": 397,
                                "column": 40
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 14596,
                              "end": 14615,
                              "loc": {
                                "start": {
                                  "line": 397,
                                  "column": 19
                                },
                                "end": {
                                  "line": 397,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 14596,
                                "end": 14600,
                                "loc": {
                                  "start": {
                                    "line": 397,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 397,
                                    "column": 23
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14601,
                                "end": 14615,
                                "loc": {
                                  "start": {
                                    "line": 397,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 397,
                                    "column": 38
                                  }
                                },
                                "name": "deselectSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 14631,
                        "end": 14644,
                        "loc": {
                          "start": {
                            "line": 398,
                            "column": 12
                          },
                          "end": {
                            "line": 398,
                            "column": 25
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 14638,
                          "end": 14643,
                          "loc": {
                            "start": {
                              "line": 398,
                              "column": 19
                            },
                            "end": {
                              "line": 398,
                              "column": 24
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "cannot deselect other sketch",
                          "start": 14647,
                          "end": 14677,
                          "loc": {
                            "start": {
                              "line": 398,
                              "column": 28
                            },
                            "end": {
                              "line": 398,
                              "column": 58
                            }
                          },
                          "range": [
                            14647,
                            14677
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14688,
                      "end": 14716,
                      "loc": {
                        "start": {
                          "line": 401,
                          "column": 8
                        },
                        "end": {
                          "line": 401,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14688,
                        "end": 14715,
                        "loc": {
                          "start": {
                            "line": 401,
                            "column": 8
                          },
                          "end": {
                            "line": 401,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14688,
                          "end": 14706,
                          "loc": {
                            "start": {
                              "line": 401,
                              "column": 8
                            },
                            "end": {
                              "line": 401,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14688,
                            "end": 14692,
                            "loc": {
                              "start": {
                                "line": 401,
                                "column": 8
                              },
                              "end": {
                                "line": 401,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14693,
                            "end": 14706,
                            "loc": {
                              "start": {
                                "line": 401,
                                "column": 13
                              },
                              "end": {
                                "line": 401,
                                "column": 26
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 14709,
                          "end": 14715,
                          "loc": {
                            "start": {
                              "line": 401,
                              "column": 29
                            },
                            "end": {
                              "line": 401,
                              "column": 35
                            }
                          },
                          "name": "sketch"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "cannot deselect other sketch",
                          "start": 14647,
                          "end": 14677,
                          "loc": {
                            "start": {
                              "line": 398,
                              "column": 28
                            },
                            "end": {
                              "line": 398,
                              "column": 58
                            }
                          },
                          "range": [
                            14647,
                            14677
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14725,
                      "end": 14764,
                      "loc": {
                        "start": {
                          "line": 402,
                          "column": 8
                        },
                        "end": {
                          "line": 402,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14725,
                        "end": 14763,
                        "loc": {
                          "start": {
                            "line": 402,
                            "column": 8
                          },
                          "end": {
                            "line": 402,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14725,
                          "end": 14756,
                          "loc": {
                            "start": {
                              "line": 402,
                              "column": 8
                            },
                            "end": {
                              "line": 402,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14725,
                            "end": 14739,
                            "loc": {
                              "start": {
                                "line": 402,
                                "column": 8
                              },
                              "end": {
                                "line": 402,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14725,
                              "end": 14729,
                              "loc": {
                                "start": {
                                  "line": 402,
                                  "column": 8
                                },
                                "end": {
                                  "line": 402,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14730,
                              "end": 14739,
                              "loc": {
                                "start": {
                                  "line": 402,
                                  "column": 13
                                },
                                "end": {
                                  "line": 402,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14740,
                            "end": 14756,
                            "loc": {
                              "start": {
                                "line": 402,
                                "column": 23
                              },
                              "end": {
                                "line": 402,
                                "column": 39
                              }
                            },
                            "name": "isSketchSelected"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 14759,
                          "end": 14763,
                          "loc": {
                            "start": {
                              "line": 402,
                              "column": 42
                            },
                            "end": {
                              "line": 402,
                              "column": 46
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14773,
                      "end": 14853,
                      "loc": {
                        "start": {
                          "line": 403,
                          "column": 8
                        },
                        "end": {
                          "line": 403,
                          "column": 88
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14773,
                        "end": 14852,
                        "loc": {
                          "start": {
                            "line": 403,
                            "column": 8
                          },
                          "end": {
                            "line": 403,
                            "column": 87
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14773,
                          "end": 14801,
                          "loc": {
                            "start": {
                              "line": 403,
                              "column": 8
                            },
                            "end": {
                              "line": 403,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14773,
                            "end": 14787,
                            "loc": {
                              "start": {
                                "line": 403,
                                "column": 8
                              },
                              "end": {
                                "line": 403,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14773,
                              "end": 14777,
                              "loc": {
                                "start": {
                                  "line": 403,
                                  "column": 8
                                },
                                "end": {
                                  "line": 403,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14778,
                              "end": 14787,
                              "loc": {
                                "start": {
                                  "line": 403,
                                  "column": 13
                                },
                                "end": {
                                  "line": 403,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14788,
                            "end": 14801,
                            "loc": {
                              "start": {
                                "line": 403,
                                "column": 23
                              },
                              "end": {
                                "line": 403,
                                "column": 36
                              }
                            },
                            "name": "expressionSet"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 14804,
                          "end": 14852,
                          "loc": {
                            "start": {
                              "line": 403,
                              "column": 39
                            },
                            "end": {
                              "line": 403,
                              "column": 87
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14804,
                            "end": 14842,
                            "loc": {
                              "start": {
                                "line": 403,
                                "column": 39
                              },
                              "end": {
                                "line": 403,
                                "column": 77
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 14804,
                              "end": 14828,
                              "loc": {
                                "start": {
                                  "line": 403,
                                  "column": 39
                                },
                                "end": {
                                  "line": 403,
                                  "column": 63
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 14804,
                                "end": 14820,
                                "loc": {
                                  "start": {
                                    "line": 403,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 403,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 14804,
                                  "end": 14818,
                                  "loc": {
                                    "start": {
                                      "line": 403,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 403,
                                      "column": 53
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 14804,
                                    "end": 14810,
                                    "loc": {
                                      "start": {
                                        "line": 403,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 403,
                                        "column": 45
                                      }
                                    },
                                    "name": "sketch"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14811,
                                    "end": 14818,
                                    "loc": {
                                      "start": {
                                        "line": 403,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 403,
                                        "column": 53
                                      }
                                    },
                                    "name": "getPart"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14821,
                                "end": 14828,
                                "loc": {
                                  "start": {
                                    "line": 403,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 403,
                                    "column": 63
                                  }
                                },
                                "name": "members"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14829,
                              "end": 14842,
                              "loc": {
                                "start": {
                                  "line": 403,
                                  "column": 64
                                },
                                "end": {
                                  "line": 403,
                                  "column": 77
                                }
                              },
                              "name": "ExpressionSet"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14843,
                            "end": 14852,
                            "loc": {
                              "start": {
                                "line": 403,
                                "column": 78
                              },
                              "end": {
                                "line": 403,
                                "column": 87
                              }
                            },
                            "name": "modelData"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14862,
                      "end": 14879,
                      "loc": {
                        "start": {
                          "line": 404,
                          "column": 8
                        },
                        "end": {
                          "line": 404,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14862,
                        "end": 14878,
                        "loc": {
                          "start": {
                            "line": 404,
                            "column": 8
                          },
                          "end": {
                            "line": 404,
                            "column": 24
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14862,
                          "end": 14876,
                          "loc": {
                            "start": {
                              "line": 404,
                              "column": 8
                            },
                            "end": {
                              "line": 404,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14862,
                            "end": 14868,
                            "loc": {
                              "start": {
                                "line": 404,
                                "column": 8
                              },
                              "end": {
                                "line": 404,
                                "column": 14
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14869,
                            "end": 14876,
                            "loc": {
                              "start": {
                                "line": 404,
                                "column": 15
                              },
                              "end": {
                                "line": 404,
                                "column": 22
                              }
                            },
                            "name": "showBox"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14888,
                      "end": 14909,
                      "loc": {
                        "start": {
                          "line": 405,
                          "column": 8
                        },
                        "end": {
                          "line": 405,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14888,
                        "end": 14908,
                        "loc": {
                          "start": {
                            "line": 405,
                            "column": 8
                          },
                          "end": {
                            "line": 405,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14888,
                          "end": 14906,
                          "loc": {
                            "start": {
                              "line": 405,
                              "column": 8
                            },
                            "end": {
                              "line": 405,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14888,
                            "end": 14894,
                            "loc": {
                              "start": {
                                "line": 405,
                                "column": 8
                              },
                              "end": {
                                "line": 405,
                                "column": 14
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14895,
                            "end": 14906,
                            "loc": {
                              "start": {
                                "line": 405,
                                "column": 15
                              },
                              "end": {
                                "line": 405,
                                "column": 26
                              }
                            },
                            "name": "infiniteBox"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14919,
                      "end": 14978,
                      "loc": {
                        "start": {
                          "line": 407,
                          "column": 8
                        },
                        "end": {
                          "line": 407,
                          "column": 67
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14919,
                        "end": 14977,
                        "loc": {
                          "start": {
                            "line": 407,
                            "column": 8
                          },
                          "end": {
                            "line": 407,
                            "column": 66
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14919,
                          "end": 14950,
                          "loc": {
                            "start": {
                              "line": 407,
                              "column": 8
                            },
                            "end": {
                              "line": 407,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14919,
                            "end": 14923,
                            "loc": {
                              "start": {
                                "line": 407,
                                "column": 8
                              },
                              "end": {
                                "line": 407,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14924,
                            "end": 14950,
                            "loc": {
                              "start": {
                                "line": 407,
                                "column": 13
                              },
                              "end": {
                                "line": 407,
                                "column": 39
                              }
                            },
                            "name": "switchToOrthographicCamera"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 14951,
                            "end": 14968,
                            "loc": {
                              "start": {
                                "line": 407,
                                "column": 40
                              },
                              "end": {
                                "line": 407,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14951,
                              "end": 14955,
                              "loc": {
                                "start": {
                                  "line": 407,
                                  "column": 40
                                },
                                "end": {
                                  "line": 407,
                                  "column": 44
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14956,
                              "end": 14968,
                              "loc": {
                                "start": {
                                  "line": 407,
                                  "column": 45
                                },
                                "end": {
                                  "line": 407,
                                  "column": 57
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          },
                          {
                            "type": "Identifier",
                            "start": 14970,
                            "end": 14976,
                            "loc": {
                              "start": {
                                "line": 407,
                                "column": 59
                              },
                              "end": {
                                "line": 407,
                                "column": 65
                              }
                            },
                            "name": "sketch"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14987,
                      "end": 15022,
                      "loc": {
                        "start": {
                          "line": 408,
                          "column": 8
                        },
                        "end": {
                          "line": 408,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14987,
                        "end": 15021,
                        "loc": {
                          "start": {
                            "line": 408,
                            "column": 8
                          },
                          "end": {
                            "line": 408,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14987,
                          "end": 15015,
                          "loc": {
                            "start": {
                              "line": 408,
                              "column": 8
                            },
                            "end": {
                              "line": 408,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14987,
                            "end": 14991,
                            "loc": {
                              "start": {
                                "line": 408,
                                "column": 8
                              },
                              "end": {
                                "line": 408,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14992,
                            "end": 15015,
                            "loc": {
                              "start": {
                                "line": 408,
                                "column": 13
                              },
                              "end": {
                                "line": 408,
                                "column": 36
                              }
                            },
                            "name": "requestAllButtonChanges"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 15016,
                            "end": 15020,
                            "loc": {
                              "start": {
                                "line": 408,
                                "column": 37
                              },
                              "end": {
                                "line": 408,
                                "column": 41
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "make sure that dimensions are present",
                          "start": 15032,
                          "end": 15071,
                          "loc": {
                            "start": {
                              "line": 410,
                              "column": 8
                            },
                            "end": {
                              "line": 410,
                              "column": 47
                            }
                          },
                          "range": [
                            15032,
                            15071
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15080,
                      "end": 15123,
                      "loc": {
                        "start": {
                          "line": 411,
                          "column": 8
                        },
                        "end": {
                          "line": 411,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 15080,
                        "end": 15122,
                        "loc": {
                          "start": {
                            "line": 411,
                            "column": 8
                          },
                          "end": {
                            "line": 411,
                            "column": 50
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 15086,
                          "end": 15122,
                          "loc": {
                            "start": {
                              "line": 411,
                              "column": 14
                            },
                            "end": {
                              "line": 411,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 15086,
                            "end": 15109,
                            "loc": {
                              "start": {
                                "line": 411,
                                "column": 14
                              },
                              "end": {
                                "line": 411,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15086,
                              "end": 15092,
                              "loc": {
                                "start": {
                                  "line": 411,
                                  "column": 14
                                },
                                "end": {
                                  "line": 411,
                                  "column": 20
                                }
                              },
                              "name": "sketch"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15093,
                              "end": 15109,
                              "loc": {
                                "start": {
                                  "line": 411,
                                  "column": 21
                                },
                                "end": {
                                  "line": 411,
                                  "column": 37
                                }
                              },
                              "name": "updateFromServer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 15110,
                              "end": 15121,
                              "loc": {
                                "start": {
                                  "line": 411,
                                  "column": 38
                                },
                                "end": {
                                  "line": 411,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 15110,
                                "end": 15114,
                                "loc": {
                                  "start": {
                                    "line": 411,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 411,
                                    "column": 42
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15115,
                                "end": 15121,
                                "loc": {
                                  "start": {
                                    "line": 411,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 411,
                                    "column": 49
                                  }
                                },
                                "name": "server"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "make sure that dimensions are present",
                          "start": 15032,
                          "end": 15071,
                          "loc": {
                            "start": {
                              "line": 410,
                              "column": 8
                            },
                            "end": {
                              "line": 410,
                              "column": 47
                            }
                          },
                          "range": [
                            15032,
                            15071
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15133,
                      "end": 15164,
                      "loc": {
                        "start": {
                          "line": 413,
                          "column": 8
                        },
                        "end": {
                          "line": 413,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 15133,
                        "end": 15163,
                        "loc": {
                          "start": {
                            "line": 413,
                            "column": 8
                          },
                          "end": {
                            "line": 413,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 15139,
                          "end": 15163,
                          "loc": {
                            "start": {
                              "line": 413,
                              "column": 14
                            },
                            "end": {
                              "line": 413,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 15139,
                            "end": 15154,
                            "loc": {
                              "start": {
                                "line": 413,
                                "column": 14
                              },
                              "end": {
                                "line": 413,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15139,
                              "end": 15143,
                              "loc": {
                                "start": {
                                  "line": 413,
                                  "column": 14
                                },
                                "end": {
                                  "line": 413,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15144,
                              "end": 15154,
                              "loc": {
                                "start": {
                                  "line": 413,
                                  "column": 19
                                },
                                "end": {
                                  "line": 413,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 15155,
                              "end": 15162,
                              "loc": {
                                "start": {
                                  "line": 413,
                                  "column": 30
                                },
                                "end": {
                                  "line": 413,
                                  "column": 37
                                }
                              },
                              "value": "empty",
                              "rawValue": "empty",
                              "raw": "'empty'"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15174,
                      "end": 15189,
                      "loc": {
                        "start": {
                          "line": 415,
                          "column": 8
                        },
                        "end": {
                          "line": 415,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15174,
                        "end": 15188,
                        "loc": {
                          "start": {
                            "line": 415,
                            "column": 8
                          },
                          "end": {
                            "line": 415,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15174,
                          "end": 15186,
                          "loc": {
                            "start": {
                              "line": 415,
                              "column": 8
                            },
                            "end": {
                              "line": 415,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 15174,
                            "end": 15178,
                            "loc": {
                              "start": {
                                "line": 415,
                                "column": 8
                              },
                              "end": {
                                "line": 415,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15179,
                            "end": 15186,
                            "loc": {
                              "start": {
                                "line": 415,
                                "column": 13
                              },
                              "end": {
                                "line": 415,
                                "column": 20
                              }
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15199,
                      "end": 15229,
                      "loc": {
                        "start": {
                          "line": 417,
                          "column": 8
                        },
                        "end": {
                          "line": 417,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15199,
                        "end": 15228,
                        "loc": {
                          "start": {
                            "line": 417,
                            "column": 8
                          },
                          "end": {
                            "line": 417,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15199,
                          "end": 15226,
                          "loc": {
                            "start": {
                              "line": 417,
                              "column": 8
                            },
                            "end": {
                              "line": 417,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15199,
                            "end": 15217,
                            "loc": {
                              "start": {
                                "line": 417,
                                "column": 8
                              },
                              "end": {
                                "line": 417,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15199,
                              "end": 15203,
                              "loc": {
                                "start": {
                                  "line": 417,
                                  "column": 8
                                },
                                "end": {
                                  "line": 417,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15204,
                              "end": 15217,
                              "loc": {
                                "start": {
                                  "line": 417,
                                  "column": 13
                                },
                                "end": {
                                  "line": 417,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15218,
                            "end": 15226,
                            "loc": {
                              "start": {
                                "line": 417,
                                "column": 27
                              },
                              "end": {
                                "line": 417,
                                "column": 35
                              }
                            },
                            "name": "showGrid"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15238,
                      "end": 15274,
                      "loc": {
                        "start": {
                          "line": 418,
                          "column": 8
                        },
                        "end": {
                          "line": 418,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15238,
                        "end": 15273,
                        "loc": {
                          "start": {
                            "line": 418,
                            "column": 8
                          },
                          "end": {
                            "line": 418,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15238,
                          "end": 15271,
                          "loc": {
                            "start": {
                              "line": 418,
                              "column": 8
                            },
                            "end": {
                              "line": 418,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15238,
                            "end": 15256,
                            "loc": {
                              "start": {
                                "line": 418,
                                "column": 8
                              },
                              "end": {
                                "line": 418,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15238,
                              "end": 15242,
                              "loc": {
                                "start": {
                                  "line": 418,
                                  "column": 8
                                },
                                "end": {
                                  "line": 418,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15243,
                              "end": 15256,
                              "loc": {
                                "start": {
                                  "line": 418,
                                  "column": 13
                                },
                                "end": {
                                  "line": 418,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15257,
                            "end": 15271,
                            "loc": {
                              "start": {
                                "line": 418,
                                "column": 27
                              },
                              "end": {
                                "line": 418,
                                "column": 41
                              }
                            },
                            "name": "showDimensions"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 15284,
                      "end": 15317,
                      "loc": {
                        "start": {
                          "line": 420,
                          "column": 8
                        },
                        "end": {
                          "line": 420,
                          "column": 41
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 15288,
                          "end": 15316,
                          "loc": {
                            "start": {
                              "line": 420,
                              "column": 12
                            },
                            "end": {
                              "line": 420,
                              "column": 40
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 15288,
                            "end": 15292,
                            "loc": {
                              "start": {
                                "line": 420,
                                "column": 12
                              },
                              "end": {
                                "line": 420,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 15295,
                            "end": 15316,
                            "loc": {
                              "start": {
                                "line": 420,
                                "column": 19
                              },
                              "end": {
                                "line": 420,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 15295,
                              "end": 15311,
                              "loc": {
                                "start": {
                                  "line": 420,
                                  "column": 19
                                },
                                "end": {
                                  "line": 420,
                                  "column": 35
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15295,
                                "end": 15309,
                                "loc": {
                                  "start": {
                                    "line": 420,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 420,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 15295,
                                  "end": 15301,
                                  "loc": {
                                    "start": {
                                      "line": 420,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 420,
                                      "column": 25
                                    }
                                  },
                                  "name": "sketch"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15302,
                                  "end": 15309,
                                  "loc": {
                                    "start": {
                                      "line": 420,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 420,
                                      "column": 33
                                    }
                                  },
                                  "name": "getPart"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15312,
                              "end": 15316,
                              "loc": {
                                "start": {
                                  "line": 420,
                                  "column": 36
                                },
                                "end": {
                                  "line": 420,
                                  "column": 40
                                }
                              },
                              "name": "item"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 15326,
                      "end": 15570,
                      "loc": {
                        "start": {
                          "line": 421,
                          "column": 8
                        },
                        "end": {
                          "line": 426,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 15330,
                        "end": 15374,
                        "loc": {
                          "start": {
                            "line": 421,
                            "column": 12
                          },
                          "end": {
                            "line": 421,
                            "column": 56
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 15330,
                          "end": 15352,
                          "loc": {
                            "start": {
                              "line": 421,
                              "column": 12
                            },
                            "end": {
                              "line": 421,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 15330,
                            "end": 15334,
                            "loc": {
                              "start": {
                                "line": 421,
                                "column": 12
                              },
                              "end": {
                                "line": 421,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "MemberExpression",
                            "start": 15338,
                            "end": 15352,
                            "loc": {
                              "start": {
                                "line": 421,
                                "column": 20
                              },
                              "end": {
                                "line": 421,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15338,
                              "end": 15342,
                              "loc": {
                                "start": {
                                  "line": 421,
                                  "column": 20
                                },
                                "end": {
                                  "line": 421,
                                  "column": 24
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15343,
                              "end": 15352,
                              "loc": {
                                "start": {
                                  "line": 421,
                                  "column": 25
                                },
                                "end": {
                                  "line": 421,
                                  "column": 34
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 15356,
                          "end": 15374,
                          "loc": {
                            "start": {
                              "line": 421,
                              "column": 38
                            },
                            "end": {
                              "line": 421,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15356,
                            "end": 15370,
                            "loc": {
                              "start": {
                                "line": 421,
                                "column": 38
                              },
                              "end": {
                                "line": 421,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15356,
                              "end": 15360,
                              "loc": {
                                "start": {
                                  "line": 421,
                                  "column": 38
                                },
                                "end": {
                                  "line": 421,
                                  "column": 42
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15361,
                              "end": 15370,
                              "loc": {
                                "start": {
                                  "line": 421,
                                  "column": 43
                                },
                                "end": {
                                  "line": 421,
                                  "column": 52
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15371,
                            "end": 15374,
                            "loc": {
                              "start": {
                                "line": 421,
                                "column": 53
                              },
                              "end": {
                                "line": 421,
                                "column": 56
                              }
                            },
                            "name": "all"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 15376,
                        "end": 15570,
                        "loc": {
                          "start": {
                            "line": 421,
                            "column": 58
                          },
                          "end": {
                            "line": 426,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 15390,
                            "end": 15560,
                            "loc": {
                              "start": {
                                "line": 422,
                                "column": 12
                              },
                              "end": {
                                "line": 425,
                                "column": 15
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 15390,
                              "end": 15559,
                              "loc": {
                                "start": {
                                  "line": 422,
                                  "column": 12
                                },
                                "end": {
                                  "line": 425,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15390,
                                "end": 15416,
                                "loc": {
                                  "start": {
                                    "line": 422,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 422,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15390,
                                  "end": 15408,
                                  "loc": {
                                    "start": {
                                      "line": 422,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 422,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15390,
                                    "end": 15404,
                                    "loc": {
                                      "start": {
                                        "line": 422,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 422,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 15390,
                                      "end": 15394,
                                      "loc": {
                                        "start": {
                                          "line": 422,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 422,
                                          "column": 16
                                        }
                                      },
                                      "name": "item"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15395,
                                      "end": 15404,
                                      "loc": {
                                        "start": {
                                          "line": 422,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 422,
                                          "column": 26
                                        }
                                      },
                                      "name": "materials"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15405,
                                    "end": 15408,
                                    "loc": {
                                      "start": {
                                        "line": 422,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 422,
                                        "column": 30
                                      }
                                    },
                                    "name": "all"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15409,
                                  "end": 15416,
                                  "loc": {
                                    "start": {
                                      "line": 422,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 422,
                                      "column": 38
                                    }
                                  },
                                  "name": "forEach"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "FunctionExpression",
                                  "start": 15417,
                                  "end": 15558,
                                  "loc": {
                                    "start": {
                                      "line": 422,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 425,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 15427,
                                      "end": 15435,
                                      "loc": {
                                        "start": {
                                          "line": 422,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 422,
                                          "column": 57
                                        }
                                      },
                                      "name": "material"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 15437,
                                    "end": 15558,
                                    "loc": {
                                      "start": {
                                        "line": 422,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 425,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 15455,
                                        "end": 15483,
                                        "loc": {
                                          "start": {
                                            "line": 423,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 423,
                                            "column": 44
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 15455,
                                          "end": 15482,
                                          "loc": {
                                            "start": {
                                              "line": 423,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 423,
                                              "column": 43
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 15455,
                                            "end": 15475,
                                            "loc": {
                                              "start": {
                                                "line": 423,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 423,
                                                "column": 36
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15455,
                                              "end": 15463,
                                              "loc": {
                                                "start": {
                                                  "line": 423,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 423,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15464,
                                              "end": 15475,
                                              "loc": {
                                                "start": {
                                                  "line": 423,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 423,
                                                  "column": 36
                                                }
                                              },
                                              "name": "transparent"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 15478,
                                            "end": 15482,
                                            "loc": {
                                              "start": {
                                                "line": 423,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 423,
                                                "column": 43
                                              }
                                            },
                                            "value": true,
                                            "rawValue": true,
                                            "raw": "true"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 15500,
                                        "end": 15544,
                                        "loc": {
                                          "start": {
                                            "line": 424,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 424,
                                            "column": 60
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 15500,
                                          "end": 15543,
                                          "loc": {
                                            "start": {
                                              "line": 424,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 424,
                                              "column": 59
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 15500,
                                            "end": 15516,
                                            "loc": {
                                              "start": {
                                                "line": 424,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 424,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15500,
                                              "end": 15508,
                                              "loc": {
                                                "start": {
                                                  "line": 424,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 424,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15509,
                                              "end": 15516,
                                              "loc": {
                                                "start": {
                                                  "line": 424,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 424,
                                                  "column": 32
                                                }
                                              },
                                              "name": "opacity"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 15519,
                                            "end": 15543,
                                            "loc": {
                                              "start": {
                                                "line": 424,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 424,
                                                "column": 59
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15519,
                                              "end": 15525,
                                              "loc": {
                                                "start": {
                                                  "line": 424,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 424,
                                                  "column": 41
                                                }
                                              },
                                              "name": "sketch"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15526,
                                              "end": 15543,
                                              "loc": {
                                                "start": {
                                                  "line": 424,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 424,
                                                  "column": 59
                                                }
                                              },
                                              "name": "chosenItemOpacity"
                                            },
                                            "computed": false
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 15579,
                      "end": 15591,
                      "loc": {
                        "start": {
                          "line": 427,
                          "column": 8
                        },
                        "end": {
                          "line": 427,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "Literal",
                        "start": 15586,
                        "end": 15590,
                        "loc": {
                          "start": {
                            "line": 427,
                            "column": 15
                          },
                          "end": {
                            "line": 427,
                            "column": 19
                          }
                        },
                        "value": true,
                        "rawValue": true,
                        "raw": "true"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15603,
              "end": 16725,
              "loc": {
                "start": {
                  "line": 430,
                  "column": 4
                },
                "end": {
                  "line": 466,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15609,
                "end": 15623,
                "loc": {
                  "start": {
                    "line": 430,
                    "column": 10
                  },
                  "end": {
                    "line": 430,
                    "column": 24
                  }
                },
                "name": "deselectSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15623,
                "end": 16725,
                "loc": {
                  "start": {
                    "line": 430,
                    "column": 24
                  },
                  "end": {
                    "line": 466,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 15624,
                    "end": 15631,
                    "loc": {
                      "start": {
                        "line": 430,
                        "column": 25
                      },
                      "end": {
                        "line": 430,
                        "column": 32
                      }
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 15633,
                  "end": 16725,
                  "loc": {
                    "start": {
                      "line": 430,
                      "column": 34
                    },
                    "end": {
                      "line": 466,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 15643,
                      "end": 15700,
                      "loc": {
                        "start": {
                          "line": 431,
                          "column": 8
                        },
                        "end": {
                          "line": 432,
                          "column": 24
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 15647,
                        "end": 15674,
                        "loc": {
                          "start": {
                            "line": 431,
                            "column": 12
                          },
                          "end": {
                            "line": 431,
                            "column": 39
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 15647,
                          "end": 15665,
                          "loc": {
                            "start": {
                              "line": 431,
                              "column": 12
                            },
                            "end": {
                              "line": 431,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 15647,
                            "end": 15651,
                            "loc": {
                              "start": {
                                "line": 431,
                                "column": 12
                              },
                              "end": {
                                "line": 431,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15652,
                            "end": 15665,
                            "loc": {
                              "start": {
                                "line": 431,
                                "column": 17
                              },
                              "end": {
                                "line": 431,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 15670,
                          "end": 15674,
                          "loc": {
                            "start": {
                              "line": 431,
                              "column": 35
                            },
                            "end": {
                              "line": 431,
                              "column": 39
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 15688,
                        "end": 15700,
                        "loc": {
                          "start": {
                            "line": 432,
                            "column": 12
                          },
                          "end": {
                            "line": 432,
                            "column": 24
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 15695,
                          "end": 15699,
                          "loc": {
                            "start": {
                              "line": 432,
                              "column": 19
                            },
                            "end": {
                              "line": 432,
                              "column": 23
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 15710,
                      "end": 15755,
                      "loc": {
                        "start": {
                          "line": 434,
                          "column": 8
                        },
                        "end": {
                          "line": 434,
                          "column": 53
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 15714,
                          "end": 15754,
                          "loc": {
                            "start": {
                              "line": 434,
                              "column": 12
                            },
                            "end": {
                              "line": 434,
                              "column": 52
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 15714,
                            "end": 15718,
                            "loc": {
                              "start": {
                                "line": 434,
                                "column": 12
                              },
                              "end": {
                                "line": 434,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 15721,
                            "end": 15754,
                            "loc": {
                              "start": {
                                "line": 434,
                                "column": 19
                              },
                              "end": {
                                "line": 434,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 15721,
                              "end": 15749,
                              "loc": {
                                "start": {
                                  "line": 434,
                                  "column": 19
                                },
                                "end": {
                                  "line": 434,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15721,
                                "end": 15747,
                                "loc": {
                                  "start": {
                                    "line": 434,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 434,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15721,
                                  "end": 15739,
                                  "loc": {
                                    "start": {
                                      "line": 434,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 434,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 15721,
                                    "end": 15725,
                                    "loc": {
                                      "start": {
                                        "line": 434,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 434,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15726,
                                    "end": 15739,
                                    "loc": {
                                      "start": {
                                        "line": 434,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 434,
                                        "column": 37
                                      }
                                    },
                                    "name": "currentSketch"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15740,
                                  "end": 15747,
                                  "loc": {
                                    "start": {
                                      "line": 434,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 434,
                                      "column": 45
                                    }
                                  },
                                  "name": "getPart"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15750,
                              "end": 15754,
                              "loc": {
                                "start": {
                                  "line": 434,
                                  "column": 48
                                },
                                "end": {
                                  "line": 434,
                                  "column": 52
                                }
                              },
                              "name": "item"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 15764,
                      "end": 15986,
                      "loc": {
                        "start": {
                          "line": 435,
                          "column": 8
                        },
                        "end": {
                          "line": 440,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 15768,
                        "end": 15812,
                        "loc": {
                          "start": {
                            "line": 435,
                            "column": 12
                          },
                          "end": {
                            "line": 435,
                            "column": 56
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 15768,
                          "end": 15790,
                          "loc": {
                            "start": {
                              "line": 435,
                              "column": 12
                            },
                            "end": {
                              "line": 435,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 15768,
                            "end": 15772,
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 12
                              },
                              "end": {
                                "line": 435,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "MemberExpression",
                            "start": 15776,
                            "end": 15790,
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 20
                              },
                              "end": {
                                "line": 435,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15776,
                              "end": 15780,
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 20
                                },
                                "end": {
                                  "line": 435,
                                  "column": 24
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15781,
                              "end": 15790,
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 25
                                },
                                "end": {
                                  "line": 435,
                                  "column": 34
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 15794,
                          "end": 15812,
                          "loc": {
                            "start": {
                              "line": 435,
                              "column": 38
                            },
                            "end": {
                              "line": 435,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15794,
                            "end": 15808,
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 38
                              },
                              "end": {
                                "line": 435,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15794,
                              "end": 15798,
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 38
                                },
                                "end": {
                                  "line": 435,
                                  "column": 42
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15799,
                              "end": 15808,
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 43
                                },
                                "end": {
                                  "line": 435,
                                  "column": 52
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15809,
                            "end": 15812,
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 53
                              },
                              "end": {
                                "line": 435,
                                "column": 56
                              }
                            },
                            "name": "all"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 15814,
                        "end": 15986,
                        "loc": {
                          "start": {
                            "line": 435,
                            "column": 58
                          },
                          "end": {
                            "line": 440,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 15828,
                            "end": 15976,
                            "loc": {
                              "start": {
                                "line": 436,
                                "column": 12
                              },
                              "end": {
                                "line": 439,
                                "column": 15
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 15828,
                              "end": 15975,
                              "loc": {
                                "start": {
                                  "line": 436,
                                  "column": 12
                                },
                                "end": {
                                  "line": 439,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15828,
                                "end": 15854,
                                "loc": {
                                  "start": {
                                    "line": 436,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 436,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15828,
                                  "end": 15846,
                                  "loc": {
                                    "start": {
                                      "line": 436,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 436,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15828,
                                    "end": 15842,
                                    "loc": {
                                      "start": {
                                        "line": 436,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 436,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 15828,
                                      "end": 15832,
                                      "loc": {
                                        "start": {
                                          "line": 436,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 436,
                                          "column": 16
                                        }
                                      },
                                      "name": "item"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15833,
                                      "end": 15842,
                                      "loc": {
                                        "start": {
                                          "line": 436,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 436,
                                          "column": 26
                                        }
                                      },
                                      "name": "materials"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15843,
                                    "end": 15846,
                                    "loc": {
                                      "start": {
                                        "line": 436,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 436,
                                        "column": 30
                                      }
                                    },
                                    "name": "all"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15847,
                                  "end": 15854,
                                  "loc": {
                                    "start": {
                                      "line": 436,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 436,
                                      "column": 38
                                    }
                                  },
                                  "name": "forEach"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "FunctionExpression",
                                  "start": 15855,
                                  "end": 15974,
                                  "loc": {
                                    "start": {
                                      "line": 436,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 439,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 15865,
                                      "end": 15873,
                                      "loc": {
                                        "start": {
                                          "line": 436,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 436,
                                          "column": 57
                                        }
                                      },
                                      "name": "material"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 15875,
                                    "end": 15974,
                                    "loc": {
                                      "start": {
                                        "line": 436,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 439,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 15893,
                                        "end": 15914,
                                        "loc": {
                                          "start": {
                                            "line": 437,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 437,
                                            "column": 37
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 15893,
                                          "end": 15913,
                                          "loc": {
                                            "start": {
                                              "line": 437,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 437,
                                              "column": 36
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 15893,
                                            "end": 15909,
                                            "loc": {
                                              "start": {
                                                "line": 437,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 437,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15893,
                                              "end": 15901,
                                              "loc": {
                                                "start": {
                                                  "line": 437,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 437,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15902,
                                              "end": 15909,
                                              "loc": {
                                                "start": {
                                                  "line": 437,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 437,
                                                  "column": 32
                                                }
                                              },
                                              "name": "opacity"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 15912,
                                            "end": 15913,
                                            "loc": {
                                              "start": {
                                                "line": 437,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 437,
                                                "column": 36
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 15931,
                                        "end": 15960,
                                        "loc": {
                                          "start": {
                                            "line": 438,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 438,
                                            "column": 45
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 15931,
                                          "end": 15959,
                                          "loc": {
                                            "start": {
                                              "line": 438,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 438,
                                              "column": 44
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 15931,
                                            "end": 15951,
                                            "loc": {
                                              "start": {
                                                "line": 438,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 438,
                                                "column": 36
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15931,
                                              "end": 15939,
                                              "loc": {
                                                "start": {
                                                  "line": 438,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 438,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15940,
                                              "end": 15951,
                                              "loc": {
                                                "start": {
                                                  "line": 438,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 438,
                                                  "column": 36
                                                }
                                              },
                                              "name": "transparent"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 15954,
                                            "end": 15959,
                                            "loc": {
                                              "start": {
                                                "line": 438,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 438,
                                                "column": 44
                                              }
                                            },
                                            "value": false,
                                            "rawValue": false,
                                            "raw": "false"
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15996,
                      "end": 16046,
                      "loc": {
                        "start": {
                          "line": 442,
                          "column": 8
                        },
                        "end": {
                          "line": 442,
                          "column": 58
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15996,
                        "end": 16045,
                        "loc": {
                          "start": {
                            "line": 442,
                            "column": 8
                          },
                          "end": {
                            "line": 442,
                            "column": 57
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15996,
                          "end": 16026,
                          "loc": {
                            "start": {
                              "line": 442,
                              "column": 8
                            },
                            "end": {
                              "line": 442,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 15996,
                            "end": 16000,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 8
                              },
                              "end": {
                                "line": 442,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16001,
                            "end": 16026,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 13
                              },
                              "end": {
                                "line": 442,
                                "column": 38
                              }
                            },
                            "name": "switchToPerspectiveCamera"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 16027,
                            "end": 16044,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 39
                              },
                              "end": {
                                "line": 442,
                                "column": 56
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16027,
                              "end": 16031,
                              "loc": {
                                "start": {
                                  "line": 442,
                                  "column": 39
                                },
                                "end": {
                                  "line": 442,
                                  "column": 43
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16032,
                              "end": 16044,
                              "loc": {
                                "start": {
                                  "line": 442,
                                  "column": 44
                                },
                                "end": {
                                  "line": 442,
                                  "column": 56
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16055,
                      "end": 16091,
                      "loc": {
                        "start": {
                          "line": 443,
                          "column": 8
                        },
                        "end": {
                          "line": 443,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16055,
                        "end": 16090,
                        "loc": {
                          "start": {
                            "line": 443,
                            "column": 8
                          },
                          "end": {
                            "line": 443,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16055,
                          "end": 16083,
                          "loc": {
                            "start": {
                              "line": 443,
                              "column": 8
                            },
                            "end": {
                              "line": 443,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 16055,
                            "end": 16059,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 8
                              },
                              "end": {
                                "line": 443,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16060,
                            "end": 16083,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 13
                              },
                              "end": {
                                "line": 443,
                                "column": 36
                              }
                            },
                            "name": "requestAllButtonChanges"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 16084,
                            "end": 16089,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 37
                              },
                              "end": {
                                "line": 443,
                                "column": 42
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16100,
                      "end": 16128,
                      "loc": {
                        "start": {
                          "line": 444,
                          "column": 8
                        },
                        "end": {
                          "line": 444,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 16100,
                        "end": 16127,
                        "loc": {
                          "start": {
                            "line": 444,
                            "column": 8
                          },
                          "end": {
                            "line": 444,
                            "column": 35
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 16106,
                          "end": 16127,
                          "loc": {
                            "start": {
                              "line": 444,
                              "column": 14
                            },
                            "end": {
                              "line": 444,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 16106,
                            "end": 16121,
                            "loc": {
                              "start": {
                                "line": 444,
                                "column": 14
                              },
                              "end": {
                                "line": 444,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16106,
                              "end": 16110,
                              "loc": {
                                "start": {
                                  "line": 444,
                                  "column": 14
                                },
                                "end": {
                                  "line": 444,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16111,
                              "end": 16121,
                              "loc": {
                                "start": {
                                  "line": 444,
                                  "column": 19
                                },
                                "end": {
                                  "line": 444,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 16122,
                              "end": 16126,
                              "loc": {
                                "start": {
                                  "line": 444,
                                  "column": 30
                                },
                                "end": {
                                  "line": 444,
                                  "column": 34
                                }
                              },
                              "value": null,
                              "rawValue": null,
                              "raw": "null"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16138,
                      "end": 16168,
                      "loc": {
                        "start": {
                          "line": 446,
                          "column": 8
                        },
                        "end": {
                          "line": 446,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16138,
                        "end": 16167,
                        "loc": {
                          "start": {
                            "line": 446,
                            "column": 8
                          },
                          "end": {
                            "line": 446,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16138,
                          "end": 16165,
                          "loc": {
                            "start": {
                              "line": 446,
                              "column": 8
                            },
                            "end": {
                              "line": 446,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16138,
                            "end": 16156,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 8
                              },
                              "end": {
                                "line": 446,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16138,
                              "end": 16142,
                              "loc": {
                                "start": {
                                  "line": 446,
                                  "column": 8
                                },
                                "end": {
                                  "line": 446,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16143,
                              "end": 16156,
                              "loc": {
                                "start": {
                                  "line": 446,
                                  "column": 13
                                },
                                "end": {
                                  "line": 446,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16157,
                            "end": 16165,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 27
                              },
                              "end": {
                                "line": 446,
                                "column": 35
                              }
                            },
                            "name": "hideGrid"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16177,
                      "end": 16213,
                      "loc": {
                        "start": {
                          "line": 447,
                          "column": 8
                        },
                        "end": {
                          "line": 447,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16177,
                        "end": 16212,
                        "loc": {
                          "start": {
                            "line": 447,
                            "column": 8
                          },
                          "end": {
                            "line": 447,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16177,
                          "end": 16210,
                          "loc": {
                            "start": {
                              "line": 447,
                              "column": 8
                            },
                            "end": {
                              "line": 447,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16177,
                            "end": 16195,
                            "loc": {
                              "start": {
                                "line": 447,
                                "column": 8
                              },
                              "end": {
                                "line": 447,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16177,
                              "end": 16181,
                              "loc": {
                                "start": {
                                  "line": 447,
                                  "column": 8
                                },
                                "end": {
                                  "line": 447,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16182,
                              "end": 16195,
                              "loc": {
                                "start": {
                                  "line": 447,
                                  "column": 13
                                },
                                "end": {
                                  "line": 447,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16196,
                            "end": 16210,
                            "loc": {
                              "start": {
                                "line": 447,
                                "column": 27
                              },
                              "end": {
                                "line": 447,
                                "column": 41
                              }
                            },
                            "name": "hideDimensions"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16222,
                      "end": 16259,
                      "loc": {
                        "start": {
                          "line": 448,
                          "column": 8
                        },
                        "end": {
                          "line": 448,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16222,
                        "end": 16258,
                        "loc": {
                          "start": {
                            "line": 448,
                            "column": 8
                          },
                          "end": {
                            "line": 448,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16222,
                          "end": 16256,
                          "loc": {
                            "start": {
                              "line": 448,
                              "column": 8
                            },
                            "end": {
                              "line": 448,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16222,
                            "end": 16240,
                            "loc": {
                              "start": {
                                "line": 448,
                                "column": 8
                              },
                              "end": {
                                "line": 448,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16222,
                              "end": 16226,
                              "loc": {
                                "start": {
                                  "line": 448,
                                  "column": 8
                                },
                                "end": {
                                  "line": 448,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16227,
                              "end": 16240,
                              "loc": {
                                "start": {
                                  "line": 448,
                                  "column": 13
                                },
                                "end": {
                                  "line": 448,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16241,
                            "end": 16256,
                            "loc": {
                              "start": {
                                "line": 448,
                                "column": 27
                              },
                              "end": {
                                "line": 448,
                                "column": 42
                              }
                            },
                            "name": "hideConstraints"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 16269,
                      "end": 16301,
                      "loc": {
                        "start": {
                          "line": 450,
                          "column": 8
                        },
                        "end": {
                          "line": 450,
                          "column": 40
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 16273,
                          "end": 16300,
                          "loc": {
                            "start": {
                              "line": 450,
                              "column": 12
                            },
                            "end": {
                              "line": 450,
                              "column": 39
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 16273,
                            "end": 16279,
                            "loc": {
                              "start": {
                                "line": 450,
                                "column": 12
                              },
                              "end": {
                                "line": 450,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 16282,
                            "end": 16300,
                            "loc": {
                              "start": {
                                "line": 450,
                                "column": 21
                              },
                              "end": {
                                "line": 450,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16282,
                              "end": 16286,
                              "loc": {
                                "start": {
                                  "line": 450,
                                  "column": 21
                                },
                                "end": {
                                  "line": 450,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16287,
                              "end": 16300,
                              "loc": {
                                "start": {
                                  "line": 450,
                                  "column": 26
                                },
                                "end": {
                                  "line": 450,
                                  "column": 39
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16310,
                      "end": 16334,
                      "loc": {
                        "start": {
                          "line": 451,
                          "column": 8
                        },
                        "end": {
                          "line": 451,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 16310,
                        "end": 16333,
                        "loc": {
                          "start": {
                            "line": 451,
                            "column": 8
                          },
                          "end": {
                            "line": 451,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 16310,
                          "end": 16317,
                          "loc": {
                            "start": {
                              "line": 451,
                              "column": 8
                            },
                            "end": {
                              "line": 451,
                              "column": 15
                            }
                          },
                          "name": "options"
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 16320,
                          "end": 16333,
                          "loc": {
                            "start": {
                              "line": 451,
                              "column": 18
                            },
                            "end": {
                              "line": 451,
                              "column": 31
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 16320,
                            "end": 16327,
                            "loc": {
                              "start": {
                                "line": 451,
                                "column": 18
                              },
                              "end": {
                                "line": 451,
                                "column": 25
                              }
                            },
                            "name": "options"
                          },
                          "operator": "||",
                          "right": {
                            "type": "ObjectExpression",
                            "start": 16331,
                            "end": 16333,
                            "loc": {
                              "start": {
                                "line": 451,
                                "column": 29
                              },
                              "end": {
                                "line": 451,
                                "column": 31
                              }
                            },
                            "properties": []
                          }
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 16343,
                      "end": 16503,
                      "loc": {
                        "start": {
                          "line": 452,
                          "column": 8
                        },
                        "end": {
                          "line": 455,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 16347,
                        "end": 16371,
                        "loc": {
                          "start": {
                            "line": 452,
                            "column": 12
                          },
                          "end": {
                            "line": 452,
                            "column": 36
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 16348,
                          "end": 16371,
                          "loc": {
                            "start": {
                              "line": 452,
                              "column": 13
                            },
                            "end": {
                              "line": 452,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 16348,
                            "end": 16355,
                            "loc": {
                              "start": {
                                "line": 452,
                                "column": 13
                              },
                              "end": {
                                "line": 452,
                                "column": 20
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16356,
                            "end": 16371,
                            "loc": {
                              "start": {
                                "line": 452,
                                "column": 21
                              },
                              "end": {
                                "line": 452,
                                "column": 36
                              }
                            },
                            "name": "skipServerCalls"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 16373,
                        "end": 16503,
                        "loc": {
                          "start": {
                            "line": 452,
                            "column": 38
                          },
                          "end": {
                            "line": 455,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 16387,
                            "end": 16437,
                            "loc": {
                              "start": {
                                "line": 453,
                                "column": 12
                              },
                              "end": {
                                "line": 453,
                                "column": 62
                              }
                            },
                            "expression": {
                              "type": "AwaitExpression",
                              "start": 16387,
                              "end": 16436,
                              "loc": {
                                "start": {
                                  "line": 453,
                                  "column": 12
                                },
                                "end": {
                                  "line": 453,
                                  "column": 61
                                }
                              },
                              "all": false,
                              "argument": {
                                "type": "CallExpression",
                                "start": 16393,
                                "end": 16436,
                                "loc": {
                                  "start": {
                                    "line": 453,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 453,
                                    "column": 61
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 16393,
                                  "end": 16423,
                                  "loc": {
                                    "start": {
                                      "line": 453,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 453,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 16393,
                                    "end": 16415,
                                    "loc": {
                                      "start": {
                                        "line": 453,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 453,
                                        "column": 40
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 16393,
                                      "end": 16407,
                                      "loc": {
                                        "start": {
                                          "line": 453,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 453,
                                          "column": 32
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 16393,
                                        "end": 16400,
                                        "loc": {
                                          "start": {
                                            "line": 453,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 453,
                                            "column": 25
                                          }
                                        },
                                        "name": "Interop"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 16401,
                                        "end": 16407,
                                        "loc": {
                                          "start": {
                                            "line": 453,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 453,
                                            "column": 32
                                          }
                                        },
                                        "name": "Recalc"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 16408,
                                        "end": 16414,
                                        "loc": {
                                          "start": {
                                            "line": 453,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 453,
                                            "column": 39
                                          }
                                        },
                                        "name": "sketch"
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16416,
                                    "end": 16423,
                                    "loc": {
                                      "start": {
                                        "line": 453,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 453,
                                        "column": 48
                                      }
                                    },
                                    "name": "execute"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 16424,
                                    "end": 16435,
                                    "loc": {
                                      "start": {
                                        "line": 453,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 453,
                                        "column": 60
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 16424,
                                      "end": 16428,
                                      "loc": {
                                        "start": {
                                          "line": 453,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 453,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 16429,
                                      "end": 16435,
                                      "loc": {
                                        "start": {
                                          "line": 453,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 453,
                                          "column": 60
                                        }
                                      },
                                      "name": "server"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 16450,
                            "end": 16493,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 12
                              },
                              "end": {
                                "line": 454,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "AwaitExpression",
                              "start": 16450,
                              "end": 16492,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 12
                                },
                                "end": {
                                  "line": 454,
                                  "column": 54
                                }
                              },
                              "all": false,
                              "argument": {
                                "type": "CallExpression",
                                "start": 16456,
                                "end": 16492,
                                "loc": {
                                  "start": {
                                    "line": 454,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 454,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 16456,
                                  "end": 16479,
                                  "loc": {
                                    "start": {
                                      "line": 454,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 454,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 16456,
                                    "end": 16462,
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 454,
                                        "column": 24
                                      }
                                    },
                                    "name": "sketch"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16463,
                                    "end": 16479,
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 454,
                                        "column": 41
                                      }
                                    },
                                    "name": "updateFromServer"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 16480,
                                    "end": 16491,
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 454,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 16480,
                                      "end": 16484,
                                      "loc": {
                                        "start": {
                                          "line": 454,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 454,
                                          "column": 46
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 16485,
                                      "end": 16491,
                                      "loc": {
                                        "start": {
                                          "line": 454,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 454,
                                          "column": 53
                                        }
                                      },
                                      "name": "server"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16513,
                      "end": 16544,
                      "loc": {
                        "start": {
                          "line": 457,
                          "column": 8
                        },
                        "end": {
                          "line": 457,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16513,
                        "end": 16543,
                        "loc": {
                          "start": {
                            "line": 457,
                            "column": 8
                          },
                          "end": {
                            "line": 457,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16513,
                          "end": 16541,
                          "loc": {
                            "start": {
                              "line": 457,
                              "column": 8
                            },
                            "end": {
                              "line": 457,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16513,
                            "end": 16531,
                            "loc": {
                              "start": {
                                "line": 457,
                                "column": 8
                              },
                              "end": {
                                "line": 457,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16513,
                              "end": 16517,
                              "loc": {
                                "start": {
                                  "line": 457,
                                  "column": 8
                                },
                                "end": {
                                  "line": 457,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16518,
                              "end": 16531,
                              "loc": {
                                "start": {
                                  "line": 457,
                                  "column": 13
                                },
                                "end": {
                                  "line": 457,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16532,
                            "end": 16541,
                            "loc": {
                              "start": {
                                "line": 457,
                                "column": 27
                              },
                              "end": {
                                "line": 457,
                                "column": 36
                              }
                            },
                            "name": "updateBox"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16554,
                      "end": 16580,
                      "loc": {
                        "start": {
                          "line": 459,
                          "column": 8
                        },
                        "end": {
                          "line": 459,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 16554,
                        "end": 16579,
                        "loc": {
                          "start": {
                            "line": 459,
                            "column": 8
                          },
                          "end": {
                            "line": 459,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 16554,
                          "end": 16572,
                          "loc": {
                            "start": {
                              "line": 459,
                              "column": 8
                            },
                            "end": {
                              "line": 459,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 16554,
                            "end": 16558,
                            "loc": {
                              "start": {
                                "line": 459,
                                "column": 8
                              },
                              "end": {
                                "line": 459,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16559,
                            "end": 16572,
                            "loc": {
                              "start": {
                                "line": 459,
                                "column": 13
                              },
                              "end": {
                                "line": 459,
                                "column": 26
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 16575,
                          "end": 16579,
                          "loc": {
                            "start": {
                              "line": 459,
                              "column": 29
                            },
                            "end": {
                              "line": 459,
                              "column": 33
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16589,
                      "end": 16629,
                      "loc": {
                        "start": {
                          "line": 460,
                          "column": 8
                        },
                        "end": {
                          "line": 460,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 16589,
                        "end": 16628,
                        "loc": {
                          "start": {
                            "line": 460,
                            "column": 8
                          },
                          "end": {
                            "line": 460,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 16589,
                          "end": 16620,
                          "loc": {
                            "start": {
                              "line": 460,
                              "column": 8
                            },
                            "end": {
                              "line": 460,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16589,
                            "end": 16603,
                            "loc": {
                              "start": {
                                "line": 460,
                                "column": 8
                              },
                              "end": {
                                "line": 460,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16589,
                              "end": 16593,
                              "loc": {
                                "start": {
                                  "line": 460,
                                  "column": 8
                                },
                                "end": {
                                  "line": 460,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16594,
                              "end": 16603,
                              "loc": {
                                "start": {
                                  "line": 460,
                                  "column": 13
                                },
                                "end": {
                                  "line": 460,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16604,
                            "end": 16620,
                            "loc": {
                              "start": {
                                "line": 460,
                                "column": 23
                              },
                              "end": {
                                "line": 460,
                                "column": 39
                              }
                            },
                            "name": "isSketchSelected"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 16623,
                          "end": 16628,
                          "loc": {
                            "start": {
                              "line": 460,
                              "column": 42
                            },
                            "end": {
                              "line": 460,
                              "column": 47
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16638,
                      "end": 16672,
                      "loc": {
                        "start": {
                          "line": 461,
                          "column": 8
                        },
                        "end": {
                          "line": 461,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 16638,
                        "end": 16671,
                        "loc": {
                          "start": {
                            "line": 461,
                            "column": 8
                          },
                          "end": {
                            "line": 461,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 16638,
                          "end": 16666,
                          "loc": {
                            "start": {
                              "line": 461,
                              "column": 8
                            },
                            "end": {
                              "line": 461,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16638,
                            "end": 16652,
                            "loc": {
                              "start": {
                                "line": 461,
                                "column": 8
                              },
                              "end": {
                                "line": 461,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16638,
                              "end": 16642,
                              "loc": {
                                "start": {
                                  "line": 461,
                                  "column": 8
                                },
                                "end": {
                                  "line": 461,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16643,
                              "end": 16652,
                              "loc": {
                                "start": {
                                  "line": 461,
                                  "column": 13
                                },
                                "end": {
                                  "line": 461,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16653,
                            "end": 16666,
                            "loc": {
                              "start": {
                                "line": 461,
                                "column": 23
                              },
                              "end": {
                                "line": 461,
                                "column": 36
                              }
                            },
                            "name": "expressionSet"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 16669,
                          "end": 16671,
                          "loc": {
                            "start": {
                              "line": 461,
                              "column": 39
                            },
                            "end": {
                              "line": 461,
                              "column": 41
                            }
                          },
                          "elements": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16682,
                      "end": 16697,
                      "loc": {
                        "start": {
                          "line": 463,
                          "column": 8
                        },
                        "end": {
                          "line": 463,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16682,
                        "end": 16696,
                        "loc": {
                          "start": {
                            "line": 463,
                            "column": 8
                          },
                          "end": {
                            "line": 463,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16682,
                          "end": 16694,
                          "loc": {
                            "start": {
                              "line": 463,
                              "column": 8
                            },
                            "end": {
                              "line": 463,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 16682,
                            "end": 16686,
                            "loc": {
                              "start": {
                                "line": 463,
                                "column": 8
                              },
                              "end": {
                                "line": 463,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16687,
                            "end": 16694,
                            "loc": {
                              "start": {
                                "line": 463,
                                "column": 13
                              },
                              "end": {
                                "line": 463,
                                "column": 20
                              }
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 16707,
                      "end": 16719,
                      "loc": {
                        "start": {
                          "line": 465,
                          "column": 8
                        },
                        "end": {
                          "line": 465,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "Literal",
                        "start": 16714,
                        "end": 16718,
                        "loc": {
                          "start": {
                            "line": 465,
                            "column": 15
                          },
                          "end": {
                            "line": 465,
                            "column": 19
                          }
                        },
                        "value": true,
                        "rawValue": true,
                        "raw": "true"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 16731,
              "end": 16884,
              "loc": {
                "start": {
                  "line": 468,
                  "column": 4
                },
                "end": {
                  "line": 472,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16731,
                "end": 16742,
                "loc": {
                  "start": {
                    "line": 468,
                    "column": 4
                  },
                  "end": {
                    "line": 468,
                    "column": 15
                  }
                },
                "name": "buttonClick"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16742,
                "end": 16884,
                "loc": {
                  "start": {
                    "line": 468,
                    "column": 15
                  },
                  "end": {
                    "line": 472,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 16743,
                    "end": 16751,
                    "loc": {
                      "start": {
                        "line": 468,
                        "column": 16
                      },
                      "end": {
                        "line": 468,
                        "column": 24
                      }
                    },
                    "name": "buttonId"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 16753,
                  "end": 16884,
                  "loc": {
                    "start": {
                      "line": 468,
                      "column": 26
                    },
                    "end": {
                      "line": 472,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 16763,
                      "end": 16798,
                      "loc": {
                        "start": {
                          "line": 469,
                          "column": 8
                        },
                        "end": {
                          "line": 469,
                          "column": 43
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 16769,
                          "end": 16797,
                          "loc": {
                            "start": {
                              "line": 469,
                              "column": 14
                            },
                            "end": {
                              "line": 469,
                              "column": 42
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 16769,
                            "end": 16775,
                            "loc": {
                              "start": {
                                "line": 469,
                                "column": 14
                              },
                              "end": {
                                "line": 469,
                                "column": 20
                              }
                            },
                            "name": "tokens"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 16778,
                            "end": 16797,
                            "loc": {
                              "start": {
                                "line": 469,
                                "column": 23
                              },
                              "end": {
                                "line": 469,
                                "column": 42
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16778,
                              "end": 16792,
                              "loc": {
                                "start": {
                                  "line": 469,
                                  "column": 23
                                },
                                "end": {
                                  "line": 469,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 16778,
                                "end": 16786,
                                "loc": {
                                  "start": {
                                    "line": 469,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 469,
                                    "column": 31
                                  }
                                },
                                "name": "buttonId"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16787,
                                "end": 16792,
                                "loc": {
                                  "start": {
                                    "line": 469,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 469,
                                    "column": 37
                                  }
                                },
                                "name": "split"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 16793,
                                "end": 16796,
                                "loc": {
                                  "start": {
                                    "line": 469,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 469,
                                    "column": 41
                                  }
                                },
                                "value": " ",
                                "rawValue": " ",
                                "raw": "' '"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "IfStatement",
                      "start": 16807,
                      "end": 16878,
                      "loc": {
                        "start": {
                          "line": 470,
                          "column": 8
                        },
                        "end": {
                          "line": 471,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 16811,
                        "end": 16837,
                        "loc": {
                          "start": {
                            "line": 470,
                            "column": 12
                          },
                          "end": {
                            "line": 470,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 16811,
                          "end": 16820,
                          "loc": {
                            "start": {
                              "line": 470,
                              "column": 12
                            },
                            "end": {
                              "line": 470,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 16811,
                            "end": 16817,
                            "loc": {
                              "start": {
                                "line": 470,
                                "column": 12
                              },
                              "end": {
                                "line": 470,
                                "column": 18
                              }
                            },
                            "name": "tokens"
                          },
                          "property": {
                            "type": "Literal",
                            "start": 16818,
                            "end": 16819,
                            "loc": {
                              "start": {
                                "line": 470,
                                "column": 19
                              },
                              "end": {
                                "line": 470,
                                "column": 20
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "computed": true
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 16825,
                          "end": 16837,
                          "loc": {
                            "start": {
                              "line": 470,
                              "column": 26
                            },
                            "end": {
                              "line": 470,
                              "column": 38
                            }
                          },
                          "value": "chooseTool",
                          "rawValue": "chooseTool",
                          "raw": "'chooseTool'"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 16851,
                        "end": 16878,
                        "loc": {
                          "start": {
                            "line": 471,
                            "column": 12
                          },
                          "end": {
                            "line": 471,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 16851,
                          "end": 16877,
                          "loc": {
                            "start": {
                              "line": 471,
                              "column": 12
                            },
                            "end": {
                              "line": 471,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 16851,
                            "end": 16866,
                            "loc": {
                              "start": {
                                "line": 471,
                                "column": 12
                              },
                              "end": {
                                "line": 471,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16851,
                              "end": 16855,
                              "loc": {
                                "start": {
                                  "line": 471,
                                  "column": 12
                                },
                                "end": {
                                  "line": 471,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16856,
                              "end": 16866,
                              "loc": {
                                "start": {
                                  "line": 471,
                                  "column": 17
                                },
                                "end": {
                                  "line": 471,
                                  "column": 27
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 16867,
                              "end": 16876,
                              "loc": {
                                "start": {
                                  "line": 471,
                                  "column": 28
                                },
                                "end": {
                                  "line": 471,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 16867,
                                "end": 16873,
                                "loc": {
                                  "start": {
                                    "line": 471,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 471,
                                    "column": 34
                                  }
                                },
                                "name": "tokens"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 16874,
                                "end": 16875,
                                "loc": {
                                  "start": {
                                    "line": 471,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 471,
                                    "column": 36
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "computed": true
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 16890,
              "end": 16997,
              "loc": {
                "start": {
                  "line": 474,
                  "column": 4
                },
                "end": {
                  "line": 476,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16890,
                "end": 16895,
                "loc": {
                  "start": {
                    "line": 474,
                    "column": 4
                  },
                  "end": {
                    "line": 474,
                    "column": 9
                  }
                },
                "name": "click"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16895,
                "end": 16997,
                "loc": {
                  "start": {
                    "line": 474,
                    "column": 9
                  },
                  "end": {
                    "line": 476,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 16898,
                  "end": 16997,
                  "loc": {
                    "start": {
                      "line": 474,
                      "column": 12
                    },
                    "end": {
                      "line": 476,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 16908,
                      "end": 16991,
                      "loc": {
                        "start": {
                          "line": 475,
                          "column": 8
                        },
                        "end": {
                          "line": 475,
                          "column": 91
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 16915,
                        "end": 16990,
                        "loc": {
                          "start": {
                            "line": 475,
                            "column": 15
                          },
                          "end": {
                            "line": 475,
                            "column": 90
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16915,
                          "end": 16949,
                          "loc": {
                            "start": {
                              "line": 475,
                              "column": 15
                            },
                            "end": {
                              "line": 475,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16915,
                            "end": 16943,
                            "loc": {
                              "start": {
                                "line": 475,
                                "column": 15
                              },
                              "end": {
                                "line": 475,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16915,
                              "end": 16919,
                              "loc": {
                                "start": {
                                  "line": 475,
                                  "column": 15
                                },
                                "end": {
                                  "line": 475,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16920,
                              "end": 16943,
                              "loc": {
                                "start": {
                                  "line": 475,
                                  "column": 20
                                },
                                "end": {
                                  "line": 475,
                                  "column": 43
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16944,
                            "end": 16949,
                            "loc": {
                              "start": {
                                "line": 475,
                                "column": 44
                              },
                              "end": {
                                "line": 475,
                                "column": 49
                              }
                            },
                            "name": "click"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 16950,
                            "end": 16989,
                            "loc": {
                              "start": {
                                "line": 475,
                                "column": 50
                              },
                              "end": {
                                "line": 475,
                                "column": 89
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16950,
                              "end": 16987,
                              "loc": {
                                "start": {
                                  "line": 475,
                                  "column": 50
                                },
                                "end": {
                                  "line": 475,
                                  "column": 87
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 16950,
                                "end": 16981,
                                "loc": {
                                  "start": {
                                    "line": 475,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 475,
                                    "column": 81
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 16950,
                                  "end": 16964,
                                  "loc": {
                                    "start": {
                                      "line": 475,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 475,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 16950,
                                    "end": 16954,
                                    "loc": {
                                      "start": {
                                        "line": 475,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 475,
                                        "column": 54
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16955,
                                    "end": 16964,
                                    "loc": {
                                      "start": {
                                        "line": 475,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 475,
                                        "column": 64
                                      }
                                    },
                                    "name": "modelData"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 16965,
                                  "end": 16981,
                                  "loc": {
                                    "start": {
                                      "line": 475,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 475,
                                      "column": 81
                                    }
                                  },
                                  "name": "interactionPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16982,
                                "end": 16987,
                                "loc": {
                                  "start": {
                                    "line": 475,
                                    "column": 82
                                  },
                                  "end": {
                                    "line": 475,
                                    "column": 87
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17003,
              "end": 17283,
              "loc": {
                "start": {
                  "line": 478,
                  "column": 4
                },
                "end": {
                  "line": 483,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17003,
                "end": 17024,
                "loc": {
                  "start": {
                    "line": 478,
                    "column": 4
                  },
                  "end": {
                    "line": 478,
                    "column": 25
                  }
                },
                "name": "interactionPointMoved"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17024,
                "end": 17283,
                "loc": {
                  "start": {
                    "line": 478,
                    "column": 25
                  },
                  "end": {
                    "line": 483,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 17027,
                  "end": 17283,
                  "loc": {
                    "start": {
                      "line": 478,
                      "column": 28
                    },
                    "end": {
                      "line": 483,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 17134,
                      "end": 17188,
                      "loc": {
                        "start": {
                          "line": 480,
                          "column": 8
                        },
                        "end": {
                          "line": 481,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 17138,
                        "end": 17167,
                        "loc": {
                          "start": {
                            "line": 480,
                            "column": 12
                          },
                          "end": {
                            "line": 480,
                            "column": 41
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 17139,
                          "end": 17167,
                          "loc": {
                            "start": {
                              "line": 480,
                              "column": 13
                            },
                            "end": {
                              "line": 480,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17139,
                            "end": 17143,
                            "loc": {
                              "start": {
                                "line": 480,
                                "column": 13
                              },
                              "end": {
                                "line": 480,
                                "column": 17
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17144,
                            "end": 17167,
                            "loc": {
                              "start": {
                                "line": 480,
                                "column": 18
                              },
                              "end": {
                                "line": 480,
                                "column": 41
                              }
                            },
                            "name": "__sketchControlsHandler"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 17181,
                        "end": 17188,
                        "loc": {
                          "start": {
                            "line": 481,
                            "column": 12
                          },
                          "end": {
                            "line": 481,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "during execution of selectSketch, currentSketch is already set, but handler is not set",
                          "start": 17037,
                          "end": 17125,
                          "loc": {
                            "start": {
                              "line": 479,
                              "column": 8
                            },
                            "end": {
                              "line": 479,
                              "column": 96
                            }
                          },
                          "range": [
                            17037,
                            17125
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17197,
                      "end": 17277,
                      "loc": {
                        "start": {
                          "line": 482,
                          "column": 8
                        },
                        "end": {
                          "line": 482,
                          "column": 88
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17197,
                        "end": 17276,
                        "loc": {
                          "start": {
                            "line": 482,
                            "column": 8
                          },
                          "end": {
                            "line": 482,
                            "column": 87
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17197,
                          "end": 17235,
                          "loc": {
                            "start": {
                              "line": 482,
                              "column": 8
                            },
                            "end": {
                              "line": 482,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17197,
                            "end": 17225,
                            "loc": {
                              "start": {
                                "line": 482,
                                "column": 8
                              },
                              "end": {
                                "line": 482,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17197,
                              "end": 17201,
                              "loc": {
                                "start": {
                                  "line": 482,
                                  "column": 8
                                },
                                "end": {
                                  "line": 482,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17202,
                              "end": 17225,
                              "loc": {
                                "start": {
                                  "line": 482,
                                  "column": 13
                                },
                                "end": {
                                  "line": 482,
                                  "column": 36
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17226,
                            "end": 17235,
                            "loc": {
                              "start": {
                                "line": 482,
                                "column": 37
                              },
                              "end": {
                                "line": 482,
                                "column": 46
                              }
                            },
                            "name": "mouseMove"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 17236,
                            "end": 17275,
                            "loc": {
                              "start": {
                                "line": 482,
                                "column": 47
                              },
                              "end": {
                                "line": 482,
                                "column": 86
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 17236,
                              "end": 17273,
                              "loc": {
                                "start": {
                                  "line": 482,
                                  "column": 47
                                },
                                "end": {
                                  "line": 482,
                                  "column": 84
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 17236,
                                "end": 17267,
                                "loc": {
                                  "start": {
                                    "line": 482,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 482,
                                    "column": 78
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 17236,
                                  "end": 17250,
                                  "loc": {
                                    "start": {
                                      "line": 482,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 482,
                                      "column": 61
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 17236,
                                    "end": 17240,
                                    "loc": {
                                      "start": {
                                        "line": 482,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 482,
                                        "column": 51
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17241,
                                    "end": 17250,
                                    "loc": {
                                      "start": {
                                        "line": 482,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 482,
                                        "column": 61
                                      }
                                    },
                                    "name": "modelData"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17251,
                                  "end": 17267,
                                  "loc": {
                                    "start": {
                                      "line": 482,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 482,
                                      "column": 78
                                    }
                                  },
                                  "name": "interactionPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17268,
                                "end": 17273,
                                "loc": {
                                  "start": {
                                    "line": 482,
                                    "column": 79
                                  },
                                  "end": {
                                    "line": 482,
                                    "column": 84
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17289,
              "end": 17298,
              "loc": {
                "start": {
                  "line": 485,
                  "column": 4
                },
                "end": {
                  "line": 485,
                  "column": 13
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17289,
                "end": 17293,
                "loc": {
                  "start": {
                    "line": 485,
                    "column": 4
                  },
                  "end": {
                    "line": 485,
                    "column": 8
                  }
                },
                "name": "undo"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17293,
                "end": 17298,
                "loc": {
                  "start": {
                    "line": 485,
                    "column": 8
                  },
                  "end": {
                    "line": 485,
                    "column": 13
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 17296,
                  "end": 17298,
                  "loc": {
                    "start": {
                      "line": 485,
                      "column": 11
                    },
                    "end": {
                      "line": 485,
                      "column": 13
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17304,
              "end": 17313,
              "loc": {
                "start": {
                  "line": 487,
                  "column": 4
                },
                "end": {
                  "line": 487,
                  "column": 13
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17304,
                "end": 17308,
                "loc": {
                  "start": {
                    "line": 487,
                    "column": 4
                  },
                  "end": {
                    "line": 487,
                    "column": 8
                  }
                },
                "name": "redo"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17308,
                "end": 17313,
                "loc": {
                  "start": {
                    "line": 487,
                    "column": 8
                  },
                  "end": {
                    "line": 487,
                    "column": 13
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 17311,
                  "end": 17313,
                  "loc": {
                    "start": {
                      "line": 487,
                      "column": 11
                    },
                    "end": {
                      "line": 487,
                      "column": 13
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17319,
              "end": 17396,
              "loc": {
                "start": {
                  "line": 489,
                  "column": 4
                },
                "end": {
                  "line": 491,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17319,
                "end": 17328,
                "loc": {
                  "start": {
                    "line": 489,
                    "column": 4
                  },
                  "end": {
                    "line": 489,
                    "column": 13
                  }
                },
                "name": "setPrompt"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17328,
                "end": 17396,
                "loc": {
                  "start": {
                    "line": 489,
                    "column": 13
                  },
                  "end": {
                    "line": 491,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 17329,
                    "end": 17339,
                    "loc": {
                      "start": {
                        "line": 489,
                        "column": 14
                      },
                      "end": {
                        "line": 489,
                        "column": 24
                      }
                    },
                    "name": "promptText"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 17341,
                  "end": 17396,
                  "loc": {
                    "start": {
                      "line": 489,
                      "column": 26
                    },
                    "end": {
                      "line": 491,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 17351,
                      "end": 17390,
                      "loc": {
                        "start": {
                          "line": 490,
                          "column": 8
                        },
                        "end": {
                          "line": 490,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17351,
                        "end": 17389,
                        "loc": {
                          "start": {
                            "line": 490,
                            "column": 8
                          },
                          "end": {
                            "line": 490,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17351,
                          "end": 17376,
                          "loc": {
                            "start": {
                              "line": 490,
                              "column": 8
                            },
                            "end": {
                              "line": 490,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17351,
                            "end": 17365,
                            "loc": {
                              "start": {
                                "line": 490,
                                "column": 8
                              },
                              "end": {
                                "line": 490,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17351,
                              "end": 17355,
                              "loc": {
                                "start": {
                                  "line": 490,
                                  "column": 8
                                },
                                "end": {
                                  "line": 490,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17356,
                              "end": 17365,
                              "loc": {
                                "start": {
                                  "line": 490,
                                  "column": 13
                                },
                                "end": {
                                  "line": 490,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17366,
                            "end": 17376,
                            "loc": {
                              "start": {
                                "line": 490,
                                "column": 23
                              },
                              "end": {
                                "line": 490,
                                "column": 33
                              }
                            },
                            "name": "promptText"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 17379,
                          "end": 17389,
                          "loc": {
                            "start": {
                              "line": 490,
                              "column": 36
                            },
                            "end": {
                              "line": 490,
                              "column": 46
                            }
                          },
                          "name": "promptText"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17402,
              "end": 17897,
              "loc": {
                "start": {
                  "line": 493,
                  "column": 4
                },
                "end": {
                  "line": 503,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17408,
                "end": 17427,
                "loc": {
                  "start": {
                    "line": 493,
                    "column": 10
                  },
                  "end": {
                    "line": 493,
                    "column": 29
                  }
                },
                "name": "askConstraintParams"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17427,
                "end": 17897,
                "loc": {
                  "start": {
                    "line": 493,
                    "column": 29
                  },
                  "end": {
                    "line": 503,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 17428,
                    "end": 17437,
                    "loc": {
                      "start": {
                        "line": 493,
                        "column": 30
                      },
                      "end": {
                        "line": 493,
                        "column": 39
                      }
                    },
                    "name": "oldParams"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 17439,
                  "end": 17897,
                  "loc": {
                    "start": {
                      "line": 493,
                      "column": 41
                    },
                    "end": {
                      "line": 503,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 17449,
                      "end": 17798,
                      "loc": {
                        "start": {
                          "line": 494,
                          "column": 8
                        },
                        "end": {
                          "line": 501,
                          "column": 11
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 17455,
                          "end": 17797,
                          "loc": {
                            "start": {
                              "line": 494,
                              "column": 14
                            },
                            "end": {
                              "line": 501,
                              "column": 10
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 17455,
                            "end": 17458,
                            "loc": {
                              "start": {
                                "line": 494,
                                "column": 14
                              },
                              "end": {
                                "line": 494,
                                "column": 17
                              }
                            },
                            "name": "ans"
                          },
                          "init": {
                            "type": "AwaitExpression",
                            "start": 17461,
                            "end": 17797,
                            "loc": {
                              "start": {
                                "line": 494,
                                "column": 20
                              },
                              "end": {
                                "line": 501,
                                "column": 10
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 17467,
                              "end": 17797,
                              "loc": {
                                "start": {
                                  "line": 494,
                                  "column": 26
                                },
                                "end": {
                                  "line": 501,
                                  "column": 10
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 17467,
                                "end": 17484,
                                "loc": {
                                  "start": {
                                    "line": 494,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 494,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 17467,
                                  "end": 17471,
                                  "loc": {
                                    "start": {
                                      "line": 494,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 494,
                                      "column": 30
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17472,
                                  "end": 17484,
                                  "loc": {
                                    "start": {
                                      "line": 494,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 494,
                                      "column": 43
                                    }
                                  },
                                  "name": "requestModal"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 17485,
                                  "end": 17796,
                                  "loc": {
                                    "start": {
                                      "line": 494,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 501,
                                      "column": 9
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 17499,
                                      "end": 17529,
                                      "loc": {
                                        "start": {
                                          "line": 495,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 495,
                                          "column": 42
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 17499,
                                        "end": 17504,
                                        "loc": {
                                          "start": {
                                            "line": 495,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 495,
                                            "column": 17
                                          }
                                        },
                                        "name": "title"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 17506,
                                        "end": 17529,
                                        "loc": {
                                          "start": {
                                            "line": 495,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 495,
                                            "column": 42
                                          }
                                        },
                                        "value": "Constraint parameters",
                                        "rawValue": "Constraint parameters",
                                        "raw": "'Constraint parameters'"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 17543,
                                      "end": 17785,
                                      "loc": {
                                        "start": {
                                          "line": 496,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 500,
                                          "column": 13
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 17543,
                                        "end": 17551,
                                        "loc": {
                                          "start": {
                                            "line": 496,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 496,
                                            "column": 20
                                          }
                                        },
                                        "name": "elements"
                                      },
                                      "value": {
                                        "type": "ArrayExpression",
                                        "start": 17553,
                                        "end": 17785,
                                        "loc": {
                                          "start": {
                                            "line": 496,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 500,
                                            "column": 13
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "ObjectExpression",
                                            "start": 17567,
                                            "end": 17630,
                                            "loc": {
                                              "start": {
                                                "line": 497,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 497,
                                                "column": 75
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 17568,
                                                "end": 17586,
                                                "loc": {
                                                  "start": {
                                                    "line": 497,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 497,
                                                    "column": 31
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 17568,
                                                  "end": 17572,
                                                  "loc": {
                                                    "start": {
                                                      "line": 497,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 497,
                                                      "column": 17
                                                    }
                                                  },
                                                  "name": "name"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 17574,
                                                  "end": 17586,
                                                  "loc": {
                                                    "start": {
                                                      "line": 497,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 497,
                                                      "column": 31
                                                    }
                                                  },
                                                  "value": "expression",
                                                  "rawValue": "expression",
                                                  "raw": "'expression'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 17588,
                                                "end": 17600,
                                                "loc": {
                                                  "start": {
                                                    "line": 497,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 497,
                                                    "column": 45
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 17588,
                                                  "end": 17592,
                                                  "loc": {
                                                    "start": {
                                                      "line": 497,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 497,
                                                      "column": 37
                                                    }
                                                  },
                                                  "name": "type"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 17594,
                                                  "end": 17600,
                                                  "loc": {
                                                    "start": {
                                                      "line": 497,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 497,
                                                      "column": 45
                                                    }
                                                  },
                                                  "value": "text",
                                                  "rawValue": "text",
                                                  "raw": "'text'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 17602,
                                                "end": 17629,
                                                "loc": {
                                                  "start": {
                                                    "line": 497,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 497,
                                                    "column": 74
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 17602,
                                                  "end": 17607,
                                                  "loc": {
                                                    "start": {
                                                      "line": 497,
                                                      "column": 47
                                                    },
                                                    "end": {
                                                      "line": 497,
                                                      "column": 52
                                                    }
                                                  },
                                                  "name": "value"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 17609,
                                                  "end": 17629,
                                                  "loc": {
                                                    "start": {
                                                      "line": 497,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 497,
                                                      "column": 74
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 17609,
                                                    "end": 17618,
                                                    "loc": {
                                                      "start": {
                                                        "line": 497,
                                                        "column": 54
                                                      },
                                                      "end": {
                                                        "line": 497,
                                                        "column": 63
                                                      }
                                                    },
                                                    "name": "oldParams"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 17619,
                                                    "end": 17629,
                                                    "loc": {
                                                      "start": {
                                                        "line": 497,
                                                        "column": 64
                                                      },
                                                      "end": {
                                                        "line": 497,
                                                        "column": 74
                                                      }
                                                    },
                                                    "name": "expression"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "ObjectExpression",
                                            "start": 17644,
                                            "end": 17699,
                                            "loc": {
                                              "start": {
                                                "line": 498,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 498,
                                                "column": 67
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 17645,
                                                "end": 17658,
                                                "loc": {
                                                  "start": {
                                                    "line": 498,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 498,
                                                    "column": 26
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 17645,
                                                  "end": 17649,
                                                  "loc": {
                                                    "start": {
                                                      "line": 498,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 498,
                                                      "column": 17
                                                    }
                                                  },
                                                  "name": "name"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 17651,
                                                  "end": 17658,
                                                  "loc": {
                                                    "start": {
                                                      "line": 498,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 498,
                                                      "column": 26
                                                    }
                                                  },
                                                  "value": "value",
                                                  "rawValue": "value",
                                                  "raw": "'value'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 17660,
                                                "end": 17674,
                                                "loc": {
                                                  "start": {
                                                    "line": 498,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 498,
                                                    "column": 42
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 17660,
                                                  "end": 17664,
                                                  "loc": {
                                                    "start": {
                                                      "line": 498,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 498,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "type"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 17666,
                                                  "end": 17674,
                                                  "loc": {
                                                    "start": {
                                                      "line": 498,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 498,
                                                      "column": 42
                                                    }
                                                  },
                                                  "value": "number",
                                                  "rawValue": "number",
                                                  "raw": "'number'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 17676,
                                                "end": 17698,
                                                "loc": {
                                                  "start": {
                                                    "line": 498,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 498,
                                                    "column": 66
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 17676,
                                                  "end": 17681,
                                                  "loc": {
                                                    "start": {
                                                      "line": 498,
                                                      "column": 44
                                                    },
                                                    "end": {
                                                      "line": 498,
                                                      "column": 49
                                                    }
                                                  },
                                                  "name": "value"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 17683,
                                                  "end": 17698,
                                                  "loc": {
                                                    "start": {
                                                      "line": 498,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 498,
                                                      "column": 66
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 17683,
                                                    "end": 17692,
                                                    "loc": {
                                                      "start": {
                                                        "line": 498,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 498,
                                                        "column": 60
                                                      }
                                                    },
                                                    "name": "oldParams"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 17693,
                                                    "end": 17698,
                                                    "loc": {
                                                      "start": {
                                                        "line": 498,
                                                        "column": 61
                                                      },
                                                      "end": {
                                                        "line": 498,
                                                        "column": 66
                                                      }
                                                    },
                                                    "name": "value"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "ObjectExpression",
                                            "start": 17713,
                                            "end": 17770,
                                            "loc": {
                                              "start": {
                                                "line": 499,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 499,
                                                "column": 69
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 17714,
                                                "end": 17727,
                                                "loc": {
                                                  "start": {
                                                    "line": 499,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 499,
                                                    "column": 26
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 17714,
                                                  "end": 17718,
                                                  "loc": {
                                                    "start": {
                                                      "line": 499,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 499,
                                                      "column": 17
                                                    }
                                                  },
                                                  "name": "name"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 17720,
                                                  "end": 17727,
                                                  "loc": {
                                                    "start": {
                                                      "line": 499,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 499,
                                                      "column": 26
                                                    }
                                                  },
                                                  "value": "fixed",
                                                  "rawValue": "fixed",
                                                  "raw": "'fixed'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 17729,
                                                "end": 17745,
                                                "loc": {
                                                  "start": {
                                                    "line": 499,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 499,
                                                    "column": 44
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 17729,
                                                  "end": 17733,
                                                  "loc": {
                                                    "start": {
                                                      "line": 499,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 499,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "type"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 17735,
                                                  "end": 17745,
                                                  "loc": {
                                                    "start": {
                                                      "line": 499,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 499,
                                                      "column": 44
                                                    }
                                                  },
                                                  "value": "checkbox",
                                                  "rawValue": "checkbox",
                                                  "raw": "'checkbox'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 17747,
                                                "end": 17769,
                                                "loc": {
                                                  "start": {
                                                    "line": 499,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 499,
                                                    "column": 68
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 17747,
                                                  "end": 17752,
                                                  "loc": {
                                                    "start": {
                                                      "line": 499,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 499,
                                                      "column": 51
                                                    }
                                                  },
                                                  "name": "value"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 17754,
                                                  "end": 17769,
                                                  "loc": {
                                                    "start": {
                                                      "line": 499,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 499,
                                                      "column": 68
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 17754,
                                                    "end": 17763,
                                                    "loc": {
                                                      "start": {
                                                        "line": 499,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 499,
                                                        "column": 62
                                                      }
                                                    },
                                                    "name": "oldParams"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 17764,
                                                    "end": 17769,
                                                    "loc": {
                                                      "start": {
                                                        "line": 499,
                                                        "column": 63
                                                      },
                                                      "end": {
                                                        "line": 499,
                                                        "column": 68
                                                      }
                                                    },
                                                    "name": "fixed"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 17807,
                      "end": 17891,
                      "loc": {
                        "start": {
                          "line": 502,
                          "column": 8
                        },
                        "end": {
                          "line": 502,
                          "column": 92
                        }
                      },
                      "argument": {
                        "type": "ObjectExpression",
                        "start": 17814,
                        "end": 17890,
                        "loc": {
                          "start": {
                            "line": 502,
                            "column": 15
                          },
                          "end": {
                            "line": 502,
                            "column": 91
                          }
                        },
                        "properties": [
                          {
                            "type": "Property",
                            "start": 17815,
                            "end": 17839,
                            "loc": {
                              "start": {
                                "line": 502,
                                "column": 16
                              },
                              "end": {
                                "line": 502,
                                "column": 40
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 17815,
                              "end": 17825,
                              "loc": {
                                "start": {
                                  "line": 502,
                                  "column": 16
                                },
                                "end": {
                                  "line": 502,
                                  "column": 26
                                }
                              },
                              "name": "expression"
                            },
                            "value": {
                              "type": "MemberExpression",
                              "start": 17827,
                              "end": 17839,
                              "loc": {
                                "start": {
                                  "line": 502,
                                  "column": 28
                                },
                                "end": {
                                  "line": 502,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 17827,
                                "end": 17833,
                                "loc": {
                                  "start": {
                                    "line": 502,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 502,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 17827,
                                  "end": 17830,
                                  "loc": {
                                    "start": {
                                      "line": 502,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 502,
                                      "column": 31
                                    }
                                  },
                                  "name": "ans"
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 17831,
                                  "end": 17832,
                                  "loc": {
                                    "start": {
                                      "line": 502,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 502,
                                      "column": 33
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17834,
                                "end": 17839,
                                "loc": {
                                  "start": {
                                    "line": 502,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 502,
                                    "column": 40
                                  }
                                },
                                "name": "value"
                              },
                              "computed": false
                            },
                            "kind": "init"
                          },
                          {
                            "type": "Property",
                            "start": 17841,
                            "end": 17868,
                            "loc": {
                              "start": {
                                "line": 502,
                                "column": 42
                              },
                              "end": {
                                "line": 502,
                                "column": 69
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 17841,
                              "end": 17846,
                              "loc": {
                                "start": {
                                  "line": 502,
                                  "column": 42
                                },
                                "end": {
                                  "line": 502,
                                  "column": 47
                                }
                              },
                              "name": "value"
                            },
                            "value": {
                              "type": "CallExpression",
                              "start": 17848,
                              "end": 17868,
                              "loc": {
                                "start": {
                                  "line": 502,
                                  "column": 49
                                },
                                "end": {
                                  "line": 502,
                                  "column": 69
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 17848,
                                "end": 17854,
                                "loc": {
                                  "start": {
                                    "line": 502,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 502,
                                    "column": 55
                                  }
                                },
                                "name": "Number"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 17855,
                                  "end": 17867,
                                  "loc": {
                                    "start": {
                                      "line": 502,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 502,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 17855,
                                    "end": 17861,
                                    "loc": {
                                      "start": {
                                        "line": 502,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 502,
                                        "column": 62
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 17855,
                                      "end": 17858,
                                      "loc": {
                                        "start": {
                                          "line": 502,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 502,
                                          "column": 59
                                        }
                                      },
                                      "name": "ans"
                                    },
                                    "property": {
                                      "type": "Literal",
                                      "start": 17859,
                                      "end": 17860,
                                      "loc": {
                                        "start": {
                                          "line": 502,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 502,
                                          "column": 61
                                        }
                                      },
                                      "value": 1,
                                      "rawValue": 1,
                                      "raw": "1"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17862,
                                    "end": 17867,
                                    "loc": {
                                      "start": {
                                        "line": 502,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 502,
                                        "column": 68
                                      }
                                    },
                                    "name": "value"
                                  },
                                  "computed": false
                                }
                              ]
                            },
                            "kind": "init"
                          },
                          {
                            "type": "Property",
                            "start": 17870,
                            "end": 17889,
                            "loc": {
                              "start": {
                                "line": 502,
                                "column": 71
                              },
                              "end": {
                                "line": 502,
                                "column": 90
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 17870,
                              "end": 17875,
                              "loc": {
                                "start": {
                                  "line": 502,
                                  "column": 71
                                },
                                "end": {
                                  "line": 502,
                                  "column": 76
                                }
                              },
                              "name": "fixed"
                            },
                            "value": {
                              "type": "MemberExpression",
                              "start": 17877,
                              "end": 17889,
                              "loc": {
                                "start": {
                                  "line": 502,
                                  "column": 78
                                },
                                "end": {
                                  "line": 502,
                                  "column": 90
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 17877,
                                "end": 17883,
                                "loc": {
                                  "start": {
                                    "line": 502,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 502,
                                    "column": 84
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 17877,
                                  "end": 17880,
                                  "loc": {
                                    "start": {
                                      "line": 502,
                                      "column": 78
                                    },
                                    "end": {
                                      "line": 502,
                                      "column": 81
                                    }
                                  },
                                  "name": "ans"
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 17881,
                                  "end": 17882,
                                  "loc": {
                                    "start": {
                                      "line": 502,
                                      "column": 82
                                    },
                                    "end": {
                                      "line": 502,
                                      "column": 83
                                    }
                                  },
                                  "value": 2,
                                  "rawValue": 2,
                                  "raw": "2"
                                },
                                "computed": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17884,
                                "end": 17889,
                                "loc": {
                                  "start": {
                                    "line": 502,
                                    "column": 85
                                  },
                                  "end": {
                                    "line": 502,
                                    "column": 90
                                  }
                                },
                                "name": "value"
                              },
                              "computed": false
                            },
                            "kind": "init"
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Makes given THREE object suitable for visualization on given View.\n     * It adds interaction on the object with update method.\n     * The update method allows to automatically recalculate sizes and visible geometry of the object.\n     * The function can be called many times, but the object must not have other interaction on it.\n     * Ideally, this method should be called immediately after the object has been created.\n     ",
                  "start": 17903,
                  "end": 18344,
                  "loc": {
                    "start": {
                      "line": 505,
                      "column": 4
                    },
                    "end": {
                      "line": 511,
                      "column": 7
                    }
                  },
                  "range": [
                    17903,
                    18344
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 18349,
              "end": 18564,
              "loc": {
                "start": {
                  "line": 512,
                  "column": 4
                },
                "end": {
                  "line": 518,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 18356,
                "end": 18377,
                "loc": {
                  "start": {
                    "line": 512,
                    "column": 11
                  },
                  "end": {
                    "line": 512,
                    "column": 32
                  }
                },
                "name": "registerVisualization"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 18377,
                "end": 18564,
                "loc": {
                  "start": {
                    "line": 512,
                    "column": 32
                  },
                  "end": {
                    "line": 518,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 18378,
                    "end": 18382,
                    "loc": {
                      "start": {
                        "line": 512,
                        "column": 33
                      },
                      "end": {
                        "line": 512,
                        "column": 37
                      }
                    },
                    "name": "view"
                  },
                  {
                    "type": "Identifier",
                    "start": 18384,
                    "end": 18387,
                    "loc": {
                      "start": {
                        "line": 512,
                        "column": 39
                      },
                      "end": {
                        "line": 512,
                        "column": 42
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 18389,
                  "end": 18564,
                  "loc": {
                    "start": {
                      "line": 512,
                      "column": 44
                    },
                    "end": {
                      "line": 518,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 18399,
                      "end": 18558,
                      "loc": {
                        "start": {
                          "line": 513,
                          "column": 8
                        },
                        "end": {
                          "line": 517,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 18399,
                        "end": 18557,
                        "loc": {
                          "start": {
                            "line": 513,
                            "column": 8
                          },
                          "end": {
                            "line": 517,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 18399,
                          "end": 18466,
                          "loc": {
                            "start": {
                              "line": 513,
                              "column": 8
                            },
                            "end": {
                              "line": 515,
                              "column": 13
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 18399,
                            "end": 18463,
                            "loc": {
                              "start": {
                                "line": 513,
                                "column": 8
                              },
                              "end": {
                                "line": 515,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 18399,
                              "end": 18420,
                              "loc": {
                                "start": {
                                  "line": 513,
                                  "column": 8
                                },
                                "end": {
                                  "line": 513,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 18399,
                                "end": 18402,
                                "loc": {
                                  "start": {
                                    "line": 513,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 513,
                                    "column": 11
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18403,
                                "end": 18420,
                                "loc": {
                                  "start": {
                                    "line": 513,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 513,
                                    "column": 29
                                  }
                                },
                                "name": "createInteraction"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ObjectExpression",
                                "start": 18421,
                                "end": 18462,
                                "loc": {
                                  "start": {
                                    "line": 513,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 515,
                                    "column": 9
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 18435,
                                    "end": 18451,
                                    "loc": {
                                      "start": {
                                        "line": 514,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 514,
                                        "column": 28
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 18435,
                                      "end": 18443,
                                      "loc": {
                                        "start": {
                                          "line": 514,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 514,
                                          "column": 20
                                        }
                                      },
                                      "name": "priority"
                                    },
                                    "value": {
                                      "type": "UnaryExpression",
                                      "start": 18445,
                                      "end": 18451,
                                      "loc": {
                                        "start": {
                                          "line": 514,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 514,
                                          "column": 28
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 18446,
                                        "end": 18451,
                                        "loc": {
                                          "start": {
                                            "line": 514,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 514,
                                            "column": 28
                                          }
                                        },
                                        "value": 10000,
                                        "rawValue": 10000,
                                        "raw": "10000"
                                      }
                                    },
                                    "kind": "init"
                                  }
                                ]
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18464,
                            "end": 18466,
                            "loc": {
                              "start": {
                                "line": 515,
                                "column": 11
                              },
                              "end": {
                                "line": 515,
                                "column": 13
                              }
                            },
                            "name": "on"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "start": 18467,
                            "end": 18556,
                            "loc": {
                              "start": {
                                "line": 515,
                                "column": 14
                              },
                              "end": {
                                "line": 517,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 18481,
                                "end": 18545,
                                "loc": {
                                  "start": {
                                    "line": 516,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 516,
                                    "column": 76
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": true,
                                "key": {
                                  "type": "MemberExpression",
                                  "start": 18482,
                                  "end": 18515,
                                  "loc": {
                                    "start": {
                                      "line": 516,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 516,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 18482,
                                    "end": 18506,
                                    "loc": {
                                      "start": {
                                        "line": 516,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 516,
                                        "column": 37
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 18482,
                                      "end": 18496,
                                      "loc": {
                                        "start": {
                                          "line": 516,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 516,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 18482,
                                        "end": 18489,
                                        "loc": {
                                          "start": {
                                            "line": 516,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 516,
                                            "column": 20
                                          }
                                        },
                                        "name": "Object3"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 18490,
                                        "end": 18496,
                                        "loc": {
                                          "start": {
                                            "line": 516,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 516,
                                            "column": 27
                                          }
                                        },
                                        "name": "Events"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18497,
                                      "end": 18506,
                                      "loc": {
                                        "start": {
                                          "line": 516,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 516,
                                          "column": 37
                                        }
                                      },
                                      "name": "Lifecycle"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18507,
                                    "end": 18515,
                                    "loc": {
                                      "start": {
                                        "line": 516,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 516,
                                        "column": 46
                                      }
                                    },
                                    "name": "Rendered"
                                  },
                                  "computed": false
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 18518,
                                  "end": 18545,
                                  "loc": {
                                    "start": {
                                      "line": 516,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 516,
                                      "column": 76
                                    }
                                  },
                                  "name": "updateSizesAndVisualization"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Makes given THREE object suitable for visualization on given View.\n     * It adds interaction on the object with update method.\n     * The update method allows to automatically recalculate sizes and visible geometry of the object.\n     * The function can be called many times, but the object must not have other interaction on it.\n     * Ideally, this method should be called immediately after the object has been created.\n     ",
                  "start": 17903,
                  "end": 18344,
                  "loc": {
                    "start": {
                      "line": 505,
                      "column": 4
                    },
                    "end": {
                      "line": 511,
                      "column": 7
                    }
                  },
                  "range": [
                    17903,
                    18344
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * A mixin which adds capability of specifying sizes in screen pixels.\n     * All sizes are kept in a single list 'pixelSizes'.\n     * Method 'updateSizes' is added: it should be called by user when camera/size changes.\n     * It passes geometrical sizes (in local object space) to method 'setGeomSizes'.\n     * If 'getSizingPoint' method is present in class, it is called to get\n     * calibrating position in local space of the object (otherwise origin is used).\n     ",
                  "start": 18570,
                  "end": 19050,
                  "loc": {
                    "start": {
                      "line": 520,
                      "column": 4
                    },
                    "end": {
                      "line": 527,
                      "column": 7
                    }
                  },
                  "range": [
                    18570,
                    19050
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 19055,
              "end": 20219,
              "loc": {
                "start": {
                  "line": 528,
                  "column": 4
                },
                "end": {
                  "line": 556,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 19062,
                "end": 19085,
                "loc": {
                  "start": {
                    "line": 528,
                    "column": 11
                  },
                  "end": {
                    "line": 528,
                    "column": 34
                  }
                },
                "name": "mixinPixelSizedGeometry"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 19085,
                "end": 20219,
                "loc": {
                  "start": {
                    "line": 528,
                    "column": 34
                  },
                  "end": {
                    "line": 556,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 19086,
                    "end": 19096,
                    "loc": {
                      "start": {
                        "line": 528,
                        "column": 35
                      },
                      "end": {
                        "line": 528,
                        "column": 45
                      }
                    },
                    "name": "pixelSizes"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 19098,
                  "end": 20219,
                  "loc": {
                    "start": {
                      "line": 528,
                      "column": 47
                    },
                    "end": {
                      "line": 556,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 19108,
                      "end": 19246,
                      "loc": {
                        "start": {
                          "line": 529,
                          "column": 8
                        },
                        "end": {
                          "line": 532,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 19112,
                        "end": 19145,
                        "loc": {
                          "start": {
                            "line": 529,
                            "column": 12
                          },
                          "end": {
                            "line": 529,
                            "column": 45
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "BinaryExpression",
                          "start": 19114,
                          "end": 19144,
                          "loc": {
                            "start": {
                              "line": 529,
                              "column": 14
                            },
                            "end": {
                              "line": 529,
                              "column": 44
                            }
                          },
                          "left": {
                            "type": "ThisExpression",
                            "start": 19114,
                            "end": 19118,
                            "loc": {
                              "start": {
                                "line": 529,
                                "column": 14
                              },
                              "end": {
                                "line": 529,
                                "column": 18
                              }
                            }
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "MemberExpression",
                            "start": 19130,
                            "end": 19144,
                            "loc": {
                              "start": {
                                "line": 529,
                                "column": 30
                              },
                              "end": {
                                "line": 529,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 19130,
                              "end": 19135,
                              "loc": {
                                "start": {
                                  "line": 529,
                                  "column": 30
                                },
                                "end": {
                                  "line": 529,
                                  "column": 35
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19136,
                              "end": 19144,
                              "loc": {
                                "start": {
                                  "line": 529,
                                  "column": 36
                                },
                                "end": {
                                  "line": 529,
                                  "column": 44
                                }
                              },
                              "name": "Object3D"
                            },
                            "computed": false
                          },
                          "parenthesizedExpression": true
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 19147,
                        "end": 19246,
                        "loc": {
                          "start": {
                            "line": 529,
                            "column": 47
                          },
                          "end": {
                            "line": 532,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 19161,
                            "end": 19216,
                            "loc": {
                              "start": {
                                "line": 530,
                                "column": 12
                              },
                              "end": {
                                "line": 530,
                                "column": 67
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 19161,
                              "end": 19215,
                              "loc": {
                                "start": {
                                  "line": 530,
                                  "column": 12
                                },
                                "end": {
                                  "line": 530,
                                  "column": 66
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 19161,
                                "end": 19173,
                                "loc": {
                                  "start": {
                                    "line": 530,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 530,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 19161,
                                  "end": 19168,
                                  "loc": {
                                    "start": {
                                      "line": 530,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 530,
                                      "column": 19
                                    }
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19169,
                                  "end": 19173,
                                  "loc": {
                                    "start": {
                                      "line": 530,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 530,
                                      "column": 24
                                    }
                                  },
                                  "name": "warn"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 19174,
                                  "end": 19214,
                                  "loc": {
                                    "start": {
                                      "line": 530,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 530,
                                      "column": 65
                                    }
                                  },
                                  "value": "PixelSizedGeometry: not a THREE object",
                                  "rawValue": "PixelSizedGeometry: not a THREE object",
                                  "raw": "\"PixelSizedGeometry: not a THREE object\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 19229,
                            "end": 19236,
                            "loc": {
                              "start": {
                                "line": 531,
                                "column": 12
                              },
                              "end": {
                                "line": 531,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 19255,
                      "end": 19384,
                      "loc": {
                        "start": {
                          "line": 533,
                          "column": 8
                        },
                        "end": {
                          "line": 536,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 19259,
                        "end": 19277,
                        "loc": {
                          "start": {
                            "line": 533,
                            "column": 12
                          },
                          "end": {
                            "line": 533,
                            "column": 30
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 19260,
                          "end": 19277,
                          "loc": {
                            "start": {
                              "line": 533,
                              "column": 13
                            },
                            "end": {
                              "line": 533,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19260,
                            "end": 19264,
                            "loc": {
                              "start": {
                                "line": 533,
                                "column": 13
                              },
                              "end": {
                                "line": 533,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19265,
                            "end": 19277,
                            "loc": {
                              "start": {
                                "line": 533,
                                "column": 18
                              },
                              "end": {
                                "line": 533,
                                "column": 30
                              }
                            },
                            "name": "setGeomSizes"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 19279,
                        "end": 19384,
                        "loc": {
                          "start": {
                            "line": 533,
                            "column": 32
                          },
                          "end": {
                            "line": 536,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 19293,
                            "end": 19354,
                            "loc": {
                              "start": {
                                "line": 534,
                                "column": 12
                              },
                              "end": {
                                "line": 534,
                                "column": 73
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 19293,
                              "end": 19353,
                              "loc": {
                                "start": {
                                  "line": 534,
                                  "column": 12
                                },
                                "end": {
                                  "line": 534,
                                  "column": 72
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 19293,
                                "end": 19305,
                                "loc": {
                                  "start": {
                                    "line": 534,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 534,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 19293,
                                  "end": 19300,
                                  "loc": {
                                    "start": {
                                      "line": 534,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 534,
                                      "column": 19
                                    }
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19301,
                                  "end": 19305,
                                  "loc": {
                                    "start": {
                                      "line": 534,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 534,
                                      "column": 24
                                    }
                                  },
                                  "name": "warn"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 19306,
                                  "end": 19352,
                                  "loc": {
                                    "start": {
                                      "line": 534,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 534,
                                      "column": 71
                                    }
                                  },
                                  "value": "PixelSizedGeometry: missing required methods",
                                  "rawValue": "PixelSizedGeometry: missing required methods",
                                  "raw": "\"PixelSizedGeometry: missing required methods\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 19367,
                            "end": 19374,
                            "loc": {
                              "start": {
                                "line": 535,
                                "column": 12
                              },
                              "end": {
                                "line": 535,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add 'pixelSizes' property (list of sizes)",
                          "start": 19394,
                          "end": 19438,
                          "loc": {
                            "start": {
                              "line": 538,
                              "column": 8
                            },
                            "end": {
                              "line": 538,
                              "column": 52
                            }
                          },
                          "range": [
                            19394,
                            19438
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 19447,
                      "end": 19481,
                      "loc": {
                        "start": {
                          "line": 539,
                          "column": 8
                        },
                        "end": {
                          "line": 539,
                          "column": 42
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 19451,
                        "end": 19462,
                        "loc": {
                          "start": {
                            "line": 539,
                            "column": 12
                          },
                          "end": {
                            "line": 539,
                            "column": 23
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 19452,
                          "end": 19462,
                          "loc": {
                            "start": {
                              "line": 539,
                              "column": 13
                            },
                            "end": {
                              "line": 539,
                              "column": 23
                            }
                          },
                          "name": "pixelSizes",
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 19464,
                        "end": 19481,
                        "loc": {
                          "start": {
                            "line": 539,
                            "column": 25
                          },
                          "end": {
                            "line": 539,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 19464,
                          "end": 19480,
                          "loc": {
                            "start": {
                              "line": 539,
                              "column": 25
                            },
                            "end": {
                              "line": 539,
                              "column": 41
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 19464,
                            "end": 19474,
                            "loc": {
                              "start": {
                                "line": 539,
                                "column": 25
                              },
                              "end": {
                                "line": 539,
                                "column": 35
                              }
                            },
                            "name": "pixelSizes"
                          },
                          "right": {
                            "type": "Literal",
                            "start": 19477,
                            "end": 19480,
                            "loc": {
                              "start": {
                                "line": 539,
                                "column": 38
                              },
                              "end": {
                                "line": 539,
                                "column": 41
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1.0"
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add 'pixelSizes' property (list of sizes)",
                          "start": 19394,
                          "end": 19438,
                          "loc": {
                            "start": {
                              "line": 538,
                              "column": 8
                            },
                            "end": {
                              "line": 538,
                              "column": 52
                            }
                          },
                          "range": [
                            19394,
                            19438
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19490,
                      "end": 19530,
                      "loc": {
                        "start": {
                          "line": 540,
                          "column": 8
                        },
                        "end": {
                          "line": 540,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 19490,
                        "end": 19529,
                        "loc": {
                          "start": {
                            "line": 540,
                            "column": 8
                          },
                          "end": {
                            "line": 540,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 19490,
                          "end": 19505,
                          "loc": {
                            "start": {
                              "line": 540,
                              "column": 8
                            },
                            "end": {
                              "line": 540,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19490,
                            "end": 19494,
                            "loc": {
                              "start": {
                                "line": 540,
                                "column": 8
                              },
                              "end": {
                                "line": 540,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19495,
                            "end": 19505,
                            "loc": {
                              "start": {
                                "line": 540,
                                "column": 13
                              },
                              "end": {
                                "line": 540,
                                "column": 23
                              }
                            },
                            "name": "pixelSizes"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 19508,
                          "end": 19529,
                          "loc": {
                            "start": {
                              "line": 540,
                              "column": 26
                            },
                            "end": {
                              "line": 540,
                              "column": 47
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 19508,
                            "end": 19517,
                            "loc": {
                              "start": {
                                "line": 540,
                                "column": 26
                              },
                              "end": {
                                "line": 540,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 19508,
                              "end": 19510,
                              "loc": {
                                "start": {
                                  "line": 540,
                                  "column": 26
                                },
                                "end": {
                                  "line": 540,
                                  "column": 28
                                }
                              },
                              "elements": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19511,
                              "end": 19517,
                              "loc": {
                                "start": {
                                  "line": 540,
                                  "column": 29
                                },
                                "end": {
                                  "line": 540,
                                  "column": 35
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 19518,
                              "end": 19528,
                              "loc": {
                                "start": {
                                  "line": 540,
                                  "column": 36
                                },
                                "end": {
                                  "line": 540,
                                  "column": 46
                                }
                              },
                              "name": "pixelSizes"
                            }
                          ]
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add trivial method implementation (if missing)",
                          "start": 19540,
                          "end": 19589,
                          "loc": {
                            "start": {
                              "line": 542,
                              "column": 8
                            },
                            "end": {
                              "line": 542,
                              "column": 57
                            }
                          },
                          "range": [
                            19540,
                            19589
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 19598,
                      "end": 19702,
                      "loc": {
                        "start": {
                          "line": 543,
                          "column": 8
                        },
                        "end": {
                          "line": 544,
                          "column": 78
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 19602,
                        "end": 19622,
                        "loc": {
                          "start": {
                            "line": 543,
                            "column": 12
                          },
                          "end": {
                            "line": 543,
                            "column": 32
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 19603,
                          "end": 19622,
                          "loc": {
                            "start": {
                              "line": 543,
                              "column": 13
                            },
                            "end": {
                              "line": 543,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19603,
                            "end": 19607,
                            "loc": {
                              "start": {
                                "line": 543,
                                "column": 13
                              },
                              "end": {
                                "line": 543,
                                "column": 17
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19608,
                            "end": 19622,
                            "loc": {
                              "start": {
                                "line": 543,
                                "column": 18
                              },
                              "end": {
                                "line": 543,
                                "column": 32
                              }
                            },
                            "name": "getSizingPoint"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 19636,
                        "end": 19702,
                        "loc": {
                          "start": {
                            "line": 544,
                            "column": 12
                          },
                          "end": {
                            "line": 544,
                            "column": 78
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 19636,
                          "end": 19701,
                          "loc": {
                            "start": {
                              "line": 544,
                              "column": 12
                            },
                            "end": {
                              "line": 544,
                              "column": 77
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 19636,
                            "end": 19655,
                            "loc": {
                              "start": {
                                "line": 544,
                                "column": 12
                              },
                              "end": {
                                "line": 544,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19636,
                              "end": 19640,
                              "loc": {
                                "start": {
                                  "line": 544,
                                  "column": 12
                                },
                                "end": {
                                  "line": 544,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19641,
                              "end": 19655,
                              "loc": {
                                "start": {
                                  "line": 544,
                                  "column": 17
                                },
                                "end": {
                                  "line": 544,
                                  "column": 31
                                }
                              },
                              "name": "getSizingPoint"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "FunctionExpression",
                            "start": 19658,
                            "end": 19701,
                            "loc": {
                              "start": {
                                "line": 544,
                                "column": 34
                              },
                              "end": {
                                "line": 544,
                                "column": 77
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "BlockStatement",
                              "start": 19670,
                              "end": 19701,
                              "loc": {
                                "start": {
                                  "line": 544,
                                  "column": 46
                                },
                                "end": {
                                  "line": 544,
                                  "column": 77
                                }
                              },
                              "body": [
                                {
                                  "type": "ReturnStatement",
                                  "start": 19672,
                                  "end": 19699,
                                  "loc": {
                                    "start": {
                                      "line": 544,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 544,
                                      "column": 75
                                    }
                                  },
                                  "argument": {
                                    "type": "NewExpression",
                                    "start": 19679,
                                    "end": 19698,
                                    "loc": {
                                      "start": {
                                        "line": 544,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 544,
                                        "column": 74
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 19683,
                                      "end": 19696,
                                      "loc": {
                                        "start": {
                                          "line": 544,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 544,
                                          "column": 72
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 19683,
                                        "end": 19688,
                                        "loc": {
                                          "start": {
                                            "line": 544,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 544,
                                            "column": 64
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 19689,
                                        "end": 19696,
                                        "loc": {
                                          "start": {
                                            "line": 544,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 544,
                                            "column": 72
                                          }
                                        },
                                        "name": "Vector3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              ]
                            }
                          }
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add trivial method implementation (if missing)",
                          "start": 19540,
                          "end": 19589,
                          "loc": {
                            "start": {
                              "line": 542,
                              "column": 8
                            },
                            "end": {
                              "line": 542,
                              "column": 57
                            }
                          },
                          "range": [
                            19540,
                            19589
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add the main method which updates geometrical sizes",
                          "start": 19712,
                          "end": 19766,
                          "loc": {
                            "start": {
                              "line": 546,
                              "column": 8
                            },
                            "end": {
                              "line": 546,
                              "column": 62
                            }
                          },
                          "range": [
                            19712,
                            19766
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19775,
                      "end": 20213,
                      "loc": {
                        "start": {
                          "line": 547,
                          "column": 8
                        },
                        "end": {
                          "line": 555,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 19775,
                        "end": 20212,
                        "loc": {
                          "start": {
                            "line": 547,
                            "column": 8
                          },
                          "end": {
                            "line": 555,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 19775,
                          "end": 19791,
                          "loc": {
                            "start": {
                              "line": 547,
                              "column": 8
                            },
                            "end": {
                              "line": 547,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19775,
                            "end": 19779,
                            "loc": {
                              "start": {
                                "line": 547,
                                "column": 8
                              },
                              "end": {
                                "line": 547,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19780,
                            "end": 19791,
                            "loc": {
                              "start": {
                                "line": 547,
                                "column": 13
                              },
                              "end": {
                                "line": 547,
                                "column": 24
                              }
                            },
                            "name": "updateSizes"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 19794,
                          "end": 20212,
                          "loc": {
                            "start": {
                              "line": 547,
                              "column": 27
                            },
                            "end": {
                              "line": 555,
                              "column": 9
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 19803,
                              "end": 19807,
                              "loc": {
                                "start": {
                                  "line": 547,
                                  "column": 36
                                },
                                "end": {
                                  "line": 547,
                                  "column": 40
                                }
                              },
                              "name": "view"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 19809,
                            "end": 20212,
                            "loc": {
                              "start": {
                                "line": 547,
                                "column": 42
                              },
                              "end": {
                                "line": 555,
                                "column": 9
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 19823,
                                "end": 19855,
                                "loc": {
                                  "start": {
                                    "line": 548,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 548,
                                    "column": 44
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 19827,
                                    "end": 19854,
                                    "loc": {
                                      "start": {
                                        "line": 548,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 548,
                                        "column": 43
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 19827,
                                      "end": 19830,
                                      "loc": {
                                        "start": {
                                          "line": 548,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 548,
                                          "column": 19
                                        }
                                      },
                                      "name": "pos"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 19833,
                                      "end": 19854,
                                      "loc": {
                                        "start": {
                                          "line": 548,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 548,
                                          "column": 43
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 19833,
                                        "end": 19852,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 19833,
                                          "end": 19837,
                                          "loc": {
                                            "start": {
                                              "line": 548,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 548,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 19838,
                                          "end": 19852,
                                          "loc": {
                                            "start": {
                                              "line": 548,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 548,
                                              "column": 41
                                            }
                                          },
                                          "name": "getSizingPoint"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 19868,
                                "end": 19924,
                                "loc": {
                                  "start": {
                                    "line": 549,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 549,
                                    "column": 68
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 19872,
                                    "end": 19923,
                                    "loc": {
                                      "start": {
                                        "line": 549,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 549,
                                        "column": 67
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 19872,
                                      "end": 19875,
                                      "loc": {
                                        "start": {
                                          "line": 549,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 549,
                                          "column": 19
                                        }
                                      },
                                      "name": "scr"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 19878,
                                      "end": 19923,
                                      "loc": {
                                        "start": {
                                          "line": 549,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 549,
                                          "column": 67
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 19878,
                                        "end": 19900,
                                        "loc": {
                                          "start": {
                                            "line": 549,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 549,
                                            "column": 44
                                          }
                                        },
                                        "name": "transformWorldToScreen"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 19901,
                                          "end": 19905,
                                          "loc": {
                                            "start": {
                                              "line": 549,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 549,
                                              "column": 49
                                            }
                                          },
                                          "name": "view"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 19907,
                                          "end": 19910,
                                          "loc": {
                                            "start": {
                                              "line": 549,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 549,
                                              "column": 54
                                            }
                                          },
                                          "name": "pos"
                                        },
                                        {
                                          "type": "ThisExpression",
                                          "start": 19912,
                                          "end": 19916,
                                          "loc": {
                                            "start": {
                                              "line": 549,
                                              "column": 56
                                            },
                                            "end": {
                                              "line": 549,
                                              "column": 60
                                            }
                                          }
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 19918,
                                          "end": 19922,
                                          "loc": {
                                            "start": {
                                              "line": 549,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 549,
                                              "column": 66
                                            }
                                          },
                                          "value": true,
                                          "rawValue": true,
                                          "raw": "true"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 19937,
                                "end": 19999,
                                "loc": {
                                  "start": {
                                    "line": 550,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 550,
                                    "column": 74
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 19941,
                                    "end": 19998,
                                    "loc": {
                                      "start": {
                                        "line": 550,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 550,
                                        "column": 73
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 19941,
                                      "end": 19946,
                                      "loc": {
                                        "start": {
                                          "line": 550,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 550,
                                          "column": 21
                                        }
                                      },
                                      "name": "coeff"
                                    },
                                    "init": {
                                      "type": "BinaryExpression",
                                      "start": 19949,
                                      "end": 19998,
                                      "loc": {
                                        "start": {
                                          "line": 550,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 550,
                                          "column": 73
                                        }
                                      },
                                      "left": {
                                        "type": "Literal",
                                        "start": 19949,
                                        "end": 19952,
                                        "loc": {
                                          "start": {
                                            "line": 550,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 550,
                                            "column": 27
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1.0"
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 19955,
                                        "end": 19998,
                                        "loc": {
                                          "start": {
                                            "line": 550,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 550,
                                            "column": 73
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 19955,
                                          "end": 19993,
                                          "loc": {
                                            "start": {
                                              "line": 550,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 550,
                                              "column": 68
                                            }
                                          },
                                          "name": "calculateWorldToScreenRadiusMultiplier"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 19994,
                                            "end": 19997,
                                            "loc": {
                                              "start": {
                                                "line": 550,
                                                "column": 69
                                              },
                                              "end": {
                                                "line": 550,
                                                "column": 72
                                              }
                                            },
                                            "name": "scr"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 20012,
                                "end": 20049,
                                "loc": {
                                  "start": {
                                    "line": 551,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 551,
                                    "column": 49
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 20016,
                                    "end": 20048,
                                    "loc": {
                                      "start": {
                                        "line": 551,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 551,
                                        "column": 48
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 20016,
                                      "end": 20021,
                                      "loc": {
                                        "start": {
                                          "line": 551,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 551,
                                          "column": 21
                                        }
                                      },
                                      "name": "sizes"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 20024,
                                      "end": 20048,
                                      "loc": {
                                        "start": {
                                          "line": 551,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 551,
                                          "column": 48
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 20024,
                                        "end": 20045,
                                        "loc": {
                                          "start": {
                                            "line": 551,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 551,
                                            "column": 45
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 20024,
                                          "end": 20039,
                                          "loc": {
                                            "start": {
                                              "line": 551,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 551,
                                              "column": 39
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 20024,
                                            "end": 20028,
                                            "loc": {
                                              "start": {
                                                "line": 551,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 551,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20029,
                                            "end": 20039,
                                            "loc": {
                                              "start": {
                                                "line": 551,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 551,
                                                "column": 39
                                              }
                                            },
                                            "name": "pixelSizes"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 20040,
                                          "end": 20045,
                                          "loc": {
                                            "start": {
                                              "line": 551,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 551,
                                              "column": 45
                                            }
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 20046,
                                          "end": 20047,
                                          "loc": {
                                            "start": {
                                              "line": 551,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 551,
                                              "column": 47
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "var",
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": "aka clone",
                                    "start": 20050,
                                    "end": 20061,
                                    "loc": {
                                      "start": {
                                        "line": 551,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 551,
                                        "column": 61
                                      }
                                    },
                                    "range": [
                                      20050,
                                      20061
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ForStatement",
                                "start": 20074,
                                "end": 20164,
                                "loc": {
                                  "start": {
                                    "line": 552,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 553,
                                    "column": 44
                                  }
                                },
                                "init": {
                                  "type": "VariableDeclaration",
                                  "start": 20079,
                                  "end": 20106,
                                  "loc": {
                                    "start": {
                                      "line": 552,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 552,
                                      "column": 44
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 20083,
                                      "end": 20088,
                                      "loc": {
                                        "start": {
                                          "line": 552,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 552,
                                          "column": 26
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 20083,
                                        "end": 20084,
                                        "loc": {
                                          "start": {
                                            "line": 552,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 552,
                                            "column": 22
                                          }
                                        },
                                        "name": "i",
                                        "leadingComments": null
                                      },
                                      "init": {
                                        "type": "Literal",
                                        "start": 20087,
                                        "end": 20088,
                                        "loc": {
                                          "start": {
                                            "line": 552,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 552,
                                            "column": 26
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "leadingComments": null
                                    },
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 20090,
                                      "end": 20106,
                                      "loc": {
                                        "start": {
                                          "line": 552,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 552,
                                          "column": 44
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 20090,
                                        "end": 20091,
                                        "loc": {
                                          "start": {
                                            "line": 552,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 552,
                                            "column": 29
                                          }
                                        },
                                        "name": "l"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 20094,
                                        "end": 20106,
                                        "loc": {
                                          "start": {
                                            "line": 552,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 552,
                                            "column": 44
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 20094,
                                          "end": 20099,
                                          "loc": {
                                            "start": {
                                              "line": 552,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 552,
                                              "column": 37
                                            }
                                          },
                                          "name": "sizes"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 20100,
                                          "end": 20106,
                                          "loc": {
                                            "start": {
                                              "line": 552,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 552,
                                              "column": 44
                                            }
                                          },
                                          "name": "length"
                                        },
                                        "computed": false
                                      }
                                    }
                                  ],
                                  "kind": "var",
                                  "leadingComments": null
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 20108,
                                  "end": 20113,
                                  "loc": {
                                    "start": {
                                      "line": 552,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 552,
                                      "column": 51
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 20108,
                                    "end": 20109,
                                    "loc": {
                                      "start": {
                                        "line": 552,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 552,
                                        "column": 47
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "operator": "<",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 20112,
                                    "end": 20113,
                                    "loc": {
                                      "start": {
                                        "line": 552,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 552,
                                        "column": 51
                                      }
                                    },
                                    "name": "l"
                                  }
                                },
                                "update": {
                                  "type": "UpdateExpression",
                                  "start": 20115,
                                  "end": 20118,
                                  "loc": {
                                    "start": {
                                      "line": 552,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 552,
                                      "column": 56
                                    }
                                  },
                                  "operator": "++",
                                  "prefix": false,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 20115,
                                    "end": 20116,
                                    "loc": {
                                      "start": {
                                        "line": 552,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 552,
                                        "column": 54
                                      }
                                    },
                                    "name": "i"
                                  }
                                },
                                "body": {
                                  "type": "ExpressionStatement",
                                  "start": 20136,
                                  "end": 20164,
                                  "loc": {
                                    "start": {
                                      "line": 553,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 553,
                                      "column": 44
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 20136,
                                    "end": 20163,
                                    "loc": {
                                      "start": {
                                        "line": 553,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 553,
                                        "column": 43
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 20136,
                                      "end": 20144,
                                      "loc": {
                                        "start": {
                                          "line": 553,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 553,
                                          "column": 24
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 20136,
                                        "end": 20141,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 21
                                          }
                                        },
                                        "name": "sizes"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 20142,
                                        "end": 20143,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 23
                                          }
                                        },
                                        "name": "i"
                                      },
                                      "computed": true
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 20147,
                                      "end": 20163,
                                      "loc": {
                                        "start": {
                                          "line": 553,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 553,
                                          "column": 43
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 20147,
                                        "end": 20155,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 20147,
                                          "end": 20152,
                                          "loc": {
                                            "start": {
                                              "line": 553,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 553,
                                              "column": 32
                                            }
                                          },
                                          "name": "sizes"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 20153,
                                          "end": 20154,
                                          "loc": {
                                            "start": {
                                              "line": 553,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 553,
                                              "column": 34
                                            }
                                          },
                                          "name": "i"
                                        },
                                        "computed": true
                                      },
                                      "operator": "*",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 20158,
                                        "end": 20163,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 43
                                          }
                                        },
                                        "name": "coeff"
                                      }
                                    }
                                  }
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": "aka clone",
                                    "start": 20050,
                                    "end": 20061,
                                    "loc": {
                                      "start": {
                                        "line": 551,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 551,
                                        "column": 61
                                      }
                                    },
                                    "range": [
                                      20050,
                                      20061
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 20177,
                                "end": 20202,
                                "loc": {
                                  "start": {
                                    "line": 554,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 554,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 20177,
                                  "end": 20201,
                                  "loc": {
                                    "start": {
                                      "line": 554,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 554,
                                      "column": 36
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 20177,
                                    "end": 20194,
                                    "loc": {
                                      "start": {
                                        "line": 554,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 554,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 20177,
                                      "end": 20181,
                                      "loc": {
                                        "start": {
                                          "line": 554,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 554,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 20182,
                                      "end": 20194,
                                      "loc": {
                                        "start": {
                                          "line": 554,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 554,
                                          "column": 29
                                        }
                                      },
                                      "name": "setGeomSizes"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 20195,
                                      "end": 20200,
                                      "loc": {
                                        "start": {
                                          "line": 554,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 554,
                                          "column": 35
                                        }
                                      },
                                      "name": "sizes"
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add the main method which updates geometrical sizes",
                          "start": 19712,
                          "end": 19766,
                          "loc": {
                            "start": {
                              "line": 546,
                              "column": 8
                            },
                            "end": {
                              "line": 546,
                              "column": 62
                            }
                          },
                          "range": [
                            19712,
                            19766
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * A mixin which adds capability of specifying sizes in screen pixels.\n     * All sizes are kept in a single list 'pixelSizes'.\n     * Method 'updateSizes' is added: it should be called by user when camera/size changes.\n     * It passes geometrical sizes (in local object space) to method 'setGeomSizes'.\n     * If 'getSizingPoint' method is present in class, it is called to get\n     * calibrating position in local space of the object (otherwise origin is used).\n     ",
                  "start": 18570,
                  "end": 19050,
                  "loc": {
                    "start": {
                      "line": 520,
                      "column": 4
                    },
                    "end": {
                      "line": 527,
                      "column": 7
                    }
                  },
                  "range": [
                    18570,
                    19050
                  ]
                }
              ]
            }
          ],
          "trailingComments": null
        },
        "trailingComments": [
          {
            "type": "Block",
            "value": "\n * Transforms world coordinates into screen coordinates (possibly with derivatives).\n * Screen coordinates are relative to view region, given in pixels. (todo: more precisely?)\n * If 'localToWorld' parameter is an Object3D, then input coordinates are considered in its local space.\n * If 'withDerivs' parameter is set, then derivatives are calculated and returned.\n * @return object/dict with following members:\n *   position: Vector2 containing x and y coordinates of the 'position' point\n *   derivatives: list of three THREE.Vector2 components, showing\n *                how each input coordinate (x, y, z) influences output position on screen\n ",
            "start": 20223,
            "end": 20876,
            "loc": {
              "start": {
                "line": 559,
                "column": 0
              },
              "end": {
                "line": 568,
                "column": 3
              }
            },
            "range": [
              20223,
              20876
            ]
          }
        ],
        "leadingComments": []
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\n * Transforms world coordinates into screen coordinates (possibly with derivatives).\n * Screen coordinates are relative to view region, given in pixels. (todo: more precisely?)\n * If 'localToWorld' parameter is an Object3D, then input coordinates are considered in its local space.\n * If 'withDerivs' parameter is set, then derivatives are calculated and returned.\n * @return object/dict with following members:\n *   position: Vector2 containing x and y coordinates of the 'position' point\n *   derivatives: list of three THREE.Vector2 components, showing\n *                how each input coordinate (x, y, z) influences output position on screen\n ",
          "start": 20223,
          "end": 20876,
          "loc": {
            "start": {
              "line": 559,
              "column": 0
            },
            "end": {
              "line": 568,
              "column": 3
            }
          },
          "range": [
            20223,
            20876
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 20877,
      "end": 23478,
      "loc": {
        "start": {
          "line": 569,
          "column": 0
        },
        "end": {
          "line": 627,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 20886,
        "end": 20908,
        "loc": {
          "start": {
            "line": 569,
            "column": 9
          },
          "end": {
            "line": 569,
            "column": 31
          }
        },
        "name": "transformWorldToScreen",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 20909,
          "end": 20913,
          "loc": {
            "start": {
              "line": 569,
              "column": 32
            },
            "end": {
              "line": 569,
              "column": 36
            }
          },
          "name": "view"
        },
        {
          "type": "Identifier",
          "start": 20915,
          "end": 20923,
          "loc": {
            "start": {
              "line": 569,
              "column": 38
            },
            "end": {
              "line": 569,
              "column": 46
            }
          },
          "name": "position"
        },
        {
          "type": "Identifier",
          "start": 20925,
          "end": 20937,
          "loc": {
            "start": {
              "line": 569,
              "column": 48
            },
            "end": {
              "line": 569,
              "column": 60
            }
          },
          "name": "localToWorld"
        },
        {
          "type": "Identifier",
          "start": 20939,
          "end": 20949,
          "loc": {
            "start": {
              "line": 569,
              "column": 62
            },
            "end": {
              "line": 569,
              "column": 72
            }
          },
          "name": "withDerivs"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 20951,
        "end": 23478,
        "loc": {
          "start": {
            "line": 569,
            "column": 74
          },
          "end": {
            "line": 627,
            "column": 1
          }
        },
        "body": [
          {
            "type": "IfStatement",
            "start": 21018,
            "end": 21160,
            "loc": {
              "start": {
                "line": 571,
                "column": 4
              },
              "end": {
                "line": 574,
                "column": 5
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 21022,
              "end": 21060,
              "loc": {
                "start": {
                  "line": 571,
                  "column": 8
                },
                "end": {
                  "line": 571,
                  "column": 46
                }
              },
              "left": {
                "type": "Identifier",
                "start": 21022,
                "end": 21034,
                "loc": {
                  "start": {
                    "line": 571,
                    "column": 8
                  },
                  "end": {
                    "line": 571,
                    "column": 20
                  }
                },
                "name": "localToWorld",
                "leadingComments": null
              },
              "operator": "instanceof",
              "right": {
                "type": "MemberExpression",
                "start": 21046,
                "end": 21060,
                "loc": {
                  "start": {
                    "line": 571,
                    "column": 32
                  },
                  "end": {
                    "line": 571,
                    "column": 46
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 21046,
                  "end": 21051,
                  "loc": {
                    "start": {
                      "line": 571,
                      "column": 32
                    },
                    "end": {
                      "line": 571,
                      "column": 37
                    }
                  },
                  "name": "THREE"
                },
                "property": {
                  "type": "Identifier",
                  "start": 21052,
                  "end": 21060,
                  "loc": {
                    "start": {
                      "line": 571,
                      "column": 38
                    },
                    "end": {
                      "line": 571,
                      "column": 46
                    }
                  },
                  "name": "Object3D"
                },
                "computed": false
              },
              "leadingComments": null
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 21062,
              "end": 21160,
              "loc": {
                "start": {
                  "line": 571,
                  "column": 48
                },
                "end": {
                  "line": 574,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "ExpressionStatement",
                  "start": 21072,
                  "end": 21105,
                  "loc": {
                    "start": {
                      "line": 572,
                      "column": 8
                    },
                    "end": {
                      "line": 572,
                      "column": 41
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 21072,
                    "end": 21104,
                    "loc": {
                      "start": {
                        "line": 572,
                        "column": 8
                      },
                      "end": {
                        "line": 572,
                        "column": 40
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 21072,
                      "end": 21102,
                      "loc": {
                        "start": {
                          "line": 572,
                          "column": 8
                        },
                        "end": {
                          "line": 572,
                          "column": 38
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 21072,
                        "end": 21084,
                        "loc": {
                          "start": {
                            "line": 572,
                            "column": 8
                          },
                          "end": {
                            "line": 572,
                            "column": 20
                          }
                        },
                        "name": "localToWorld"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 21085,
                        "end": 21102,
                        "loc": {
                          "start": {
                            "line": 572,
                            "column": 21
                          },
                          "end": {
                            "line": 572,
                            "column": 38
                          }
                        },
                        "name": "updateMatrixWorld"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 21114,
                  "end": 21154,
                  "loc": {
                    "start": {
                      "line": 573,
                      "column": 8
                    },
                    "end": {
                      "line": 573,
                      "column": 48
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 21114,
                    "end": 21153,
                    "loc": {
                      "start": {
                        "line": 573,
                        "column": 8
                      },
                      "end": {
                        "line": 573,
                        "column": 47
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 21114,
                      "end": 21126,
                      "loc": {
                        "start": {
                          "line": 573,
                          "column": 8
                        },
                        "end": {
                          "line": 573,
                          "column": 20
                        }
                      },
                      "name": "localToWorld"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 21129,
                      "end": 21153,
                      "loc": {
                        "start": {
                          "line": 573,
                          "column": 23
                        },
                        "end": {
                          "line": 573,
                          "column": 47
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 21129,
                        "end": 21141,
                        "loc": {
                          "start": {
                            "line": 573,
                            "column": 23
                          },
                          "end": {
                            "line": 573,
                            "column": 35
                          }
                        },
                        "name": "localToWorld"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 21142,
                        "end": 21153,
                        "loc": {
                          "start": {
                            "line": 573,
                            "column": 36
                          },
                          "end": {
                            "line": 573,
                            "column": 47
                          }
                        },
                        "name": "matrixWorld"
                      },
                      "computed": false
                    }
                  }
                }
              ]
            },
            "alternate": null,
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " extract local->world transformation used for position",
                "start": 20957,
                "end": 21013,
                "loc": {
                  "start": {
                    "line": 570,
                    "column": 4
                  },
                  "end": {
                    "line": 570,
                    "column": 60
                  }
                },
                "range": [
                  20957,
                  21013
                ]
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 21165,
            "end": 21254,
            "loc": {
              "start": {
                "line": 575,
                "column": 4
              },
              "end": {
                "line": 576,
                "column": 43
              }
            },
            "test": {
              "type": "UnaryExpression",
              "start": 21169,
              "end": 21209,
              "loc": {
                "start": {
                  "line": 575,
                  "column": 8
                },
                "end": {
                  "line": 575,
                  "column": 48
                }
              },
              "operator": "!",
              "prefix": true,
              "argument": {
                "type": "BinaryExpression",
                "start": 21171,
                "end": 21208,
                "loc": {
                  "start": {
                    "line": 575,
                    "column": 10
                  },
                  "end": {
                    "line": 575,
                    "column": 47
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 21171,
                  "end": 21183,
                  "loc": {
                    "start": {
                      "line": 575,
                      "column": 10
                    },
                    "end": {
                      "line": 575,
                      "column": 22
                    }
                  },
                  "name": "localToWorld"
                },
                "operator": "instanceof",
                "right": {
                  "type": "MemberExpression",
                  "start": 21195,
                  "end": 21208,
                  "loc": {
                    "start": {
                      "line": 575,
                      "column": 34
                    },
                    "end": {
                      "line": 575,
                      "column": 47
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 21195,
                    "end": 21200,
                    "loc": {
                      "start": {
                        "line": 575,
                        "column": 34
                      },
                      "end": {
                        "line": 575,
                        "column": 39
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 21201,
                    "end": 21208,
                    "loc": {
                      "start": {
                        "line": 575,
                        "column": 40
                      },
                      "end": {
                        "line": 575,
                        "column": 47
                      }
                    },
                    "name": "Matrix4"
                  },
                  "computed": false
                },
                "parenthesizedExpression": true
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 21219,
              "end": 21254,
              "loc": {
                "start": {
                  "line": 576,
                  "column": 8
                },
                "end": {
                  "line": 576,
                  "column": 43
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 21219,
                "end": 21253,
                "loc": {
                  "start": {
                    "line": 576,
                    "column": 8
                  },
                  "end": {
                    "line": 576,
                    "column": 42
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 21219,
                  "end": 21231,
                  "loc": {
                    "start": {
                      "line": 576,
                      "column": 8
                    },
                    "end": {
                      "line": 576,
                      "column": 20
                    }
                  },
                  "name": "localToWorld"
                },
                "right": {
                  "type": "NewExpression",
                  "start": 21234,
                  "end": 21253,
                  "loc": {
                    "start": {
                      "line": 576,
                      "column": 23
                    },
                    "end": {
                      "line": 576,
                      "column": 42
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 21238,
                    "end": 21251,
                    "loc": {
                      "start": {
                        "line": 576,
                        "column": 27
                      },
                      "end": {
                        "line": 576,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21238,
                      "end": 21243,
                      "loc": {
                        "start": {
                          "line": 576,
                          "column": 27
                        },
                        "end": {
                          "line": 576,
                          "column": 32
                        }
                      },
                      "name": "THREE"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21244,
                      "end": 21251,
                      "loc": {
                        "start": {
                          "line": 576,
                          "column": 33
                        },
                        "end": {
                          "line": 576,
                          "column": 40
                        }
                      },
                      "name": "Matrix4"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              },
              "trailingComments": null
            },
            "alternate": null,
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " extract and compose transformation: input coordinates -> clip coordinates",
                "start": 21260,
                "end": 21336,
                "loc": {
                  "start": {
                    "line": 578,
                    "column": 4
                  },
                  "end": {
                    "line": 578,
                    "column": 80
                  }
                },
                "range": [
                  21260,
                  21336
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 21341,
            "end": 21373,
            "loc": {
              "start": {
                "line": 579,
                "column": 4
              },
              "end": {
                "line": 579,
                "column": 36
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 21341,
              "end": 21372,
              "loc": {
                "start": {
                  "line": 579,
                  "column": 4
                },
                "end": {
                  "line": 579,
                  "column": 35
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 21341,
                "end": 21370,
                "loc": {
                  "start": {
                    "line": 579,
                    "column": 4
                  },
                  "end": {
                    "line": 579,
                    "column": 33
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 21341,
                  "end": 21352,
                  "loc": {
                    "start": {
                      "line": 579,
                      "column": 4
                    },
                    "end": {
                      "line": 579,
                      "column": 15
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 21341,
                    "end": 21345,
                    "loc": {
                      "start": {
                        "line": 579,
                        "column": 4
                      },
                      "end": {
                        "line": 579,
                        "column": 8
                      }
                    },
                    "name": "view",
                    "leadingComments": null
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 21346,
                    "end": 21352,
                    "loc": {
                      "start": {
                        "line": 579,
                        "column": 9
                      },
                      "end": {
                        "line": 579,
                        "column": 15
                      }
                    },
                    "name": "camera"
                  },
                  "computed": false,
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 21353,
                  "end": 21370,
                  "loc": {
                    "start": {
                      "line": 579,
                      "column": 16
                    },
                    "end": {
                      "line": 579,
                      "column": 33
                    }
                  },
                  "name": "updateMatrixWorld"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " extract and compose transformation: input coordinates -> clip coordinates",
                "start": 21260,
                "end": 21336,
                "loc": {
                  "start": {
                    "line": 578,
                    "column": 4
                  },
                  "end": {
                    "line": 578,
                    "column": 80
                  }
                },
                "range": [
                  21260,
                  21336
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 21378,
            "end": 21411,
            "loc": {
              "start": {
                "line": 580,
                "column": 4
              },
              "end": {
                "line": 580,
                "column": 37
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 21382,
                "end": 21410,
                "loc": {
                  "start": {
                    "line": 580,
                    "column": 8
                  },
                  "end": {
                    "line": 580,
                    "column": 36
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 21382,
                  "end": 21388,
                  "loc": {
                    "start": {
                      "line": 580,
                      "column": 8
                    },
                    "end": {
                      "line": 580,
                      "column": 14
                    }
                  },
                  "name": "matrix"
                },
                "init": {
                  "type": "NewExpression",
                  "start": 21391,
                  "end": 21410,
                  "loc": {
                    "start": {
                      "line": 580,
                      "column": 17
                    },
                    "end": {
                      "line": 580,
                      "column": 36
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 21395,
                    "end": 21408,
                    "loc": {
                      "start": {
                        "line": 580,
                        "column": 21
                      },
                      "end": {
                        "line": 580,
                        "column": 34
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21395,
                      "end": 21400,
                      "loc": {
                        "start": {
                          "line": 580,
                          "column": 21
                        },
                        "end": {
                          "line": 580,
                          "column": 26
                        }
                      },
                      "name": "THREE"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21401,
                      "end": 21408,
                      "loc": {
                        "start": {
                          "line": 580,
                          "column": 27
                        },
                        "end": {
                          "line": 580,
                          "column": 34
                        }
                      },
                      "name": "Matrix4"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 21416,
            "end": 21459,
            "loc": {
              "start": {
                "line": 581,
                "column": 4
              },
              "end": {
                "line": 581,
                "column": 47
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 21416,
              "end": 21458,
              "loc": {
                "start": {
                  "line": 581,
                  "column": 4
                },
                "end": {
                  "line": 581,
                  "column": 46
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 21416,
                "end": 21433,
                "loc": {
                  "start": {
                    "line": 581,
                    "column": 4
                  },
                  "end": {
                    "line": 581,
                    "column": 21
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 21416,
                  "end": 21422,
                  "loc": {
                    "start": {
                      "line": 581,
                      "column": 4
                    },
                    "end": {
                      "line": 581,
                      "column": 10
                    }
                  },
                  "name": "matrix"
                },
                "property": {
                  "type": "Identifier",
                  "start": 21423,
                  "end": 21433,
                  "loc": {
                    "start": {
                      "line": 581,
                      "column": 11
                    },
                    "end": {
                      "line": 581,
                      "column": 21
                    }
                  },
                  "name": "getInverse"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "MemberExpression",
                  "start": 21434,
                  "end": 21457,
                  "loc": {
                    "start": {
                      "line": 581,
                      "column": 22
                    },
                    "end": {
                      "line": 581,
                      "column": 45
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 21434,
                    "end": 21445,
                    "loc": {
                      "start": {
                        "line": 581,
                        "column": 22
                      },
                      "end": {
                        "line": 581,
                        "column": 33
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21434,
                      "end": 21438,
                      "loc": {
                        "start": {
                          "line": 581,
                          "column": 22
                        },
                        "end": {
                          "line": 581,
                          "column": 26
                        }
                      },
                      "name": "view"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21439,
                      "end": 21445,
                      "loc": {
                        "start": {
                          "line": 581,
                          "column": 27
                        },
                        "end": {
                          "line": 581,
                          "column": 33
                        }
                      },
                      "name": "camera"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 21446,
                    "end": 21457,
                    "loc": {
                      "start": {
                        "line": 581,
                        "column": 34
                      },
                      "end": {
                        "line": 581,
                        "column": 45
                      }
                    },
                    "name": "matrixWorld"
                  },
                  "computed": false
                }
              ]
            },
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "modelview",
                "start": 21484,
                "end": 21495,
                "loc": {
                  "start": {
                    "line": 581,
                    "column": 72
                  },
                  "end": {
                    "line": 581,
                    "column": 83
                  }
                },
                "range": [
                  21484,
                  21495
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 21500,
            "end": 21546,
            "loc": {
              "start": {
                "line": 582,
                "column": 4
              },
              "end": {
                "line": 582,
                "column": 50
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 21500,
              "end": 21545,
              "loc": {
                "start": {
                  "line": 582,
                  "column": 4
                },
                "end": {
                  "line": 582,
                  "column": 49
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 21500,
                "end": 21523,
                "loc": {
                  "start": {
                    "line": 582,
                    "column": 4
                  },
                  "end": {
                    "line": 582,
                    "column": 27
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 21500,
                  "end": 21506,
                  "loc": {
                    "start": {
                      "line": 582,
                      "column": 4
                    },
                    "end": {
                      "line": 582,
                      "column": 10
                    }
                  },
                  "name": "matrix",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 21507,
                  "end": 21523,
                  "loc": {
                    "start": {
                      "line": 582,
                      "column": 11
                    },
                    "end": {
                      "line": 582,
                      "column": 27
                    }
                  },
                  "name": "multiplyMatrices"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 21524,
                  "end": 21530,
                  "loc": {
                    "start": {
                      "line": 582,
                      "column": 28
                    },
                    "end": {
                      "line": 582,
                      "column": 34
                    }
                  },
                  "name": "matrix"
                },
                {
                  "type": "Identifier",
                  "start": 21532,
                  "end": 21544,
                  "loc": {
                    "start": {
                      "line": 582,
                      "column": 36
                    },
                    "end": {
                      "line": 582,
                      "column": 48
                    }
                  },
                  "name": "localToWorld"
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "modelview",
                "start": 21484,
                "end": 21495,
                "loc": {
                  "start": {
                    "line": 581,
                    "column": 72
                  },
                  "end": {
                    "line": 581,
                    "column": 83
                  }
                },
                "range": [
                  21484,
                  21495
                ]
              }
            ],
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "transform + modelview",
                "start": 21568,
                "end": 21591,
                "loc": {
                  "start": {
                    "line": 582,
                    "column": 72
                  },
                  "end": {
                    "line": 582,
                    "column": 95
                  }
                },
                "range": [
                  21568,
                  21591
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 21596,
            "end": 21658,
            "loc": {
              "start": {
                "line": 583,
                "column": 4
              },
              "end": {
                "line": 583,
                "column": 66
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 21596,
              "end": 21657,
              "loc": {
                "start": {
                  "line": 583,
                  "column": 4
                },
                "end": {
                  "line": 583,
                  "column": 65
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 21596,
                "end": 21619,
                "loc": {
                  "start": {
                    "line": 583,
                    "column": 4
                  },
                  "end": {
                    "line": 583,
                    "column": 27
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 21596,
                  "end": 21602,
                  "loc": {
                    "start": {
                      "line": 583,
                      "column": 4
                    },
                    "end": {
                      "line": 583,
                      "column": 10
                    }
                  },
                  "name": "matrix",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 21603,
                  "end": 21619,
                  "loc": {
                    "start": {
                      "line": 583,
                      "column": 11
                    },
                    "end": {
                      "line": 583,
                      "column": 27
                    }
                  },
                  "name": "multiplyMatrices"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "MemberExpression",
                  "start": 21620,
                  "end": 21648,
                  "loc": {
                    "start": {
                      "line": 583,
                      "column": 28
                    },
                    "end": {
                      "line": 583,
                      "column": 56
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 21620,
                    "end": 21631,
                    "loc": {
                      "start": {
                        "line": 583,
                        "column": 28
                      },
                      "end": {
                        "line": 583,
                        "column": 39
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21620,
                      "end": 21624,
                      "loc": {
                        "start": {
                          "line": 583,
                          "column": 28
                        },
                        "end": {
                          "line": 583,
                          "column": 32
                        }
                      },
                      "name": "view"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21625,
                      "end": 21631,
                      "loc": {
                        "start": {
                          "line": 583,
                          "column": 33
                        },
                        "end": {
                          "line": 583,
                          "column": 39
                        }
                      },
                      "name": "camera"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 21632,
                    "end": 21648,
                    "loc": {
                      "start": {
                        "line": 583,
                        "column": 40
                      },
                      "end": {
                        "line": 583,
                        "column": 56
                      }
                    },
                    "name": "projectionMatrix"
                  },
                  "computed": false
                },
                {
                  "type": "Identifier",
                  "start": 21650,
                  "end": 21656,
                  "loc": {
                    "start": {
                      "line": 583,
                      "column": 58
                    },
                    "end": {
                      "line": 583,
                      "column": 64
                    }
                  },
                  "name": "matrix"
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "transform + modelview",
                "start": 21568,
                "end": 21591,
                "loc": {
                  "start": {
                    "line": 582,
                    "column": 72
                  },
                  "end": {
                    "line": 582,
                    "column": 95
                  }
                },
                "range": [
                  21568,
                  21591
                ]
              }
            ],
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "tr + mv + prj",
                "start": 21664,
                "end": 21679,
                "loc": {
                  "start": {
                    "line": 583,
                    "column": 72
                  },
                  "end": {
                    "line": 583,
                    "column": 87
                  }
                },
                "range": [
                  21664,
                  21679
                ]
              },
              {
                "type": "CommentLine",
                "value": " calculate NDC coordinates",
                "start": 21685,
                "end": 21713,
                "loc": {
                  "start": {
                    "line": 585,
                    "column": 4
                  },
                  "end": {
                    "line": 585,
                    "column": 32
                  }
                },
                "range": [
                  21685,
                  21713
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 21718,
            "end": 21793,
            "loc": {
              "start": {
                "line": 586,
                "column": 4
              },
              "end": {
                "line": 586,
                "column": 79
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 21722,
                "end": 21792,
                "loc": {
                  "start": {
                    "line": 586,
                    "column": 8
                  },
                  "end": {
                    "line": 586,
                    "column": 78
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 21722,
                  "end": 21734,
                  "loc": {
                    "start": {
                      "line": 586,
                      "column": 8
                    },
                    "end": {
                      "line": 586,
                      "column": 20
                    }
                  },
                  "name": "clipPosition",
                  "leadingComments": null
                },
                "init": {
                  "type": "CallExpression",
                  "start": 21737,
                  "end": 21792,
                  "loc": {
                    "start": {
                      "line": 586,
                      "column": 23
                    },
                    "end": {
                      "line": 586,
                      "column": 78
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 21737,
                    "end": 21784,
                    "loc": {
                      "start": {
                        "line": 586,
                        "column": 23
                      },
                      "end": {
                        "line": 586,
                        "column": 70
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 21737,
                      "end": 21771,
                      "loc": {
                        "start": {
                          "line": 586,
                          "column": 23
                        },
                        "end": {
                          "line": 586,
                          "column": 57
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 21737,
                        "end": 21761,
                        "loc": {
                          "start": {
                            "line": 586,
                            "column": 23
                          },
                          "end": {
                            "line": 586,
                            "column": 47
                          }
                        },
                        "object": {
                          "type": "NewExpression",
                          "start": 21737,
                          "end": 21756,
                          "loc": {
                            "start": {
                              "line": 586,
                              "column": 23
                            },
                            "end": {
                              "line": 586,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 21741,
                            "end": 21754,
                            "loc": {
                              "start": {
                                "line": 586,
                                "column": 27
                              },
                              "end": {
                                "line": 586,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 21741,
                              "end": 21746,
                              "loc": {
                                "start": {
                                  "line": 586,
                                  "column": 27
                                },
                                "end": {
                                  "line": 586,
                                  "column": 32
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21747,
                              "end": 21754,
                              "loc": {
                                "start": {
                                  "line": 586,
                                  "column": 33
                                },
                                "end": {
                                  "line": 586,
                                  "column": 40
                                }
                              },
                              "name": "Vector4"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 21757,
                          "end": 21761,
                          "loc": {
                            "start": {
                              "line": 586,
                              "column": 43
                            },
                            "end": {
                              "line": 586,
                              "column": 47
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 21762,
                          "end": 21770,
                          "loc": {
                            "start": {
                              "line": 586,
                              "column": 48
                            },
                            "end": {
                              "line": 586,
                              "column": 56
                            }
                          },
                          "name": "position"
                        }
                      ]
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21772,
                      "end": 21784,
                      "loc": {
                        "start": {
                          "line": 586,
                          "column": 58
                        },
                        "end": {
                          "line": 586,
                          "column": 70
                        }
                      },
                      "name": "applyMatrix4"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 21785,
                      "end": 21791,
                      "loc": {
                        "start": {
                          "line": 586,
                          "column": 71
                        },
                        "end": {
                          "line": 586,
                          "column": 77
                        }
                      },
                      "name": "matrix"
                    }
                  ]
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "tr + mv + prj",
                "start": 21664,
                "end": 21679,
                "loc": {
                  "start": {
                    "line": 583,
                    "column": 72
                  },
                  "end": {
                    "line": 583,
                    "column": 87
                  }
                },
                "range": [
                  21664,
                  21679
                ]
              },
              {
                "type": "CommentLine",
                "value": " calculate NDC coordinates",
                "start": 21685,
                "end": 21713,
                "loc": {
                  "start": {
                    "line": 585,
                    "column": 4
                  },
                  "end": {
                    "line": 585,
                    "column": 32
                  }
                },
                "range": [
                  21685,
                  21713
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 21798,
            "end": 21830,
            "loc": {
              "start": {
                "line": 587,
                "column": 4
              },
              "end": {
                "line": 587,
                "column": 36
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 21802,
                "end": 21829,
                "loc": {
                  "start": {
                    "line": 587,
                    "column": 8
                  },
                  "end": {
                    "line": 587,
                    "column": 35
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 21802,
                  "end": 21806,
                  "loc": {
                    "start": {
                      "line": 587,
                      "column": 8
                    },
                    "end": {
                      "line": 587,
                      "column": 12
                    }
                  },
                  "name": "invW"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 21809,
                  "end": 21829,
                  "loc": {
                    "start": {
                      "line": 587,
                      "column": 15
                    },
                    "end": {
                      "line": 587,
                      "column": 35
                    }
                  },
                  "left": {
                    "type": "Literal",
                    "start": 21809,
                    "end": 21812,
                    "loc": {
                      "start": {
                        "line": 587,
                        "column": 15
                      },
                      "end": {
                        "line": 587,
                        "column": 18
                      }
                    },
                    "value": 1,
                    "rawValue": 1,
                    "raw": "1.0"
                  },
                  "operator": "/",
                  "right": {
                    "type": "MemberExpression",
                    "start": 21815,
                    "end": 21829,
                    "loc": {
                      "start": {
                        "line": 587,
                        "column": 21
                      },
                      "end": {
                        "line": 587,
                        "column": 35
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21815,
                      "end": 21827,
                      "loc": {
                        "start": {
                          "line": 587,
                          "column": 21
                        },
                        "end": {
                          "line": 587,
                          "column": 33
                        }
                      },
                      "name": "clipPosition"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21828,
                      "end": 21829,
                      "loc": {
                        "start": {
                          "line": 587,
                          "column": 34
                        },
                        "end": {
                          "line": 587,
                          "column": 35
                        }
                      },
                      "name": "w"
                    },
                    "computed": false
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 21835,
            "end": 21913,
            "loc": {
              "start": {
                "line": 588,
                "column": 4
              },
              "end": {
                "line": 588,
                "column": 82
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 21839,
                "end": 21912,
                "loc": {
                  "start": {
                    "line": 588,
                    "column": 8
                  },
                  "end": {
                    "line": 588,
                    "column": 81
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 21839,
                  "end": 21850,
                  "loc": {
                    "start": {
                      "line": 588,
                      "column": 8
                    },
                    "end": {
                      "line": 588,
                      "column": 19
                    }
                  },
                  "name": "ndcPosition"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 21853,
                  "end": 21912,
                  "loc": {
                    "start": {
                      "line": 588,
                      "column": 22
                    },
                    "end": {
                      "line": 588,
                      "column": 81
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 21853,
                    "end": 21906,
                    "loc": {
                      "start": {
                        "line": 588,
                        "column": 22
                      },
                      "end": {
                        "line": 588,
                        "column": 75
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 21853,
                      "end": 21891,
                      "loc": {
                        "start": {
                          "line": 588,
                          "column": 22
                        },
                        "end": {
                          "line": 588,
                          "column": 60
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 21853,
                        "end": 21877,
                        "loc": {
                          "start": {
                            "line": 588,
                            "column": 22
                          },
                          "end": {
                            "line": 588,
                            "column": 46
                          }
                        },
                        "object": {
                          "type": "NewExpression",
                          "start": 21853,
                          "end": 21872,
                          "loc": {
                            "start": {
                              "line": 588,
                              "column": 22
                            },
                            "end": {
                              "line": 588,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 21857,
                            "end": 21870,
                            "loc": {
                              "start": {
                                "line": 588,
                                "column": 26
                              },
                              "end": {
                                "line": 588,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 21857,
                              "end": 21862,
                              "loc": {
                                "start": {
                                  "line": 588,
                                  "column": 26
                                },
                                "end": {
                                  "line": 588,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21863,
                              "end": 21870,
                              "loc": {
                                "start": {
                                  "line": 588,
                                  "column": 32
                                },
                                "end": {
                                  "line": 588,
                                  "column": 39
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 21873,
                          "end": 21877,
                          "loc": {
                            "start": {
                              "line": 588,
                              "column": 42
                            },
                            "end": {
                              "line": 588,
                              "column": 46
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 21878,
                          "end": 21890,
                          "loc": {
                            "start": {
                              "line": 588,
                              "column": 47
                            },
                            "end": {
                              "line": 588,
                              "column": 59
                            }
                          },
                          "name": "clipPosition"
                        }
                      ]
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21892,
                      "end": 21906,
                      "loc": {
                        "start": {
                          "line": 588,
                          "column": 61
                        },
                        "end": {
                          "line": 588,
                          "column": 75
                        }
                      },
                      "name": "multiplyScalar"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 21907,
                      "end": 21911,
                      "loc": {
                        "start": {
                          "line": 588,
                          "column": 76
                        },
                        "end": {
                          "line": 588,
                          "column": 80
                        }
                      },
                      "name": "invW"
                    }
                  ]
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate NDC derivatives",
                "start": 21919,
                "end": 21947,
                "loc": {
                  "start": {
                    "line": 590,
                    "column": 4
                  },
                  "end": {
                    "line": 590,
                    "column": 32
                  }
                },
                "range": [
                  21919,
                  21947
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 21952,
            "end": 21988,
            "loc": {
              "start": {
                "line": 591,
                "column": 4
              },
              "end": {
                "line": 591,
                "column": 40
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 21956,
                "end": 21987,
                "loc": {
                  "start": {
                    "line": 591,
                    "column": 8
                  },
                  "end": {
                    "line": 591,
                    "column": 39
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 21956,
                  "end": 21965,
                  "loc": {
                    "start": {
                      "line": 591,
                      "column": 8
                    },
                    "end": {
                      "line": 591,
                      "column": 17
                    }
                  },
                  "name": "ndcDerivs",
                  "leadingComments": null
                },
                "init": {
                  "type": "NewExpression",
                  "start": 21968,
                  "end": 21987,
                  "loc": {
                    "start": {
                      "line": 591,
                      "column": 20
                    },
                    "end": {
                      "line": 591,
                      "column": 39
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 21972,
                    "end": 21985,
                    "loc": {
                      "start": {
                        "line": 591,
                        "column": 24
                      },
                      "end": {
                        "line": 591,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21972,
                      "end": 21977,
                      "loc": {
                        "start": {
                          "line": 591,
                          "column": 24
                        },
                        "end": {
                          "line": 591,
                          "column": 29
                        }
                      },
                      "name": "THREE"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21978,
                      "end": 21985,
                      "loc": {
                        "start": {
                          "line": 591,
                          "column": 30
                        },
                        "end": {
                          "line": 591,
                          "column": 37
                        }
                      },
                      "name": "Matrix4"
                    },
                    "computed": false
                  },
                  "arguments": []
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate NDC derivatives",
                "start": 21919,
                "end": 21947,
                "loc": {
                  "start": {
                    "line": 590,
                    "column": 4
                  },
                  "end": {
                    "line": 590,
                    "column": 32
                  }
                },
                "range": [
                  21919,
                  21947
                ]
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 21993,
            "end": 22531,
            "loc": {
              "start": {
                "line": 592,
                "column": 4
              },
              "end": {
                "line": 603,
                "column": 5
              }
            },
            "test": {
              "type": "Identifier",
              "start": 21997,
              "end": 22007,
              "loc": {
                "start": {
                  "line": 592,
                  "column": 8
                },
                "end": {
                  "line": 592,
                  "column": 18
                }
              },
              "name": "withDerivs"
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 22009,
              "end": 22531,
              "loc": {
                "start": {
                  "line": 592,
                  "column": 20
                },
                "end": {
                  "line": 603,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 22089,
                  "end": 22135,
                  "loc": {
                    "start": {
                      "line": 594,
                      "column": 8
                    },
                    "end": {
                      "line": 594,
                      "column": 54
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 22093,
                      "end": 22134,
                      "loc": {
                        "start": {
                          "line": 594,
                          "column": 12
                        },
                        "end": {
                          "line": 594,
                          "column": 53
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 22093,
                        "end": 22112,
                        "loc": {
                          "start": {
                            "line": 594,
                            "column": 12
                          },
                          "end": {
                            "line": 594,
                            "column": 31
                          }
                        },
                        "name": "normalizationMatrix",
                        "leadingComments": null
                      },
                      "init": {
                        "type": "NewExpression",
                        "start": 22115,
                        "end": 22134,
                        "loc": {
                          "start": {
                            "line": 594,
                            "column": 34
                          },
                          "end": {
                            "line": 594,
                            "column": 53
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22119,
                          "end": 22132,
                          "loc": {
                            "start": {
                              "line": 594,
                              "column": 38
                            },
                            "end": {
                              "line": 594,
                              "column": 51
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 22119,
                            "end": 22124,
                            "loc": {
                              "start": {
                                "line": 594,
                                "column": 38
                              },
                              "end": {
                                "line": 594,
                                "column": 43
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22125,
                            "end": 22132,
                            "loc": {
                              "start": {
                                "line": 594,
                                "column": 44
                              },
                              "end": {
                                "line": 594,
                                "column": 51
                              }
                            },
                            "name": "Matrix4"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "leadingComments": null
                    }
                  ],
                  "kind": "var",
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " calculate Jacobian matrix of normalization (division by W)",
                      "start": 22019,
                      "end": 22080,
                      "loc": {
                        "start": {
                          "line": 593,
                          "column": 8
                        },
                        "end": {
                          "line": 593,
                          "column": 69
                        }
                      },
                      "range": [
                        22019,
                        22080
                      ]
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 22144,
                  "end": 22361,
                  "loc": {
                    "start": {
                      "line": 595,
                      "column": 8
                    },
                    "end": {
                      "line": 600,
                      "column": 10
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 22144,
                    "end": 22360,
                    "loc": {
                      "start": {
                        "line": 595,
                        "column": 8
                      },
                      "end": {
                        "line": 600,
                        "column": 9
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 22144,
                      "end": 22167,
                      "loc": {
                        "start": {
                          "line": 595,
                          "column": 8
                        },
                        "end": {
                          "line": 595,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 22144,
                        "end": 22163,
                        "loc": {
                          "start": {
                            "line": 595,
                            "column": 8
                          },
                          "end": {
                            "line": 595,
                            "column": 27
                          }
                        },
                        "name": "normalizationMatrix"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 22164,
                        "end": 22167,
                        "loc": {
                          "start": {
                            "line": 595,
                            "column": 28
                          },
                          "end": {
                            "line": 595,
                            "column": 31
                          }
                        },
                        "name": "set"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 22181,
                        "end": 22185,
                        "loc": {
                          "start": {
                            "line": 596,
                            "column": 12
                          },
                          "end": {
                            "line": 596,
                            "column": 16
                          }
                        },
                        "name": "invW"
                      },
                      {
                        "type": "Literal",
                        "start": 22187,
                        "end": 22188,
                        "loc": {
                          "start": {
                            "line": 596,
                            "column": 18
                          },
                          "end": {
                            "line": 596,
                            "column": 19
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 22190,
                        "end": 22191,
                        "loc": {
                          "start": {
                            "line": 596,
                            "column": 21
                          },
                          "end": {
                            "line": 596,
                            "column": 22
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 22193,
                        "end": 22220,
                        "loc": {
                          "start": {
                            "line": 596,
                            "column": 24
                          },
                          "end": {
                            "line": 596,
                            "column": 51
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 22193,
                          "end": 22215,
                          "loc": {
                            "start": {
                              "line": 596,
                              "column": 24
                            },
                            "end": {
                              "line": 596,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 22193,
                            "end": 22208,
                            "loc": {
                              "start": {
                                "line": 596,
                                "column": 24
                              },
                              "end": {
                                "line": 596,
                                "column": 39
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 22194,
                              "end": 22208,
                              "loc": {
                                "start": {
                                  "line": 596,
                                  "column": 25
                                },
                                "end": {
                                  "line": 596,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 22194,
                                "end": 22206,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 37
                                  }
                                },
                                "name": "clipPosition"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22207,
                                "end": 22208,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 39
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            }
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 22211,
                            "end": 22215,
                            "loc": {
                              "start": {
                                "line": 596,
                                "column": 42
                              },
                              "end": {
                                "line": 596,
                                "column": 46
                              }
                            },
                            "name": "invW"
                          }
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 22216,
                          "end": 22220,
                          "loc": {
                            "start": {
                              "line": 596,
                              "column": 47
                            },
                            "end": {
                              "line": 596,
                              "column": 51
                            }
                          },
                          "name": "invW"
                        }
                      },
                      {
                        "type": "Literal",
                        "start": 22234,
                        "end": 22235,
                        "loc": {
                          "start": {
                            "line": 597,
                            "column": 12
                          },
                          "end": {
                            "line": 597,
                            "column": 13
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Identifier",
                        "start": 22237,
                        "end": 22241,
                        "loc": {
                          "start": {
                            "line": 597,
                            "column": 15
                          },
                          "end": {
                            "line": 597,
                            "column": 19
                          }
                        },
                        "name": "invW"
                      },
                      {
                        "type": "Literal",
                        "start": 22243,
                        "end": 22244,
                        "loc": {
                          "start": {
                            "line": 597,
                            "column": 21
                          },
                          "end": {
                            "line": 597,
                            "column": 22
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 22246,
                        "end": 22273,
                        "loc": {
                          "start": {
                            "line": 597,
                            "column": 24
                          },
                          "end": {
                            "line": 597,
                            "column": 51
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 22246,
                          "end": 22268,
                          "loc": {
                            "start": {
                              "line": 597,
                              "column": 24
                            },
                            "end": {
                              "line": 597,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 22246,
                            "end": 22261,
                            "loc": {
                              "start": {
                                "line": 597,
                                "column": 24
                              },
                              "end": {
                                "line": 597,
                                "column": 39
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 22247,
                              "end": 22261,
                              "loc": {
                                "start": {
                                  "line": 597,
                                  "column": 25
                                },
                                "end": {
                                  "line": 597,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 22247,
                                "end": 22259,
                                "loc": {
                                  "start": {
                                    "line": 597,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 597,
                                    "column": 37
                                  }
                                },
                                "name": "clipPosition"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22260,
                                "end": 22261,
                                "loc": {
                                  "start": {
                                    "line": 597,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 597,
                                    "column": 39
                                  }
                                },
                                "name": "y"
                              },
                              "computed": false
                            }
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 22264,
                            "end": 22268,
                            "loc": {
                              "start": {
                                "line": 597,
                                "column": 42
                              },
                              "end": {
                                "line": 597,
                                "column": 46
                              }
                            },
                            "name": "invW"
                          }
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 22269,
                          "end": 22273,
                          "loc": {
                            "start": {
                              "line": 597,
                              "column": 47
                            },
                            "end": {
                              "line": 597,
                              "column": 51
                            }
                          },
                          "name": "invW"
                        }
                      },
                      {
                        "type": "Literal",
                        "start": 22287,
                        "end": 22288,
                        "loc": {
                          "start": {
                            "line": 598,
                            "column": 12
                          },
                          "end": {
                            "line": 598,
                            "column": 13
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 22290,
                        "end": 22291,
                        "loc": {
                          "start": {
                            "line": 598,
                            "column": 15
                          },
                          "end": {
                            "line": 598,
                            "column": 16
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Identifier",
                        "start": 22293,
                        "end": 22297,
                        "loc": {
                          "start": {
                            "line": 598,
                            "column": 18
                          },
                          "end": {
                            "line": 598,
                            "column": 22
                          }
                        },
                        "name": "invW"
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 22299,
                        "end": 22326,
                        "loc": {
                          "start": {
                            "line": 598,
                            "column": 24
                          },
                          "end": {
                            "line": 598,
                            "column": 51
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 22299,
                          "end": 22321,
                          "loc": {
                            "start": {
                              "line": 598,
                              "column": 24
                            },
                            "end": {
                              "line": 598,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 22299,
                            "end": 22314,
                            "loc": {
                              "start": {
                                "line": 598,
                                "column": 24
                              },
                              "end": {
                                "line": 598,
                                "column": 39
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 22300,
                              "end": 22314,
                              "loc": {
                                "start": {
                                  "line": 598,
                                  "column": 25
                                },
                                "end": {
                                  "line": 598,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 22300,
                                "end": 22312,
                                "loc": {
                                  "start": {
                                    "line": 598,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 598,
                                    "column": 37
                                  }
                                },
                                "name": "clipPosition"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22313,
                                "end": 22314,
                                "loc": {
                                  "start": {
                                    "line": 598,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 598,
                                    "column": 39
                                  }
                                },
                                "name": "z"
                              },
                              "computed": false
                            }
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 22317,
                            "end": 22321,
                            "loc": {
                              "start": {
                                "line": 598,
                                "column": 42
                              },
                              "end": {
                                "line": 598,
                                "column": 46
                              }
                            },
                            "name": "invW"
                          }
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 22322,
                          "end": 22326,
                          "loc": {
                            "start": {
                              "line": 598,
                              "column": 47
                            },
                            "end": {
                              "line": 598,
                              "column": 51
                            }
                          },
                          "name": "invW"
                        }
                      },
                      {
                        "type": "Literal",
                        "start": 22340,
                        "end": 22341,
                        "loc": {
                          "start": {
                            "line": 599,
                            "column": 12
                          },
                          "end": {
                            "line": 599,
                            "column": 13
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 22343,
                        "end": 22344,
                        "loc": {
                          "start": {
                            "line": 599,
                            "column": 15
                          },
                          "end": {
                            "line": 599,
                            "column": 16
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 22346,
                        "end": 22347,
                        "loc": {
                          "start": {
                            "line": 599,
                            "column": 18
                          },
                          "end": {
                            "line": 599,
                            "column": 19
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 22349,
                        "end": 22350,
                        "loc": {
                          "start": {
                            "line": 599,
                            "column": 21
                          },
                          "end": {
                            "line": 599,
                            "column": 22
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    ]
                  },
                  "trailingComments": [
                    {
                      "type": "CommentLine",
                      "value": " derivatives of NDS coordinates are obtained as transformation first, normalization then",
                      "start": 22370,
                      "end": 22460,
                      "loc": {
                        "start": {
                          "line": 601,
                          "column": 8
                        },
                        "end": {
                          "line": 601,
                          "column": 98
                        }
                      },
                      "range": [
                        22370,
                        22460
                      ]
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 22469,
                  "end": 22525,
                  "loc": {
                    "start": {
                      "line": 602,
                      "column": 8
                    },
                    "end": {
                      "line": 602,
                      "column": 64
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 22469,
                    "end": 22524,
                    "loc": {
                      "start": {
                        "line": 602,
                        "column": 8
                      },
                      "end": {
                        "line": 602,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 22469,
                      "end": 22495,
                      "loc": {
                        "start": {
                          "line": 602,
                          "column": 8
                        },
                        "end": {
                          "line": 602,
                          "column": 34
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 22469,
                        "end": 22478,
                        "loc": {
                          "start": {
                            "line": 602,
                            "column": 8
                          },
                          "end": {
                            "line": 602,
                            "column": 17
                          }
                        },
                        "name": "ndcDerivs",
                        "leadingComments": null
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 22479,
                        "end": 22495,
                        "loc": {
                          "start": {
                            "line": 602,
                            "column": 18
                          },
                          "end": {
                            "line": 602,
                            "column": 34
                          }
                        },
                        "name": "multiplyMatrices"
                      },
                      "computed": false,
                      "leadingComments": null
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 22496,
                        "end": 22515,
                        "loc": {
                          "start": {
                            "line": 602,
                            "column": 35
                          },
                          "end": {
                            "line": 602,
                            "column": 54
                          }
                        },
                        "name": "normalizationMatrix"
                      },
                      {
                        "type": "Identifier",
                        "start": 22517,
                        "end": 22523,
                        "loc": {
                          "start": {
                            "line": 602,
                            "column": 56
                          },
                          "end": {
                            "line": 602,
                            "column": 62
                          }
                        },
                        "name": "matrix"
                      }
                    ],
                    "leadingComments": null
                  },
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " derivatives of NDS coordinates are obtained as transformation first, normalization then",
                      "start": 22370,
                      "end": 22460,
                      "loc": {
                        "start": {
                          "line": 601,
                          "column": 8
                        },
                        "end": {
                          "line": 601,
                          "column": 98
                        }
                      },
                      "range": [
                        22370,
                        22460
                      ]
                    }
                  ]
                }
              ],
              "trailingComments": null
            },
            "alternate": null,
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "TODO: is it really proper width/height to multiply?",
                "start": 22537,
                "end": 22590,
                "loc": {
                  "start": {
                    "line": 605,
                    "column": 4
                  },
                  "end": {
                    "line": 605,
                    "column": 57
                  }
                },
                "range": [
                  22537,
                  22590
                ]
              },
              {
                "type": "CommentLine",
                "value": " 1. Are there any margins outside of gl viewport?",
                "start": 22595,
                "end": 22646,
                "loc": {
                  "start": {
                    "line": 606,
                    "column": 4
                  },
                  "end": {
                    "line": 606,
                    "column": 55
                  }
                },
                "range": [
                  22595,
                  22646
                ]
              },
              {
                "type": "CommentLine",
                "value": " 2. Is viewport size always equal to these sizes?",
                "start": 22651,
                "end": 22702,
                "loc": {
                  "start": {
                    "line": 607,
                    "column": 4
                  },
                  "end": {
                    "line": 607,
                    "column": 55
                  }
                },
                "range": [
                  22651,
                  22702
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 22707,
            "end": 22788,
            "loc": {
              "start": {
                "line": 608,
                "column": 4
              },
              "end": {
                "line": 608,
                "column": 85
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 22711,
                "end": 22747,
                "loc": {
                  "start": {
                    "line": 608,
                    "column": 8
                  },
                  "end": {
                    "line": 608,
                    "column": 44
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22711,
                  "end": 22720,
                  "loc": {
                    "start": {
                      "line": 608,
                      "column": 8
                    },
                    "end": {
                      "line": 608,
                      "column": 17
                    }
                  },
                  "name": "widthHalf",
                  "leadingComments": null
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 22723,
                  "end": 22747,
                  "loc": {
                    "start": {
                      "line": 608,
                      "column": 20
                    },
                    "end": {
                      "line": 608,
                      "column": 44
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 22723,
                    "end": 22743,
                    "loc": {
                      "start": {
                        "line": 608,
                        "column": 20
                      },
                      "end": {
                        "line": 608,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 22723,
                      "end": 22731,
                      "loc": {
                        "start": {
                          "line": 608,
                          "column": 20
                        },
                        "end": {
                          "line": 608,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 22723,
                        "end": 22727,
                        "loc": {
                          "start": {
                            "line": 608,
                            "column": 20
                          },
                          "end": {
                            "line": 608,
                            "column": 24
                          }
                        },
                        "name": "view"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 22728,
                        "end": 22731,
                        "loc": {
                          "start": {
                            "line": 608,
                            "column": 25
                          },
                          "end": {
                            "line": 608,
                            "column": 28
                          }
                        },
                        "name": "dom"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 22732,
                      "end": 22743,
                      "loc": {
                        "start": {
                          "line": 608,
                          "column": 29
                        },
                        "end": {
                          "line": 608,
                          "column": 40
                        }
                      },
                      "name": "clientWidth"
                    },
                    "computed": false
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 22746,
                    "end": 22747,
                    "loc": {
                      "start": {
                        "line": 608,
                        "column": 43
                      },
                      "end": {
                        "line": 608,
                        "column": 44
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                },
                "leadingComments": null
              },
              {
                "type": "VariableDeclarator",
                "start": 22749,
                "end": 22787,
                "loc": {
                  "start": {
                    "line": 608,
                    "column": 46
                  },
                  "end": {
                    "line": 608,
                    "column": 84
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22749,
                  "end": 22759,
                  "loc": {
                    "start": {
                      "line": 608,
                      "column": 46
                    },
                    "end": {
                      "line": 608,
                      "column": 56
                    }
                  },
                  "name": "heightHalf"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 22762,
                  "end": 22787,
                  "loc": {
                    "start": {
                      "line": 608,
                      "column": 59
                    },
                    "end": {
                      "line": 608,
                      "column": 84
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 22762,
                    "end": 22783,
                    "loc": {
                      "start": {
                        "line": 608,
                        "column": 59
                      },
                      "end": {
                        "line": 608,
                        "column": 80
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 22762,
                      "end": 22770,
                      "loc": {
                        "start": {
                          "line": 608,
                          "column": 59
                        },
                        "end": {
                          "line": 608,
                          "column": 67
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 22762,
                        "end": 22766,
                        "loc": {
                          "start": {
                            "line": 608,
                            "column": 59
                          },
                          "end": {
                            "line": 608,
                            "column": 63
                          }
                        },
                        "name": "view"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 22767,
                        "end": 22770,
                        "loc": {
                          "start": {
                            "line": 608,
                            "column": 64
                          },
                          "end": {
                            "line": 608,
                            "column": 67
                          }
                        },
                        "name": "dom"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 22771,
                      "end": 22783,
                      "loc": {
                        "start": {
                          "line": 608,
                          "column": 68
                        },
                        "end": {
                          "line": 608,
                          "column": 80
                        }
                      },
                      "name": "clientHeight"
                    },
                    "computed": false
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 22786,
                    "end": 22787,
                    "loc": {
                      "start": {
                        "line": 608,
                        "column": 83
                      },
                      "end": {
                        "line": 608,
                        "column": 84
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                }
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "TODO: is it really proper width/height to multiply?",
                "start": 22537,
                "end": 22590,
                "loc": {
                  "start": {
                    "line": 605,
                    "column": 4
                  },
                  "end": {
                    "line": 605,
                    "column": 57
                  }
                },
                "range": [
                  22537,
                  22590
                ]
              },
              {
                "type": "CommentLine",
                "value": " 1. Are there any margins outside of gl viewport?",
                "start": 22595,
                "end": 22646,
                "loc": {
                  "start": {
                    "line": 606,
                    "column": 4
                  },
                  "end": {
                    "line": 606,
                    "column": 55
                  }
                },
                "range": [
                  22595,
                  22646
                ]
              },
              {
                "type": "CommentLine",
                "value": " 2. Is viewport size always equal to these sizes?",
                "start": 22651,
                "end": 22702,
                "loc": {
                  "start": {
                    "line": 607,
                    "column": 4
                  },
                  "end": {
                    "line": 607,
                    "column": 55
                  }
                },
                "range": [
                  22651,
                  22702
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 22793,
            "end": 22836,
            "loc": {
              "start": {
                "line": 609,
                "column": 4
              },
              "end": {
                "line": 609,
                "column": 47
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 22797,
                "end": 22814,
                "loc": {
                  "start": {
                    "line": 609,
                    "column": 8
                  },
                  "end": {
                    "line": 609,
                    "column": 25
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22797,
                  "end": 22802,
                  "loc": {
                    "start": {
                      "line": 609,
                      "column": 8
                    },
                    "end": {
                      "line": 609,
                      "column": 13
                    }
                  },
                  "name": "multX"
                },
                "init": {
                  "type": "Identifier",
                  "start": 22805,
                  "end": 22814,
                  "loc": {
                    "start": {
                      "line": 609,
                      "column": 16
                    },
                    "end": {
                      "line": 609,
                      "column": 25
                    }
                  },
                  "name": "widthHalf"
                }
              },
              {
                "type": "VariableDeclarator",
                "start": 22816,
                "end": 22835,
                "loc": {
                  "start": {
                    "line": 609,
                    "column": 27
                  },
                  "end": {
                    "line": 609,
                    "column": 46
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22816,
                  "end": 22821,
                  "loc": {
                    "start": {
                      "line": 609,
                      "column": 27
                    },
                    "end": {
                      "line": 609,
                      "column": 32
                    }
                  },
                  "name": "multY"
                },
                "init": {
                  "type": "UnaryExpression",
                  "start": 22824,
                  "end": 22835,
                  "loc": {
                    "start": {
                      "line": 609,
                      "column": 35
                    },
                    "end": {
                      "line": 609,
                      "column": 46
                    }
                  },
                  "operator": "-",
                  "prefix": true,
                  "argument": {
                    "type": "Identifier",
                    "start": 22825,
                    "end": 22835,
                    "loc": {
                      "start": {
                        "line": 609,
                        "column": 36
                      },
                      "end": {
                        "line": 609,
                        "column": 46
                      }
                    },
                    "name": "heightHalf"
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 22841,
            "end": 22881,
            "loc": {
              "start": {
                "line": 610,
                "column": 4
              },
              "end": {
                "line": 610,
                "column": 44
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 22845,
                "end": 22861,
                "loc": {
                  "start": {
                    "line": 610,
                    "column": 8
                  },
                  "end": {
                    "line": 610,
                    "column": 24
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22845,
                  "end": 22849,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 8
                    },
                    "end": {
                      "line": 610,
                      "column": 12
                    }
                  },
                  "name": "addX"
                },
                "init": {
                  "type": "Identifier",
                  "start": 22852,
                  "end": 22861,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 15
                    },
                    "end": {
                      "line": 610,
                      "column": 24
                    }
                  },
                  "name": "widthHalf"
                }
              },
              {
                "type": "VariableDeclarator",
                "start": 22863,
                "end": 22880,
                "loc": {
                  "start": {
                    "line": 610,
                    "column": 26
                  },
                  "end": {
                    "line": 610,
                    "column": 43
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22863,
                  "end": 22867,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 26
                    },
                    "end": {
                      "line": 610,
                      "column": 30
                    }
                  },
                  "name": "addY"
                },
                "init": {
                  "type": "Identifier",
                  "start": 22870,
                  "end": 22880,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 33
                    },
                    "end": {
                      "line": 610,
                      "column": 43
                    }
                  },
                  "name": "heightHalf"
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 22887,
            "end": 22903,
            "loc": {
              "start": {
                "line": 612,
                "column": 4
              },
              "end": {
                "line": 612,
                "column": 20
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 22891,
                "end": 22902,
                "loc": {
                  "start": {
                    "line": 612,
                    "column": 8
                  },
                  "end": {
                    "line": 612,
                    "column": 19
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22891,
                  "end": 22897,
                  "loc": {
                    "start": {
                      "line": 612,
                      "column": 8
                    },
                    "end": {
                      "line": 612,
                      "column": 14
                    }
                  },
                  "name": "result"
                },
                "init": {
                  "type": "ObjectExpression",
                  "start": 22900,
                  "end": 22902,
                  "loc": {
                    "start": {
                      "line": 612,
                      "column": 17
                    },
                    "end": {
                      "line": 612,
                      "column": 19
                    }
                  },
                  "properties": []
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen position",
                "start": 22908,
                "end": 22936,
                "loc": {
                  "start": {
                    "line": 613,
                    "column": 4
                  },
                  "end": {
                    "line": 613,
                    "column": 32
                  }
                },
                "range": [
                  22908,
                  22936
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 22941,
            "end": 22979,
            "loc": {
              "start": {
                "line": 614,
                "column": 4
              },
              "end": {
                "line": 614,
                "column": 42
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 22941,
              "end": 22978,
              "loc": {
                "start": {
                  "line": 614,
                  "column": 4
                },
                "end": {
                  "line": 614,
                  "column": 41
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 22941,
                "end": 22956,
                "loc": {
                  "start": {
                    "line": 614,
                    "column": 4
                  },
                  "end": {
                    "line": 614,
                    "column": 19
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 22941,
                  "end": 22947,
                  "loc": {
                    "start": {
                      "line": 614,
                      "column": 4
                    },
                    "end": {
                      "line": 614,
                      "column": 10
                    }
                  },
                  "name": "result",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 22948,
                  "end": 22956,
                  "loc": {
                    "start": {
                      "line": 614,
                      "column": 11
                    },
                    "end": {
                      "line": 614,
                      "column": 19
                    }
                  },
                  "name": "position"
                },
                "computed": false,
                "leadingComments": null
              },
              "right": {
                "type": "NewExpression",
                "start": 22959,
                "end": 22978,
                "loc": {
                  "start": {
                    "line": 614,
                    "column": 22
                  },
                  "end": {
                    "line": 614,
                    "column": 41
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 22963,
                  "end": 22976,
                  "loc": {
                    "start": {
                      "line": 614,
                      "column": 26
                    },
                    "end": {
                      "line": 614,
                      "column": 39
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 22963,
                    "end": 22968,
                    "loc": {
                      "start": {
                        "line": 614,
                        "column": 26
                      },
                      "end": {
                        "line": 614,
                        "column": 31
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 22969,
                    "end": 22976,
                    "loc": {
                      "start": {
                        "line": 614,
                        "column": 32
                      },
                      "end": {
                        "line": 614,
                        "column": 39
                      }
                    },
                    "name": "Vector2"
                  },
                  "computed": false
                },
                "arguments": []
              },
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen position",
                "start": 22908,
                "end": 22936,
                "loc": {
                  "start": {
                    "line": 613,
                    "column": 4
                  },
                  "end": {
                    "line": 613,
                    "column": 32
                  }
                },
                "range": [
                  22908,
                  22936
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 22984,
            "end": 23033,
            "loc": {
              "start": {
                "line": 615,
                "column": 4
              },
              "end": {
                "line": 615,
                "column": 53
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 22984,
              "end": 23032,
              "loc": {
                "start": {
                  "line": 615,
                  "column": 4
                },
                "end": {
                  "line": 615,
                  "column": 52
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 22984,
                "end": 23001,
                "loc": {
                  "start": {
                    "line": 615,
                    "column": 4
                  },
                  "end": {
                    "line": 615,
                    "column": 21
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 22984,
                  "end": 22999,
                  "loc": {
                    "start": {
                      "line": 615,
                      "column": 4
                    },
                    "end": {
                      "line": 615,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 22984,
                    "end": 22990,
                    "loc": {
                      "start": {
                        "line": 615,
                        "column": 4
                      },
                      "end": {
                        "line": 615,
                        "column": 10
                      }
                    },
                    "name": "result"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 22991,
                    "end": 22999,
                    "loc": {
                      "start": {
                        "line": 615,
                        "column": 11
                      },
                      "end": {
                        "line": 615,
                        "column": 19
                      }
                    },
                    "name": "position"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 23000,
                  "end": 23001,
                  "loc": {
                    "start": {
                      "line": 615,
                      "column": 20
                    },
                    "end": {
                      "line": 615,
                      "column": 21
                    }
                  },
                  "name": "x"
                },
                "computed": false
              },
              "right": {
                "type": "BinaryExpression",
                "start": 23004,
                "end": 23032,
                "loc": {
                  "start": {
                    "line": 615,
                    "column": 24
                  },
                  "end": {
                    "line": 615,
                    "column": 52
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 23004,
                  "end": 23025,
                  "loc": {
                    "start": {
                      "line": 615,
                      "column": 24
                    },
                    "end": {
                      "line": 615,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 23004,
                    "end": 23017,
                    "loc": {
                      "start": {
                        "line": 615,
                        "column": 24
                      },
                      "end": {
                        "line": 615,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 23004,
                      "end": 23015,
                      "loc": {
                        "start": {
                          "line": 615,
                          "column": 24
                        },
                        "end": {
                          "line": 615,
                          "column": 35
                        }
                      },
                      "name": "ndcPosition"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 23016,
                      "end": 23017,
                      "loc": {
                        "start": {
                          "line": 615,
                          "column": 36
                        },
                        "end": {
                          "line": 615,
                          "column": 37
                        }
                      },
                      "name": "x"
                    },
                    "computed": false
                  },
                  "operator": "*",
                  "right": {
                    "type": "Identifier",
                    "start": 23020,
                    "end": 23025,
                    "loc": {
                      "start": {
                        "line": 615,
                        "column": 40
                      },
                      "end": {
                        "line": 615,
                        "column": 45
                      }
                    },
                    "name": "multX"
                  }
                },
                "operator": "+",
                "right": {
                  "type": "Identifier",
                  "start": 23028,
                  "end": 23032,
                  "loc": {
                    "start": {
                      "line": 615,
                      "column": 48
                    },
                    "end": {
                      "line": 615,
                      "column": 52
                    }
                  },
                  "name": "addX"
                }
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 23038,
            "end": 23087,
            "loc": {
              "start": {
                "line": 616,
                "column": 4
              },
              "end": {
                "line": 616,
                "column": 53
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 23038,
              "end": 23086,
              "loc": {
                "start": {
                  "line": 616,
                  "column": 4
                },
                "end": {
                  "line": 616,
                  "column": 52
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 23038,
                "end": 23055,
                "loc": {
                  "start": {
                    "line": 616,
                    "column": 4
                  },
                  "end": {
                    "line": 616,
                    "column": 21
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 23038,
                  "end": 23053,
                  "loc": {
                    "start": {
                      "line": 616,
                      "column": 4
                    },
                    "end": {
                      "line": 616,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 23038,
                    "end": 23044,
                    "loc": {
                      "start": {
                        "line": 616,
                        "column": 4
                      },
                      "end": {
                        "line": 616,
                        "column": 10
                      }
                    },
                    "name": "result"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 23045,
                    "end": 23053,
                    "loc": {
                      "start": {
                        "line": 616,
                        "column": 11
                      },
                      "end": {
                        "line": 616,
                        "column": 19
                      }
                    },
                    "name": "position"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 23054,
                  "end": 23055,
                  "loc": {
                    "start": {
                      "line": 616,
                      "column": 20
                    },
                    "end": {
                      "line": 616,
                      "column": 21
                    }
                  },
                  "name": "y"
                },
                "computed": false
              },
              "right": {
                "type": "BinaryExpression",
                "start": 23058,
                "end": 23086,
                "loc": {
                  "start": {
                    "line": 616,
                    "column": 24
                  },
                  "end": {
                    "line": 616,
                    "column": 52
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 23058,
                  "end": 23079,
                  "loc": {
                    "start": {
                      "line": 616,
                      "column": 24
                    },
                    "end": {
                      "line": 616,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 23058,
                    "end": 23071,
                    "loc": {
                      "start": {
                        "line": 616,
                        "column": 24
                      },
                      "end": {
                        "line": 616,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 23058,
                      "end": 23069,
                      "loc": {
                        "start": {
                          "line": 616,
                          "column": 24
                        },
                        "end": {
                          "line": 616,
                          "column": 35
                        }
                      },
                      "name": "ndcPosition"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 23070,
                      "end": 23071,
                      "loc": {
                        "start": {
                          "line": 616,
                          "column": 36
                        },
                        "end": {
                          "line": 616,
                          "column": 37
                        }
                      },
                      "name": "y"
                    },
                    "computed": false
                  },
                  "operator": "*",
                  "right": {
                    "type": "Identifier",
                    "start": 23074,
                    "end": 23079,
                    "loc": {
                      "start": {
                        "line": 616,
                        "column": 40
                      },
                      "end": {
                        "line": 616,
                        "column": 45
                      }
                    },
                    "name": "multY"
                  }
                },
                "operator": "+",
                "right": {
                  "type": "Identifier",
                  "start": 23082,
                  "end": 23086,
                  "loc": {
                    "start": {
                      "line": 616,
                      "column": 48
                    },
                    "end": {
                      "line": 616,
                      "column": 52
                    }
                  },
                  "name": "addY"
                }
              }
            },
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen derivatives",
                "start": 23092,
                "end": 23123,
                "loc": {
                  "start": {
                    "line": 617,
                    "column": 4
                  },
                  "end": {
                    "line": 617,
                    "column": 35
                  }
                },
                "range": [
                  23092,
                  23123
                ]
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 23128,
            "end": 23456,
            "loc": {
              "start": {
                "line": 618,
                "column": 4
              },
              "end": {
                "line": 624,
                "column": 5
              }
            },
            "test": {
              "type": "Identifier",
              "start": 23132,
              "end": 23142,
              "loc": {
                "start": {
                  "line": 618,
                  "column": 8
                },
                "end": {
                  "line": 618,
                  "column": 18
                }
              },
              "name": "withDerivs",
              "leadingComments": null
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 23144,
              "end": 23456,
              "loc": {
                "start": {
                  "line": 618,
                  "column": 20
                },
                "end": {
                  "line": 624,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 23154,
                  "end": 23194,
                  "loc": {
                    "start": {
                      "line": 619,
                      "column": 8
                    },
                    "end": {
                      "line": 619,
                      "column": 48
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 23158,
                      "end": 23193,
                      "loc": {
                        "start": {
                          "line": 619,
                          "column": 12
                        },
                        "end": {
                          "line": 619,
                          "column": 47
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 23158,
                        "end": 23167,
                        "loc": {
                          "start": {
                            "line": 619,
                            "column": 12
                          },
                          "end": {
                            "line": 619,
                            "column": 21
                          }
                        },
                        "name": "resDerivs"
                      },
                      "init": {
                        "type": "AssignmentExpression",
                        "start": 23170,
                        "end": 23193,
                        "loc": {
                          "start": {
                            "line": 619,
                            "column": 24
                          },
                          "end": {
                            "line": 619,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 23170,
                          "end": 23188,
                          "loc": {
                            "start": {
                              "line": 619,
                              "column": 24
                            },
                            "end": {
                              "line": 619,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23170,
                            "end": 23176,
                            "loc": {
                              "start": {
                                "line": 619,
                                "column": 24
                              },
                              "end": {
                                "line": 619,
                                "column": 30
                              }
                            },
                            "name": "result"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23177,
                            "end": 23188,
                            "loc": {
                              "start": {
                                "line": 619,
                                "column": 31
                              },
                              "end": {
                                "line": 619,
                                "column": 42
                              }
                            },
                            "name": "derivatives"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 23191,
                          "end": 23193,
                          "loc": {
                            "start": {
                              "line": 619,
                              "column": 45
                            },
                            "end": {
                              "line": 619,
                              "column": 47
                            }
                          },
                          "elements": []
                        }
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "VariableDeclaration",
                  "start": 23203,
                  "end": 23231,
                  "loc": {
                    "start": {
                      "line": 620,
                      "column": 8
                    },
                    "end": {
                      "line": 620,
                      "column": 36
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 23207,
                      "end": 23230,
                      "loc": {
                        "start": {
                          "line": 620,
                          "column": 12
                        },
                        "end": {
                          "line": 620,
                          "column": 35
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 23207,
                        "end": 23209,
                        "loc": {
                          "start": {
                            "line": 620,
                            "column": 12
                          },
                          "end": {
                            "line": 620,
                            "column": 14
                          }
                        },
                        "name": "me"
                      },
                      "init": {
                        "type": "MemberExpression",
                        "start": 23212,
                        "end": 23230,
                        "loc": {
                          "start": {
                            "line": 620,
                            "column": 17
                          },
                          "end": {
                            "line": 620,
                            "column": 35
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 23212,
                          "end": 23221,
                          "loc": {
                            "start": {
                              "line": 620,
                              "column": 17
                            },
                            "end": {
                              "line": 620,
                              "column": 26
                            }
                          },
                          "name": "ndcDerivs"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 23222,
                          "end": 23230,
                          "loc": {
                            "start": {
                              "line": 620,
                              "column": 27
                            },
                            "end": {
                              "line": 620,
                              "column": 35
                            }
                          },
                          "name": "elements"
                        },
                        "computed": false
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 23240,
                  "end": 23304,
                  "loc": {
                    "start": {
                      "line": 621,
                      "column": 8
                    },
                    "end": {
                      "line": 621,
                      "column": 72
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 23240,
                    "end": 23303,
                    "loc": {
                      "start": {
                        "line": 621,
                        "column": 8
                      },
                      "end": {
                        "line": 621,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 23240,
                      "end": 23254,
                      "loc": {
                        "start": {
                          "line": 621,
                          "column": 8
                        },
                        "end": {
                          "line": 621,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 23240,
                        "end": 23249,
                        "loc": {
                          "start": {
                            "line": 621,
                            "column": 8
                          },
                          "end": {
                            "line": 621,
                            "column": 17
                          }
                        },
                        "name": "resDerivs"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 23250,
                        "end": 23254,
                        "loc": {
                          "start": {
                            "line": 621,
                            "column": 18
                          },
                          "end": {
                            "line": 621,
                            "column": 22
                          }
                        },
                        "name": "push"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "NewExpression",
                        "start": 23255,
                        "end": 23302,
                        "loc": {
                          "start": {
                            "line": 621,
                            "column": 23
                          },
                          "end": {
                            "line": 621,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23259,
                          "end": 23272,
                          "loc": {
                            "start": {
                              "line": 621,
                              "column": 27
                            },
                            "end": {
                              "line": 621,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23259,
                            "end": 23264,
                            "loc": {
                              "start": {
                                "line": 621,
                                "column": 27
                              },
                              "end": {
                                "line": 621,
                                "column": 32
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23265,
                            "end": 23272,
                            "loc": {
                              "start": {
                                "line": 621,
                                "column": 33
                              },
                              "end": {
                                "line": 621,
                                "column": 40
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 23273,
                            "end": 23286,
                            "loc": {
                              "start": {
                                "line": 621,
                                "column": 41
                              },
                              "end": {
                                "line": 621,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23273,
                              "end": 23278,
                              "loc": {
                                "start": {
                                  "line": 621,
                                  "column": 41
                                },
                                "end": {
                                  "line": 621,
                                  "column": 46
                                }
                              },
                              "name": "multX"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23281,
                              "end": 23286,
                              "loc": {
                                "start": {
                                  "line": 621,
                                  "column": 49
                                },
                                "end": {
                                  "line": 621,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23281,
                                "end": 23283,
                                "loc": {
                                  "start": {
                                    "line": 621,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 621,
                                    "column": 51
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23284,
                                "end": 23285,
                                "loc": {
                                  "start": {
                                    "line": 621,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 621,
                                    "column": 53
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 23288,
                            "end": 23301,
                            "loc": {
                              "start": {
                                "line": 621,
                                "column": 56
                              },
                              "end": {
                                "line": 621,
                                "column": 69
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23288,
                              "end": 23293,
                              "loc": {
                                "start": {
                                  "line": 621,
                                  "column": 56
                                },
                                "end": {
                                  "line": 621,
                                  "column": 61
                                }
                              },
                              "name": "multY"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23296,
                              "end": 23301,
                              "loc": {
                                "start": {
                                  "line": 621,
                                  "column": 64
                                },
                                "end": {
                                  "line": 621,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23296,
                                "end": 23298,
                                "loc": {
                                  "start": {
                                    "line": 621,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 621,
                                    "column": 66
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23299,
                                "end": 23300,
                                "loc": {
                                  "start": {
                                    "line": 621,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 621,
                                    "column": 68
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "computed": true
                            }
                          }
                        ]
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 23313,
                  "end": 23377,
                  "loc": {
                    "start": {
                      "line": 622,
                      "column": 8
                    },
                    "end": {
                      "line": 622,
                      "column": 72
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 23313,
                    "end": 23376,
                    "loc": {
                      "start": {
                        "line": 622,
                        "column": 8
                      },
                      "end": {
                        "line": 622,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 23313,
                      "end": 23327,
                      "loc": {
                        "start": {
                          "line": 622,
                          "column": 8
                        },
                        "end": {
                          "line": 622,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 23313,
                        "end": 23322,
                        "loc": {
                          "start": {
                            "line": 622,
                            "column": 8
                          },
                          "end": {
                            "line": 622,
                            "column": 17
                          }
                        },
                        "name": "resDerivs"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 23323,
                        "end": 23327,
                        "loc": {
                          "start": {
                            "line": 622,
                            "column": 18
                          },
                          "end": {
                            "line": 622,
                            "column": 22
                          }
                        },
                        "name": "push"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "NewExpression",
                        "start": 23328,
                        "end": 23375,
                        "loc": {
                          "start": {
                            "line": 622,
                            "column": 23
                          },
                          "end": {
                            "line": 622,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23332,
                          "end": 23345,
                          "loc": {
                            "start": {
                              "line": 622,
                              "column": 27
                            },
                            "end": {
                              "line": 622,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23332,
                            "end": 23337,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 27
                              },
                              "end": {
                                "line": 622,
                                "column": 32
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23338,
                            "end": 23345,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 33
                              },
                              "end": {
                                "line": 622,
                                "column": 40
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 23346,
                            "end": 23359,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 41
                              },
                              "end": {
                                "line": 622,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23346,
                              "end": 23351,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 41
                                },
                                "end": {
                                  "line": 622,
                                  "column": 46
                                }
                              },
                              "name": "multX"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23354,
                              "end": 23359,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 49
                                },
                                "end": {
                                  "line": 622,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23354,
                                "end": 23356,
                                "loc": {
                                  "start": {
                                    "line": 622,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 622,
                                    "column": 51
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23357,
                                "end": 23358,
                                "loc": {
                                  "start": {
                                    "line": 622,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 622,
                                    "column": 53
                                  }
                                },
                                "value": 4,
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "computed": true
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 23361,
                            "end": 23374,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 56
                              },
                              "end": {
                                "line": 622,
                                "column": 69
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23361,
                              "end": 23366,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 56
                                },
                                "end": {
                                  "line": 622,
                                  "column": 61
                                }
                              },
                              "name": "multY"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23369,
                              "end": 23374,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 64
                                },
                                "end": {
                                  "line": 622,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23369,
                                "end": 23371,
                                "loc": {
                                  "start": {
                                    "line": 622,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 622,
                                    "column": 66
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23372,
                                "end": 23373,
                                "loc": {
                                  "start": {
                                    "line": 622,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 622,
                                    "column": 68
                                  }
                                },
                                "value": 5,
                                "rawValue": 5,
                                "raw": "5"
                              },
                              "computed": true
                            }
                          }
                        ]
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 23386,
                  "end": 23450,
                  "loc": {
                    "start": {
                      "line": 623,
                      "column": 8
                    },
                    "end": {
                      "line": 623,
                      "column": 72
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 23386,
                    "end": 23449,
                    "loc": {
                      "start": {
                        "line": 623,
                        "column": 8
                      },
                      "end": {
                        "line": 623,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 23386,
                      "end": 23400,
                      "loc": {
                        "start": {
                          "line": 623,
                          "column": 8
                        },
                        "end": {
                          "line": 623,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 23386,
                        "end": 23395,
                        "loc": {
                          "start": {
                            "line": 623,
                            "column": 8
                          },
                          "end": {
                            "line": 623,
                            "column": 17
                          }
                        },
                        "name": "resDerivs"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 23396,
                        "end": 23400,
                        "loc": {
                          "start": {
                            "line": 623,
                            "column": 18
                          },
                          "end": {
                            "line": 623,
                            "column": 22
                          }
                        },
                        "name": "push"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "NewExpression",
                        "start": 23401,
                        "end": 23448,
                        "loc": {
                          "start": {
                            "line": 623,
                            "column": 23
                          },
                          "end": {
                            "line": 623,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23405,
                          "end": 23418,
                          "loc": {
                            "start": {
                              "line": 623,
                              "column": 27
                            },
                            "end": {
                              "line": 623,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23405,
                            "end": 23410,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 27
                              },
                              "end": {
                                "line": 623,
                                "column": 32
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23411,
                            "end": 23418,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 33
                              },
                              "end": {
                                "line": 623,
                                "column": 40
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 23419,
                            "end": 23432,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 41
                              },
                              "end": {
                                "line": 623,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23419,
                              "end": 23424,
                              "loc": {
                                "start": {
                                  "line": 623,
                                  "column": 41
                                },
                                "end": {
                                  "line": 623,
                                  "column": 46
                                }
                              },
                              "name": "multX"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23427,
                              "end": 23432,
                              "loc": {
                                "start": {
                                  "line": 623,
                                  "column": 49
                                },
                                "end": {
                                  "line": 623,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23427,
                                "end": 23429,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 51
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23430,
                                "end": 23431,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 53
                                  }
                                },
                                "value": 8,
                                "rawValue": 8,
                                "raw": "8"
                              },
                              "computed": true
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 23434,
                            "end": 23447,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 56
                              },
                              "end": {
                                "line": 623,
                                "column": 69
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23434,
                              "end": 23439,
                              "loc": {
                                "start": {
                                  "line": 623,
                                  "column": 56
                                },
                                "end": {
                                  "line": 623,
                                  "column": 61
                                }
                              },
                              "name": "multY"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23442,
                              "end": 23447,
                              "loc": {
                                "start": {
                                  "line": 623,
                                  "column": 64
                                },
                                "end": {
                                  "line": 623,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23442,
                                "end": 23444,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 66
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23445,
                                "end": 23446,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 68
                                  }
                                },
                                "value": 9,
                                "rawValue": 9,
                                "raw": "9"
                              },
                              "computed": true
                            }
                          }
                        ]
                      }
                    ]
                  }
                }
              ]
            },
            "alternate": null,
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen derivatives",
                "start": 23092,
                "end": 23123,
                "loc": {
                  "start": {
                    "line": 617,
                    "column": 4
                  },
                  "end": {
                    "line": 617,
                    "column": 35
                  }
                },
                "range": [
                  23092,
                  23123
                ]
              }
            ]
          },
          {
            "type": "ReturnStatement",
            "start": 23462,
            "end": 23476,
            "loc": {
              "start": {
                "line": 626,
                "column": 4
              },
              "end": {
                "line": 626,
                "column": 18
              }
            },
            "argument": {
              "type": "Identifier",
              "start": 23469,
              "end": 23475,
              "loc": {
                "start": {
                  "line": 626,
                  "column": 11
                },
                "end": {
                  "line": 626,
                  "column": 17
                }
              },
              "name": "result"
            }
          }
        ],
        "trailingComments": null
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "\n * Transforms world coordinates into screen coordinates (possibly with derivatives).\n * Screen coordinates are relative to view region, given in pixels. (todo: more precisely?)\n * If 'localToWorld' parameter is an Object3D, then input coordinates are considered in its local space.\n * If 'withDerivs' parameter is set, then derivatives are calculated and returned.\n * @return object/dict with following members:\n *   position: Vector2 containing x and y coordinates of the 'position' point\n *   derivatives: list of three THREE.Vector2 components, showing\n *                how each input coordinate (x, y, z) influences output position on screen\n ",
          "start": 20223,
          "end": 20876,
          "loc": {
            "start": {
              "line": 559,
              "column": 0
            },
            "end": {
              "line": 568,
              "column": 3
            }
          },
          "range": [
            20223,
            20876
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Calculates coefficient, which allows to translate world size to screen size.\n * @param screenCoordsResult - result of method 'transformWorldToScreen' with derivatives\n * @return number alpha such that:\n *   a sphere of radius R in 3D world space corresponds to\n *   an ellipse with major radius (alpha * R) pixels on screen.\n ",
          "start": 23480,
          "end": 23815,
          "loc": {
            "start": {
              "line": 629,
              "column": 0
            },
            "end": {
              "line": 635,
              "column": 3
            }
          },
          "range": [
            23480,
            23815
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 23816,
      "end": 24640,
      "loc": {
        "start": {
          "line": 636,
          "column": 0
        },
        "end": {
          "line": 652,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 23825,
        "end": 23863,
        "loc": {
          "start": {
            "line": 636,
            "column": 9
          },
          "end": {
            "line": 636,
            "column": 47
          }
        },
        "name": "calculateWorldToScreenRadiusMultiplier",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 23864,
          "end": 23882,
          "loc": {
            "start": {
              "line": 636,
              "column": 48
            },
            "end": {
              "line": 636,
              "column": 66
            }
          },
          "name": "screenCoordsResult"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 23884,
        "end": 24640,
        "loc": {
          "start": {
            "line": 636,
            "column": 68
          },
          "end": {
            "line": 652,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 23991,
            "end": 24035,
            "loc": {
              "start": {
                "line": 638,
                "column": 4
              },
              "end": {
                "line": 638,
                "column": 48
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 23995,
                "end": 24034,
                "loc": {
                  "start": {
                    "line": 638,
                    "column": 8
                  },
                  "end": {
                    "line": 638,
                    "column": 47
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 23995,
                  "end": 24001,
                  "loc": {
                    "start": {
                      "line": 638,
                      "column": 8
                    },
                    "end": {
                      "line": 638,
                      "column": 14
                    }
                  },
                  "name": "derivs",
                  "leadingComments": null
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 24004,
                  "end": 24034,
                  "loc": {
                    "start": {
                      "line": 638,
                      "column": 17
                    },
                    "end": {
                      "line": 638,
                      "column": 47
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 24004,
                    "end": 24022,
                    "loc": {
                      "start": {
                        "line": 638,
                        "column": 17
                      },
                      "end": {
                        "line": 638,
                        "column": 35
                      }
                    },
                    "name": "screenCoordsResult"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 24023,
                    "end": 24034,
                    "loc": {
                      "start": {
                        "line": 638,
                        "column": 36
                      },
                      "end": {
                        "line": 638,
                        "column": 47
                      }
                    },
                    "name": "derivatives"
                  },
                  "computed": false
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " Note the sought-for coeff is the norm (i.e. maximal singular value) of the derivatives matrix",
                "start": 23890,
                "end": 23986,
                "loc": {
                  "start": {
                    "line": 637,
                    "column": 4
                  },
                  "end": {
                    "line": 637,
                    "column": 100
                  }
                },
                "range": [
                  23890,
                  23986
                ]
              }
            ],
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate elements of Gram matrix (i.e. A A^t)",
                "start": 24040,
                "end": 24089,
                "loc": {
                  "start": {
                    "line": 639,
                    "column": 4
                  },
                  "end": {
                    "line": 639,
                    "column": 53
                  }
                },
                "range": [
                  24040,
                  24089
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24094,
            "end": 24168,
            "loc": {
              "start": {
                "line": 640,
                "column": 4
              },
              "end": {
                "line": 640,
                "column": 78
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24098,
                "end": 24167,
                "loc": {
                  "start": {
                    "line": 640,
                    "column": 8
                  },
                  "end": {
                    "line": 640,
                    "column": 77
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24098,
                  "end": 24102,
                  "loc": {
                    "start": {
                      "line": 640,
                      "column": 8
                    },
                    "end": {
                      "line": 640,
                      "column": 12
                    }
                  },
                  "name": "rowX",
                  "leadingComments": null
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24105,
                  "end": 24167,
                  "loc": {
                    "start": {
                      "line": 640,
                      "column": 15
                    },
                    "end": {
                      "line": 640,
                      "column": 77
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24105,
                    "end": 24128,
                    "loc": {
                      "start": {
                        "line": 640,
                        "column": 15
                      },
                      "end": {
                        "line": 640,
                        "column": 38
                      }
                    },
                    "object": {
                      "type": "NewExpression",
                      "start": 24105,
                      "end": 24124,
                      "loc": {
                        "start": {
                          "line": 640,
                          "column": 15
                        },
                        "end": {
                          "line": 640,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 24109,
                        "end": 24122,
                        "loc": {
                          "start": {
                            "line": 640,
                            "column": 19
                          },
                          "end": {
                            "line": 640,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24109,
                          "end": 24114,
                          "loc": {
                            "start": {
                              "line": 640,
                              "column": 19
                            },
                            "end": {
                              "line": 640,
                              "column": 24
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 24115,
                          "end": 24122,
                          "loc": {
                            "start": {
                              "line": 640,
                              "column": 25
                            },
                            "end": {
                              "line": 640,
                              "column": 32
                            }
                          },
                          "name": "Vector3"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24125,
                      "end": 24128,
                      "loc": {
                        "start": {
                          "line": 640,
                          "column": 35
                        },
                        "end": {
                          "line": 640,
                          "column": 38
                        }
                      },
                      "name": "set"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 24129,
                      "end": 24140,
                      "loc": {
                        "start": {
                          "line": 640,
                          "column": 39
                        },
                        "end": {
                          "line": 640,
                          "column": 50
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24129,
                        "end": 24138,
                        "loc": {
                          "start": {
                            "line": 640,
                            "column": 39
                          },
                          "end": {
                            "line": 640,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24129,
                          "end": 24135,
                          "loc": {
                            "start": {
                              "line": 640,
                              "column": 39
                            },
                            "end": {
                              "line": 640,
                              "column": 45
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24136,
                          "end": 24137,
                          "loc": {
                            "start": {
                              "line": 640,
                              "column": 46
                            },
                            "end": {
                              "line": 640,
                              "column": 47
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24139,
                        "end": 24140,
                        "loc": {
                          "start": {
                            "line": 640,
                            "column": 49
                          },
                          "end": {
                            "line": 640,
                            "column": 50
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 24142,
                      "end": 24153,
                      "loc": {
                        "start": {
                          "line": 640,
                          "column": 52
                        },
                        "end": {
                          "line": 640,
                          "column": 63
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24142,
                        "end": 24151,
                        "loc": {
                          "start": {
                            "line": 640,
                            "column": 52
                          },
                          "end": {
                            "line": 640,
                            "column": 61
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24142,
                          "end": 24148,
                          "loc": {
                            "start": {
                              "line": 640,
                              "column": 52
                            },
                            "end": {
                              "line": 640,
                              "column": 58
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24149,
                          "end": 24150,
                          "loc": {
                            "start": {
                              "line": 640,
                              "column": 59
                            },
                            "end": {
                              "line": 640,
                              "column": 60
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24152,
                        "end": 24153,
                        "loc": {
                          "start": {
                            "line": 640,
                            "column": 62
                          },
                          "end": {
                            "line": 640,
                            "column": 63
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 24155,
                      "end": 24166,
                      "loc": {
                        "start": {
                          "line": 640,
                          "column": 65
                        },
                        "end": {
                          "line": 640,
                          "column": 76
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24155,
                        "end": 24164,
                        "loc": {
                          "start": {
                            "line": 640,
                            "column": 65
                          },
                          "end": {
                            "line": 640,
                            "column": 74
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24155,
                          "end": 24161,
                          "loc": {
                            "start": {
                              "line": 640,
                              "column": 65
                            },
                            "end": {
                              "line": 640,
                              "column": 71
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24162,
                          "end": 24163,
                          "loc": {
                            "start": {
                              "line": 640,
                              "column": 72
                            },
                            "end": {
                              "line": 640,
                              "column": 73
                            }
                          },
                          "value": 2,
                          "rawValue": 2,
                          "raw": "2"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24165,
                        "end": 24166,
                        "loc": {
                          "start": {
                            "line": 640,
                            "column": 75
                          },
                          "end": {
                            "line": 640,
                            "column": 76
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    }
                  ]
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate elements of Gram matrix (i.e. A A^t)",
                "start": 24040,
                "end": 24089,
                "loc": {
                  "start": {
                    "line": 639,
                    "column": 4
                  },
                  "end": {
                    "line": 639,
                    "column": 53
                  }
                },
                "range": [
                  24040,
                  24089
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24173,
            "end": 24247,
            "loc": {
              "start": {
                "line": 641,
                "column": 4
              },
              "end": {
                "line": 641,
                "column": 78
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24177,
                "end": 24246,
                "loc": {
                  "start": {
                    "line": 641,
                    "column": 8
                  },
                  "end": {
                    "line": 641,
                    "column": 77
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24177,
                  "end": 24181,
                  "loc": {
                    "start": {
                      "line": 641,
                      "column": 8
                    },
                    "end": {
                      "line": 641,
                      "column": 12
                    }
                  },
                  "name": "rowY"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24184,
                  "end": 24246,
                  "loc": {
                    "start": {
                      "line": 641,
                      "column": 15
                    },
                    "end": {
                      "line": 641,
                      "column": 77
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24184,
                    "end": 24207,
                    "loc": {
                      "start": {
                        "line": 641,
                        "column": 15
                      },
                      "end": {
                        "line": 641,
                        "column": 38
                      }
                    },
                    "object": {
                      "type": "NewExpression",
                      "start": 24184,
                      "end": 24203,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 15
                        },
                        "end": {
                          "line": 641,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 24188,
                        "end": 24201,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 19
                          },
                          "end": {
                            "line": 641,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24188,
                          "end": 24193,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 19
                            },
                            "end": {
                              "line": 641,
                              "column": 24
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 24194,
                          "end": 24201,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 25
                            },
                            "end": {
                              "line": 641,
                              "column": 32
                            }
                          },
                          "name": "Vector3"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24204,
                      "end": 24207,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 35
                        },
                        "end": {
                          "line": 641,
                          "column": 38
                        }
                      },
                      "name": "set"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 24208,
                      "end": 24219,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 39
                        },
                        "end": {
                          "line": 641,
                          "column": 50
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24208,
                        "end": 24217,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 39
                          },
                          "end": {
                            "line": 641,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24208,
                          "end": 24214,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 39
                            },
                            "end": {
                              "line": 641,
                              "column": 45
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24215,
                          "end": 24216,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 46
                            },
                            "end": {
                              "line": 641,
                              "column": 47
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24218,
                        "end": 24219,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 49
                          },
                          "end": {
                            "line": 641,
                            "column": 50
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 24221,
                      "end": 24232,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 52
                        },
                        "end": {
                          "line": 641,
                          "column": 63
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24221,
                        "end": 24230,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 52
                          },
                          "end": {
                            "line": 641,
                            "column": 61
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24221,
                          "end": 24227,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 52
                            },
                            "end": {
                              "line": 641,
                              "column": 58
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24228,
                          "end": 24229,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 59
                            },
                            "end": {
                              "line": 641,
                              "column": 60
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24231,
                        "end": 24232,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 62
                          },
                          "end": {
                            "line": 641,
                            "column": 63
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 24234,
                      "end": 24245,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 65
                        },
                        "end": {
                          "line": 641,
                          "column": 76
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24234,
                        "end": 24243,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 65
                          },
                          "end": {
                            "line": 641,
                            "column": 74
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24234,
                          "end": 24240,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 65
                            },
                            "end": {
                              "line": 641,
                              "column": 71
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24241,
                          "end": 24242,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 72
                            },
                            "end": {
                              "line": 641,
                              "column": 73
                            }
                          },
                          "value": 2,
                          "rawValue": 2,
                          "raw": "2"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24244,
                        "end": 24245,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 75
                          },
                          "end": {
                            "line": 641,
                            "column": 76
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    }
                  ]
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24252,
            "end": 24277,
            "loc": {
              "start": {
                "line": 642,
                "column": 4
              },
              "end": {
                "line": 642,
                "column": 29
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24256,
                "end": 24276,
                "loc": {
                  "start": {
                    "line": 642,
                    "column": 8
                  },
                  "end": {
                    "line": 642,
                    "column": 28
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24256,
                  "end": 24258,
                  "loc": {
                    "start": {
                      "line": 642,
                      "column": 8
                    },
                    "end": {
                      "line": 642,
                      "column": 10
                    }
                  },
                  "name": "xx"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24261,
                  "end": 24276,
                  "loc": {
                    "start": {
                      "line": 642,
                      "column": 13
                    },
                    "end": {
                      "line": 642,
                      "column": 28
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24261,
                    "end": 24274,
                    "loc": {
                      "start": {
                        "line": 642,
                        "column": 13
                      },
                      "end": {
                        "line": 642,
                        "column": 26
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24261,
                      "end": 24265,
                      "loc": {
                        "start": {
                          "line": 642,
                          "column": 13
                        },
                        "end": {
                          "line": 642,
                          "column": 17
                        }
                      },
                      "name": "rowX"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24266,
                      "end": 24274,
                      "loc": {
                        "start": {
                          "line": 642,
                          "column": 18
                        },
                        "end": {
                          "line": 642,
                          "column": 26
                        }
                      },
                      "name": "lengthSq"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24282,
            "end": 24307,
            "loc": {
              "start": {
                "line": 643,
                "column": 4
              },
              "end": {
                "line": 643,
                "column": 29
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24286,
                "end": 24306,
                "loc": {
                  "start": {
                    "line": 643,
                    "column": 8
                  },
                  "end": {
                    "line": 643,
                    "column": 28
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24286,
                  "end": 24288,
                  "loc": {
                    "start": {
                      "line": 643,
                      "column": 8
                    },
                    "end": {
                      "line": 643,
                      "column": 10
                    }
                  },
                  "name": "yy"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24291,
                  "end": 24306,
                  "loc": {
                    "start": {
                      "line": 643,
                      "column": 13
                    },
                    "end": {
                      "line": 643,
                      "column": 28
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24291,
                    "end": 24304,
                    "loc": {
                      "start": {
                        "line": 643,
                        "column": 13
                      },
                      "end": {
                        "line": 643,
                        "column": 26
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24291,
                      "end": 24295,
                      "loc": {
                        "start": {
                          "line": 643,
                          "column": 13
                        },
                        "end": {
                          "line": 643,
                          "column": 17
                        }
                      },
                      "name": "rowY"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24296,
                      "end": 24304,
                      "loc": {
                        "start": {
                          "line": 643,
                          "column": 18
                        },
                        "end": {
                          "line": 643,
                          "column": 26
                        }
                      },
                      "name": "lengthSq"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24312,
            "end": 24336,
            "loc": {
              "start": {
                "line": 644,
                "column": 4
              },
              "end": {
                "line": 644,
                "column": 28
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24316,
                "end": 24335,
                "loc": {
                  "start": {
                    "line": 644,
                    "column": 8
                  },
                  "end": {
                    "line": 644,
                    "column": 27
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24316,
                  "end": 24318,
                  "loc": {
                    "start": {
                      "line": 644,
                      "column": 8
                    },
                    "end": {
                      "line": 644,
                      "column": 10
                    }
                  },
                  "name": "xy"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24321,
                  "end": 24335,
                  "loc": {
                    "start": {
                      "line": 644,
                      "column": 13
                    },
                    "end": {
                      "line": 644,
                      "column": 27
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24321,
                    "end": 24329,
                    "loc": {
                      "start": {
                        "line": 644,
                        "column": 13
                      },
                      "end": {
                        "line": 644,
                        "column": 21
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24321,
                      "end": 24325,
                      "loc": {
                        "start": {
                          "line": 644,
                          "column": 13
                        },
                        "end": {
                          "line": 644,
                          "column": 17
                        }
                      },
                      "name": "rowX"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24326,
                      "end": 24329,
                      "loc": {
                        "start": {
                          "line": 644,
                          "column": 18
                        },
                        "end": {
                          "line": 644,
                          "column": 21
                        }
                      },
                      "name": "dot"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 24330,
                      "end": 24334,
                      "loc": {
                        "start": {
                          "line": 644,
                          "column": 22
                        },
                        "end": {
                          "line": 644,
                          "column": 26
                        }
                      },
                      "name": "rowY"
                    }
                  ]
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "find its maximal eigenvalue by solving quadratic equation",
                "start": 24341,
                "end": 24400,
                "loc": {
                  "start": {
                    "line": 645,
                    "column": 4
                  },
                  "end": {
                    "line": 645,
                    "column": 63
                  }
                },
                "range": [
                  24341,
                  24400
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24405,
            "end": 24429,
            "loc": {
              "start": {
                "line": 646,
                "column": 4
              },
              "end": {
                "line": 646,
                "column": 28
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24409,
                "end": 24428,
                "loc": {
                  "start": {
                    "line": 646,
                    "column": 8
                  },
                  "end": {
                    "line": 646,
                    "column": 27
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24409,
                  "end": 24412,
                  "loc": {
                    "start": {
                      "line": 646,
                      "column": 8
                    },
                    "end": {
                      "line": 646,
                      "column": 11
                    }
                  },
                  "name": "mid",
                  "leadingComments": null
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 24415,
                  "end": 24428,
                  "loc": {
                    "start": {
                      "line": 646,
                      "column": 14
                    },
                    "end": {
                      "line": 646,
                      "column": 27
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 24416,
                    "end": 24423,
                    "loc": {
                      "start": {
                        "line": 646,
                        "column": 15
                      },
                      "end": {
                        "line": 646,
                        "column": 22
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 24416,
                      "end": 24418,
                      "loc": {
                        "start": {
                          "line": 646,
                          "column": 15
                        },
                        "end": {
                          "line": 646,
                          "column": 17
                        }
                      },
                      "name": "xx"
                    },
                    "operator": "+",
                    "right": {
                      "type": "Identifier",
                      "start": 24421,
                      "end": 24423,
                      "loc": {
                        "start": {
                          "line": 646,
                          "column": 20
                        },
                        "end": {
                          "line": 646,
                          "column": 22
                        }
                      },
                      "name": "yy"
                    },
                    "parenthesizedExpression": true
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 24427,
                    "end": 24428,
                    "loc": {
                      "start": {
                        "line": 646,
                        "column": 26
                      },
                      "end": {
                        "line": 646,
                        "column": 27
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "find its maximal eigenvalue by solving quadratic equation",
                "start": 24341,
                "end": 24400,
                "loc": {
                  "start": {
                    "line": 645,
                    "column": 4
                  },
                  "end": {
                    "line": 645,
                    "column": 63
                  }
                },
                "range": [
                  24341,
                  24400
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24434,
            "end": 24460,
            "loc": {
              "start": {
                "line": 647,
                "column": 4
              },
              "end": {
                "line": 647,
                "column": 30
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24438,
                "end": 24459,
                "loc": {
                  "start": {
                    "line": 647,
                    "column": 8
                  },
                  "end": {
                    "line": 647,
                    "column": 29
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24438,
                  "end": 24443,
                  "loc": {
                    "start": {
                      "line": 647,
                      "column": 8
                    },
                    "end": {
                      "line": 647,
                      "column": 13
                    }
                  },
                  "name": "hDiff"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 24446,
                  "end": 24459,
                  "loc": {
                    "start": {
                      "line": 647,
                      "column": 16
                    },
                    "end": {
                      "line": 647,
                      "column": 29
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 24447,
                    "end": 24454,
                    "loc": {
                      "start": {
                        "line": 647,
                        "column": 17
                      },
                      "end": {
                        "line": 647,
                        "column": 24
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 24447,
                      "end": 24449,
                      "loc": {
                        "start": {
                          "line": 647,
                          "column": 17
                        },
                        "end": {
                          "line": 647,
                          "column": 19
                        }
                      },
                      "name": "xx"
                    },
                    "operator": "-",
                    "right": {
                      "type": "Identifier",
                      "start": 24452,
                      "end": 24454,
                      "loc": {
                        "start": {
                          "line": 647,
                          "column": 22
                        },
                        "end": {
                          "line": 647,
                          "column": 24
                        }
                      },
                      "name": "yy"
                    },
                    "parenthesizedExpression": true
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 24458,
                    "end": 24459,
                    "loc": {
                      "start": {
                        "line": 647,
                        "column": 28
                      },
                      "end": {
                        "line": 647,
                        "column": 29
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24465,
            "end": 24501,
            "loc": {
              "start": {
                "line": 648,
                "column": 4
              },
              "end": {
                "line": 648,
                "column": 40
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24469,
                "end": 24500,
                "loc": {
                  "start": {
                    "line": 648,
                    "column": 8
                  },
                  "end": {
                    "line": 648,
                    "column": 39
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24469,
                  "end": 24474,
                  "loc": {
                    "start": {
                      "line": 648,
                      "column": 8
                    },
                    "end": {
                      "line": 648,
                      "column": 13
                    }
                  },
                  "name": "discr"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 24477,
                  "end": 24500,
                  "loc": {
                    "start": {
                      "line": 648,
                      "column": 16
                    },
                    "end": {
                      "line": 648,
                      "column": 39
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 24477,
                    "end": 24490,
                    "loc": {
                      "start": {
                        "line": 648,
                        "column": 16
                      },
                      "end": {
                        "line": 648,
                        "column": 29
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 24477,
                      "end": 24482,
                      "loc": {
                        "start": {
                          "line": 648,
                          "column": 16
                        },
                        "end": {
                          "line": 648,
                          "column": 21
                        }
                      },
                      "name": "hDiff"
                    },
                    "operator": "*",
                    "right": {
                      "type": "Identifier",
                      "start": 24485,
                      "end": 24490,
                      "loc": {
                        "start": {
                          "line": 648,
                          "column": 24
                        },
                        "end": {
                          "line": 648,
                          "column": 29
                        }
                      },
                      "name": "hDiff"
                    }
                  },
                  "operator": "+",
                  "right": {
                    "type": "BinaryExpression",
                    "start": 24493,
                    "end": 24500,
                    "loc": {
                      "start": {
                        "line": 648,
                        "column": 32
                      },
                      "end": {
                        "line": 648,
                        "column": 39
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 24493,
                      "end": 24495,
                      "loc": {
                        "start": {
                          "line": 648,
                          "column": 32
                        },
                        "end": {
                          "line": 648,
                          "column": 34
                        }
                      },
                      "name": "xy"
                    },
                    "operator": "*",
                    "right": {
                      "type": "Identifier",
                      "start": 24498,
                      "end": 24500,
                      "loc": {
                        "start": {
                          "line": 648,
                          "column": 37
                        },
                        "end": {
                          "line": 648,
                          "column": 39
                        }
                      },
                      "name": "xy"
                    }
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24506,
            "end": 24555,
            "loc": {
              "start": {
                "line": 649,
                "column": 4
              },
              "end": {
                "line": 649,
                "column": 53
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24510,
                "end": 24554,
                "loc": {
                  "start": {
                    "line": 649,
                    "column": 8
                  },
                  "end": {
                    "line": 649,
                    "column": 52
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24510,
                  "end": 24514,
                  "loc": {
                    "start": {
                      "line": 649,
                      "column": 8
                    },
                    "end": {
                      "line": 649,
                      "column": 12
                    }
                  },
                  "name": "norm"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 24517,
                  "end": 24554,
                  "loc": {
                    "start": {
                      "line": 649,
                      "column": 15
                    },
                    "end": {
                      "line": 649,
                      "column": 52
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 24517,
                    "end": 24520,
                    "loc": {
                      "start": {
                        "line": 649,
                        "column": 15
                      },
                      "end": {
                        "line": 649,
                        "column": 18
                      }
                    },
                    "name": "mid"
                  },
                  "operator": "+",
                  "right": {
                    "type": "CallExpression",
                    "start": 24523,
                    "end": 24554,
                    "loc": {
                      "start": {
                        "line": 649,
                        "column": 21
                      },
                      "end": {
                        "line": 649,
                        "column": 52
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 24523,
                      "end": 24532,
                      "loc": {
                        "start": {
                          "line": 649,
                          "column": 21
                        },
                        "end": {
                          "line": 649,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 24523,
                        "end": 24527,
                        "loc": {
                          "start": {
                            "line": 649,
                            "column": 21
                          },
                          "end": {
                            "line": 649,
                            "column": 25
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24528,
                        "end": 24532,
                        "loc": {
                          "start": {
                            "line": 649,
                            "column": 26
                          },
                          "end": {
                            "line": 649,
                            "column": 30
                          }
                        },
                        "name": "sqrt"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 24533,
                        "end": 24553,
                        "loc": {
                          "start": {
                            "line": 649,
                            "column": 31
                          },
                          "end": {
                            "line": 649,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 24533,
                          "end": 24541,
                          "loc": {
                            "start": {
                              "line": 649,
                              "column": 31
                            },
                            "end": {
                              "line": 649,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 24533,
                            "end": 24537,
                            "loc": {
                              "start": {
                                "line": 649,
                                "column": 31
                              },
                              "end": {
                                "line": 649,
                                "column": 35
                              }
                            },
                            "name": "Math"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 24538,
                            "end": 24541,
                            "loc": {
                              "start": {
                                "line": 649,
                                "column": 36
                              },
                              "end": {
                                "line": 649,
                                "column": 39
                              }
                            },
                            "name": "max"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 24542,
                            "end": 24547,
                            "loc": {
                              "start": {
                                "line": 649,
                                "column": 40
                              },
                              "end": {
                                "line": 649,
                                "column": 45
                              }
                            },
                            "name": "discr"
                          },
                          {
                            "type": "Literal",
                            "start": 24549,
                            "end": 24552,
                            "loc": {
                              "start": {
                                "line": 649,
                                "column": 47
                              },
                              "end": {
                                "line": 649,
                                "column": 50
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0.0"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "singular value is its square root",
                "start": 24560,
                "end": 24595,
                "loc": {
                  "start": {
                    "line": 650,
                    "column": 4
                  },
                  "end": {
                    "line": 650,
                    "column": 39
                  }
                },
                "range": [
                  24560,
                  24595
                ]
              }
            ]
          },
          {
            "type": "ReturnStatement",
            "start": 24600,
            "end": 24638,
            "loc": {
              "start": {
                "line": 651,
                "column": 4
              },
              "end": {
                "line": 651,
                "column": 42
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 24607,
              "end": 24637,
              "loc": {
                "start": {
                  "line": 651,
                  "column": 11
                },
                "end": {
                  "line": 651,
                  "column": 41
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 24607,
                "end": 24616,
                "loc": {
                  "start": {
                    "line": 651,
                    "column": 11
                  },
                  "end": {
                    "line": 651,
                    "column": 20
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 24607,
                  "end": 24611,
                  "loc": {
                    "start": {
                      "line": 651,
                      "column": 11
                    },
                    "end": {
                      "line": 651,
                      "column": 15
                    }
                  },
                  "name": "Math",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 24612,
                  "end": 24616,
                  "loc": {
                    "start": {
                      "line": 651,
                      "column": 16
                    },
                    "end": {
                      "line": 651,
                      "column": 20
                    }
                  },
                  "name": "sqrt"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "CallExpression",
                  "start": 24617,
                  "end": 24636,
                  "loc": {
                    "start": {
                      "line": 651,
                      "column": 21
                    },
                    "end": {
                      "line": 651,
                      "column": 40
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24617,
                    "end": 24625,
                    "loc": {
                      "start": {
                        "line": 651,
                        "column": 21
                      },
                      "end": {
                        "line": 651,
                        "column": 29
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24617,
                      "end": 24621,
                      "loc": {
                        "start": {
                          "line": 651,
                          "column": 21
                        },
                        "end": {
                          "line": 651,
                          "column": 25
                        }
                      },
                      "name": "Math"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24622,
                      "end": 24625,
                      "loc": {
                        "start": {
                          "line": 651,
                          "column": 26
                        },
                        "end": {
                          "line": 651,
                          "column": 29
                        }
                      },
                      "name": "max"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 24626,
                      "end": 24630,
                      "loc": {
                        "start": {
                          "line": 651,
                          "column": 30
                        },
                        "end": {
                          "line": 651,
                          "column": 34
                        }
                      },
                      "name": "norm"
                    },
                    {
                      "type": "Literal",
                      "start": 24632,
                      "end": 24635,
                      "loc": {
                        "start": {
                          "line": 651,
                          "column": 36
                        },
                        "end": {
                          "line": 651,
                          "column": 39
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0.0"
                    }
                  ]
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "singular value is its square root",
                "start": 24560,
                "end": 24595,
                "loc": {
                  "start": {
                    "line": 650,
                    "column": 4
                  },
                  "end": {
                    "line": 650,
                    "column": 39
                  }
                },
                "range": [
                  24560,
                  24595
                ]
              }
            ]
          }
        ]
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Calculates coefficient, which allows to translate world size to screen size.\n * @param screenCoordsResult - result of method 'transformWorldToScreen' with derivatives\n * @return number alpha such that:\n *   a sphere of radius R in 3D world space corresponds to\n *   an ellipse with major radius (alpha * R) pixels on screen.\n ",
          "start": 23480,
          "end": 23815,
          "loc": {
            "start": {
              "line": 629,
              "column": 0
            },
            "end": {
              "line": 635,
              "column": 3
            }
          },
          "range": [
            23480,
            23815
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 24642,
      "end": 24991,
      "loc": {
        "start": {
          "line": 654,
          "column": 0
        },
        "end": {
          "line": 661,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 24651,
        "end": 24678,
        "loc": {
          "start": {
            "line": 654,
            "column": 9
          },
          "end": {
            "line": 654,
            "column": 36
          }
        },
        "name": "updateSizesAndVisualization"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [],
      "body": {
        "type": "BlockStatement",
        "start": 24681,
        "end": 24991,
        "loc": {
          "start": {
            "line": 654,
            "column": 39
          },
          "end": {
            "line": 661,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ExpressionStatement",
            "start": 24687,
            "end": 24989,
            "loc": {
              "start": {
                "line": 655,
                "column": 4
              },
              "end": {
                "line": 660,
                "column": 7
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 24687,
              "end": 24988,
              "loc": {
                "start": {
                  "line": 655,
                  "column": 4
                },
                "end": {
                  "line": 660,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 24687,
                "end": 24716,
                "loc": {
                  "start": {
                    "line": 655,
                    "column": 4
                  },
                  "end": {
                    "line": 655,
                    "column": 33
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 24687,
                  "end": 24693,
                  "loc": {
                    "start": {
                      "line": 655,
                      "column": 4
                    },
                    "end": {
                      "line": 655,
                      "column": 10
                    }
                  },
                  "name": "Sketch"
                },
                "property": {
                  "type": "Identifier",
                  "start": 24694,
                  "end": 24716,
                  "loc": {
                    "start": {
                      "line": 655,
                      "column": 11
                    },
                    "end": {
                      "line": 655,
                      "column": 33
                    }
                  },
                  "name": "ForObjectsWithChildren"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ThisExpression",
                  "start": 24717,
                  "end": 24721,
                  "loc": {
                    "start": {
                      "line": 655,
                      "column": 34
                    },
                    "end": {
                      "line": 655,
                      "column": 38
                    }
                  }
                },
                {
                  "type": "ArrowFunctionExpression",
                  "start": 24723,
                  "end": 24987,
                  "loc": {
                    "start": {
                      "line": 655,
                      "column": 40
                    },
                    "end": {
                      "line": 660,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 24723,
                      "end": 24726,
                      "loc": {
                        "start": {
                          "line": 655,
                          "column": 40
                        },
                        "end": {
                          "line": 655,
                          "column": 43
                        }
                      },
                      "name": "obj"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 24730,
                    "end": 24987,
                    "loc": {
                      "start": {
                        "line": 655,
                        "column": 47
                      },
                      "end": {
                        "line": 660,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 24740,
                        "end": 24757,
                        "loc": {
                          "start": {
                            "line": 656,
                            "column": 8
                          },
                          "end": {
                            "line": 656,
                            "column": 25
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 24744,
                          "end": 24748,
                          "loc": {
                            "start": {
                              "line": 656,
                              "column": 12
                            },
                            "end": {
                              "line": 656,
                              "column": 16
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 24745,
                            "end": 24748,
                            "loc": {
                              "start": {
                                "line": 656,
                                "column": 13
                              },
                              "end": {
                                "line": 656,
                                "column": 16
                              }
                            },
                            "name": "obj"
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 24750,
                          "end": 24757,
                          "loc": {
                            "start": {
                              "line": 656,
                              "column": 18
                            },
                            "end": {
                              "line": 656,
                              "column": 25
                            }
                          },
                          "argument": null,
                          "leadingComments": null,
                          "trailingComments": null
                        },
                        "alternate": null,
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": "TODO: perhaps we can add a \"dirty\" flag to avoid doing all the updates every frame...",
                            "start": 24766,
                            "end": 24853,
                            "loc": {
                              "start": {
                                "line": 657,
                                "column": 8
                              },
                              "end": {
                                "line": 657,
                                "column": 95
                              }
                            },
                            "range": [
                              24766,
                              24853
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 24862,
                        "end": 24919,
                        "loc": {
                          "start": {
                            "line": 658,
                            "column": 8
                          },
                          "end": {
                            "line": 658,
                            "column": 65
                          }
                        },
                        "expression": {
                          "type": "LogicalExpression",
                          "start": 24862,
                          "end": 24918,
                          "loc": {
                            "start": {
                              "line": 658,
                              "column": 8
                            },
                            "end": {
                              "line": 658,
                              "column": 64
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 24862,
                            "end": 24889,
                            "loc": {
                              "start": {
                                "line": 658,
                                "column": 8
                              },
                              "end": {
                                "line": 658,
                                "column": 35
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 24862,
                              "end": 24877,
                              "loc": {
                                "start": {
                                  "line": 658,
                                  "column": 8
                                },
                                "end": {
                                  "line": 658,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24862,
                                "end": 24865,
                                "loc": {
                                  "start": {
                                    "line": 658,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 658,
                                    "column": 11
                                  }
                                },
                                "name": "obj",
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24866,
                                "end": 24877,
                                "loc": {
                                  "start": {
                                    "line": 658,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 658,
                                    "column": 23
                                  }
                                },
                                "name": "updateSizes"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "operator": "&&",
                            "right": {
                              "type": "MemberExpression",
                              "start": 24881,
                              "end": 24889,
                              "loc": {
                                "start": {
                                  "line": 658,
                                  "column": 27
                                },
                                "end": {
                                  "line": 658,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24881,
                                "end": 24884,
                                "loc": {
                                  "start": {
                                    "line": 658,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 658,
                                    "column": 30
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24885,
                                "end": 24889,
                                "loc": {
                                  "start": {
                                    "line": 658,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 658,
                                    "column": 35
                                  }
                                },
                                "name": "view"
                              },
                              "computed": false
                            },
                            "leadingComments": null
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 24893,
                            "end": 24918,
                            "loc": {
                              "start": {
                                "line": 658,
                                "column": 39
                              },
                              "end": {
                                "line": 658,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 24893,
                              "end": 24908,
                              "loc": {
                                "start": {
                                  "line": 658,
                                  "column": 39
                                },
                                "end": {
                                  "line": 658,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24893,
                                "end": 24896,
                                "loc": {
                                  "start": {
                                    "line": 658,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 658,
                                    "column": 42
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24897,
                                "end": 24908,
                                "loc": {
                                  "start": {
                                    "line": 658,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 658,
                                    "column": 54
                                  }
                                },
                                "name": "updateSizes"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 24909,
                                "end": 24917,
                                "loc": {
                                  "start": {
                                    "line": 658,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 658,
                                    "column": 63
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 24909,
                                  "end": 24912,
                                  "loc": {
                                    "start": {
                                      "line": 658,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 658,
                                      "column": 58
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 24913,
                                  "end": 24917,
                                  "loc": {
                                    "start": {
                                      "line": 658,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 658,
                                      "column": 63
                                    }
                                  },
                                  "name": "view"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": "TODO: perhaps we can add a \"dirty\" flag to avoid doing all the updates every frame...",
                            "start": 24766,
                            "end": 24853,
                            "loc": {
                              "start": {
                                "line": 657,
                                "column": 8
                              },
                              "end": {
                                "line": 657,
                                "column": 95
                              }
                            },
                            "range": [
                              24766,
                              24853
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 24928,
                        "end": 24981,
                        "loc": {
                          "start": {
                            "line": 659,
                            "column": 8
                          },
                          "end": {
                            "line": 659,
                            "column": 61
                          }
                        },
                        "expression": {
                          "type": "LogicalExpression",
                          "start": 24928,
                          "end": 24980,
                          "loc": {
                            "start": {
                              "line": 659,
                              "column": 8
                            },
                            "end": {
                              "line": 659,
                              "column": 60
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 24928,
                            "end": 24951,
                            "loc": {
                              "start": {
                                "line": 659,
                                "column": 8
                              },
                              "end": {
                                "line": 659,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 24928,
                              "end": 24931,
                              "loc": {
                                "start": {
                                  "line": 659,
                                  "column": 8
                                },
                                "end": {
                                  "line": 659,
                                  "column": 11
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 24932,
                              "end": 24951,
                              "loc": {
                                "start": {
                                  "line": 659,
                                  "column": 12
                                },
                                "end": {
                                  "line": 659,
                                  "column": 31
                                }
                              },
                              "name": "updateVisualization"
                            },
                            "computed": false
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 24955,
                            "end": 24980,
                            "loc": {
                              "start": {
                                "line": 659,
                                "column": 35
                              },
                              "end": {
                                "line": 659,
                                "column": 60
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 24955,
                              "end": 24978,
                              "loc": {
                                "start": {
                                  "line": 659,
                                  "column": 35
                                },
                                "end": {
                                  "line": 659,
                                  "column": 58
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24955,
                                "end": 24958,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 38
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24959,
                                "end": 24978,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 58
                                  }
                                },
                                "name": "updateVisualization"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
}