{
  "type": "Program",
  "start": 0,
  "end": 6457,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 182,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 54,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 54
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 8,
          "end": 26,
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 26
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 8,
            "end": 26,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 26
              }
            },
            "name": "getObjectStatement"
          },
          "local": {
            "type": "Identifier",
            "start": 8,
            "end": 26,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 26
              }
            },
            "name": "getObjectStatement"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 33,
        "end": 53,
        "loc": {
          "start": {
            "line": 1,
            "column": 33
          },
          "end": {
            "line": 1,
            "column": 53
          }
        },
        "value": "sketcher/cchelpers",
        "rawValue": "sketcher/cchelpers",
        "raw": "'sketcher/cchelpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 55,
      "end": 81,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 62,
          "end": 67,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 62,
            "end": 67,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 73,
        "end": 80,
        "loc": {
          "start": {
            "line": 2,
            "column": 18
          },
          "end": {
            "line": 2,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 82,
      "end": 118,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 36
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 89,
          "end": 96,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 89,
            "end": 96,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 14
              }
            },
            "name": "Object3"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 102,
        "end": 117,
        "loc": {
          "start": {
            "line": 3,
            "column": 20
          },
          "end": {
            "line": 3,
            "column": 35
          }
        },
        "value": "three/object3",
        "rawValue": "three/object3",
        "raw": "'three/object3'"
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\n * Base class for all objects having corresponding object on the server.\n * It is the default class for creating objects when parsing object tree.\n * To provide more specialized client class for corresponding server class use classMapping:\n * ClassCadObject.classMapping[\"MyServerClass\"] = MyClientClass;\n ",
          "start": 120,
          "end": 431,
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 3
            }
          },
          "range": [
            120,
            431
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 432,
      "end": 2955,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 78,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 439,
        "end": 2955,
        "loc": {
          "start": {
            "line": 11,
            "column": 7
          },
          "end": {
            "line": 78,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 445,
          "end": 459,
          "loc": {
            "start": {
              "line": 11,
              "column": 13
            },
            "end": {
              "line": 11,
              "column": 27
            }
          },
          "name": "ClassCadObject",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 468,
          "end": 475,
          "loc": {
            "start": {
              "line": 11,
              "column": 36
            },
            "end": {
              "line": 11,
              "column": 43
            }
          },
          "name": "Object3"
        },
        "body": {
          "type": "ClassBody",
          "start": 476,
          "end": 2955,
          "loc": {
            "start": {
              "line": 11,
              "column": 44
            },
            "end": {
              "line": 78,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 482,
              "end": 564,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 4
                },
                "end": {
                  "line": 15,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 482,
                "end": 493,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 4
                  },
                  "end": {
                    "line": 12,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 493,
                "end": 564,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 15
                  },
                  "end": {
                    "line": 15,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 496,
                  "end": 564,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 18
                    },
                    "end": {
                      "line": 15,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 506,
                      "end": 514,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 506,
                        "end": 513,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 506,
                          "end": 511,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 523,
                      "end": 558,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 523,
                        "end": 557,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 523,
                          "end": 535,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 523,
                            "end": 527,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 528,
                            "end": 535,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 13
                              },
                              "end": {
                                "line": 14,
                                "column": 20
                              }
                            },
                            "name": "members"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 538,
                          "end": 557,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 23
                            },
                            "end": {
                              "line": 14,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 538,
                            "end": 551,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 23
                              },
                              "end": {
                                "line": 14,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 538,
                              "end": 544,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 23
                                },
                                "end": {
                                  "line": 14,
                                  "column": 29
                                }
                              },
                              "name": "Object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 545,
                              "end": 551,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 30
                                },
                                "end": {
                                  "line": 14,
                                  "column": 36
                                }
                              },
                              "name": "create"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 552,
                              "end": 556,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 37
                                },
                                "end": {
                                  "line": 14,
                                  "column": 41
                                }
                              },
                              "value": null,
                              "rawValue": null,
                              "raw": "null"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 570,
              "end": 763,
              "loc": {
                "start": {
                  "line": 17,
                  "column": 4
                },
                "end": {
                  "line": 21,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 574,
                "end": 582,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 8
                  },
                  "end": {
                    "line": 17,
                    "column": 16
                  }
                },
                "name": "fullName"
              },
              "static": false,
              "kind": "get",
              "value": {
                "type": "FunctionExpression",
                "start": 582,
                "end": 763,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 16
                  },
                  "end": {
                    "line": 21,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 585,
                  "end": 763,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 19
                    },
                    "end": {
                      "line": 21,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 595,
                      "end": 619,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 32
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 599,
                          "end": 618,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 12
                            },
                            "end": {
                              "line": 18,
                              "column": 31
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 599,
                            "end": 604,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 12
                              },
                              "end": {
                                "line": 18,
                                "column": 17
                              }
                            },
                            "name": "names"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 607,
                            "end": 618,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 20
                              },
                              "end": {
                                "line": 18,
                                "column": 31
                              }
                            },
                            "elements": [
                              {
                                "type": "MemberExpression",
                                "start": 608,
                                "end": 617,
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 608,
                                  "end": 612,
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 25
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 613,
                                  "end": 617,
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 30
                                    }
                                  },
                                  "name": "name"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 628,
                      "end": 715,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 19,
                          "column": 95
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 628,
                        "end": 714,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 19,
                            "column": 94
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 628,
                          "end": 650,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 8
                            },
                            "end": {
                              "line": 19,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 628,
                            "end": 632,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 8
                              },
                              "end": {
                                "line": 19,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 633,
                            "end": 650,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 13
                              },
                              "end": {
                                "line": 19,
                                "column": 30
                              }
                            },
                            "name": "traverseAncestors"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 651,
                            "end": 713,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 31
                              },
                              "end": {
                                "line": 19,
                                "column": 93
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 651,
                                "end": 654,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 34
                                  }
                                },
                                "name": "anc"
                              }
                            ],
                            "body": {
                              "type": "LogicalExpression",
                              "start": 658,
                              "end": 713,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 38
                                },
                                "end": {
                                  "line": 19,
                                  "column": 93
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 659,
                                "end": 688,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 68
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 659,
                                  "end": 662,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 42
                                    }
                                  },
                                  "name": "anc"
                                },
                                "operator": "instanceof",
                                "right": {
                                  "type": "Identifier",
                                  "start": 674,
                                  "end": 688,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 68
                                    }
                                  },
                                  "name": "ClassCadObject"
                                },
                                "parenthesizedExpression": true
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 693,
                                "end": 713,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 93
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 693,
                                  "end": 703,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 83
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 693,
                                    "end": 698,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 73
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 78
                                      }
                                    },
                                    "name": "names"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 699,
                                    "end": 703,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 83
                                      }
                                    },
                                    "name": "push"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 704,
                                    "end": 712,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 84
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 92
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 704,
                                      "end": 707,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 87
                                        }
                                      },
                                      "name": "anc"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 708,
                                      "end": 712,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 88
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 92
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 724,
                      "end": 757,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 8
                        },
                        "end": {
                          "line": 20,
                          "column": 41
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 731,
                        "end": 756,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 15
                          },
                          "end": {
                            "line": 20,
                            "column": 40
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 731,
                          "end": 751,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 15
                            },
                            "end": {
                              "line": 20,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 731,
                            "end": 746,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 15
                              },
                              "end": {
                                "line": 20,
                                "column": 30
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 731,
                              "end": 744,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 15
                                },
                                "end": {
                                  "line": 20,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 731,
                                "end": 736,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 20
                                  }
                                },
                                "name": "names"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 737,
                                "end": 744,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 28
                                  }
                                },
                                "name": "reverse"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 747,
                            "end": 751,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 31
                              },
                              "end": {
                                "line": 20,
                                "column": 35
                              }
                            },
                            "name": "join"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 752,
                            "end": 755,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 36
                              },
                              "end": {
                                "line": 20,
                                "column": 39
                              }
                            },
                            "value": ".",
                            "rawValue": ".",
                            "raw": "'.'"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 769,
              "end": 878,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 4
                },
                "end": {
                  "line": 25,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 769,
                "end": 785,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 4
                  },
                  "end": {
                    "line": 23,
                    "column": 20
                  }
                },
                "name": "updateFromServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 785,
                "end": 878,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 20
                  },
                  "end": {
                    "line": 25,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 786,
                    "end": 792,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 21
                      },
                      "end": {
                        "line": 23,
                        "column": 27
                      }
                    },
                    "name": "server"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 794,
                  "end": 878,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 29
                    },
                    "end": {
                      "line": 25,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 804,
                      "end": 872,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 76
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 811,
                        "end": 871,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 15
                          },
                          "end": {
                            "line": 24,
                            "column": 75
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 811,
                          "end": 863,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 15
                            },
                            "end": {
                              "line": 24,
                              "column": 67
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 811,
                            "end": 855,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 15
                              },
                              "end": {
                                "line": 24,
                                "column": 59
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 811,
                              "end": 849,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 15
                                },
                                "end": {
                                  "line": 24,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 811,
                                "end": 835,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 811,
                                  "end": 829,
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 33
                                    }
                                  },
                                  "name": "getObjectStatement"
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 830,
                                    "end": 834,
                                    "loc": {
                                      "start": {
                                        "line": 24,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 24,
                                        "column": 38
                                      }
                                    }
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 836,
                                "end": 849,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 53
                                  }
                                },
                                "name": "parseToObject"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 850,
                                "end": 854,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 58
                                  }
                                }
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 856,
                            "end": 863,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 60
                              },
                              "end": {
                                "line": 24,
                                "column": 67
                              }
                            },
                            "name": "execute"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 864,
                            "end": 870,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 68
                              },
                              "end": {
                                "line": 24,
                                "column": 74
                              }
                            },
                            "name": "server"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 884,
              "end": 910,
              "loc": {
                "start": {
                  "line": 27,
                  "column": 4
                },
                "end": {
                  "line": 28,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 884,
                "end": 900,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 4
                  },
                  "end": {
                    "line": 27,
                    "column": 20
                  }
                },
                "name": "finishedUpdating"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 900,
                "end": 910,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 20
                  },
                  "end": {
                    "line": 28,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 903,
                  "end": 910,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 23
                    },
                    "end": {
                      "line": 28,
                      "column": 5
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 916,
              "end": 1641,
              "loc": {
                "start": {
                  "line": 30,
                  "column": 4
                },
                "end": {
                  "line": 43,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 916,
                "end": 933,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 4
                  },
                  "end": {
                    "line": 30,
                    "column": 21
                  }
                },
                "name": "setFromObjectTree"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 933,
                "end": 1641,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 21
                  },
                  "end": {
                    "line": 43,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 934,
                    "end": 948,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 22
                      },
                      "end": {
                        "line": 30,
                        "column": 36
                      }
                    },
                    "name": "objectTreeNode"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 950,
                  "end": 1641,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 38
                    },
                    "end": {
                      "line": 43,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 960,
                      "end": 993,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 8
                        },
                        "end": {
                          "line": 31,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 960,
                        "end": 992,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 8
                          },
                          "end": {
                            "line": 31,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 960,
                          "end": 969,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 960,
                            "end": 964,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 965,
                            "end": 969,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 13
                              },
                              "end": {
                                "line": 31,
                                "column": 17
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 972,
                          "end": 992,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 20
                            },
                            "end": {
                              "line": 31,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 972,
                            "end": 986,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 20
                              },
                              "end": {
                                "line": 31,
                                "column": 34
                              }
                            },
                            "name": "objectTreeNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 987,
                            "end": 992,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 35
                              },
                              "end": {
                                "line": 31,
                                "column": 40
                              }
                            },
                            "name": "class"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1002,
                      "end": 1034,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1002,
                        "end": 1033,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 8
                          },
                          "end": {
                            "line": 32,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1002,
                          "end": 1011,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1002,
                            "end": 1006,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1007,
                            "end": 1011,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 13
                              },
                              "end": {
                                "line": 32,
                                "column": 17
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1014,
                          "end": 1033,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 20
                            },
                            "end": {
                              "line": 32,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1014,
                            "end": 1028,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 20
                              },
                              "end": {
                                "line": 32,
                                "column": 34
                              }
                            },
                            "name": "objectTreeNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1029,
                            "end": 1033,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 35
                              },
                              "end": {
                                "line": 32,
                                "column": 39
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " TODO many nodes (e.g. _O, SketchSets) strangely have visible = 0",
                          "start": 1043,
                          "end": 1110,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 75
                            }
                          },
                          "range": [
                            1043,
                            1110
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " this.visible = Boolean(objectTreeNode.objectInfo.graphicInfo.visible);",
                          "start": 1119,
                          "end": 1192,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 81
                            }
                          },
                          "range": [
                            1119,
                            1192
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1201,
                      "end": 1238,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1201,
                        "end": 1237,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1201,
                          "end": 1217,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1201,
                            "end": 1214,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1201,
                              "end": 1205,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 8
                                },
                                "end": {
                                  "line": 35,
                                  "column": 12
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1206,
                              "end": 1214,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 13
                                },
                                "end": {
                                  "line": 35,
                                  "column": 21
                                }
                              },
                              "name": "userData"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1215,
                            "end": 1217,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 22
                              },
                              "end": {
                                "line": 35,
                                "column": 24
                              }
                            },
                            "name": "id"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1220,
                          "end": 1237,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 27
                            },
                            "end": {
                              "line": 35,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1220,
                            "end": 1234,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 27
                              },
                              "end": {
                                "line": 35,
                                "column": 41
                              }
                            },
                            "name": "objectTreeNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1235,
                            "end": 1237,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 42
                              },
                              "end": {
                                "line": 35,
                                "column": 44
                              }
                            },
                            "name": "id"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " TODO many nodes (e.g. _O, SketchSets) strangely have visible = 0",
                          "start": 1043,
                          "end": 1110,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 75
                            }
                          },
                          "range": [
                            1043,
                            1110
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " this.visible = Boolean(objectTreeNode.objectInfo.graphicInfo.visible);",
                          "start": 1119,
                          "end": 1192,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 81
                            }
                          },
                          "range": [
                            1119,
                            1192
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1247,
                      "end": 1301,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 62
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1247,
                        "end": 1300,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 8
                          },
                          "end": {
                            "line": 36,
                            "column": 61
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1247,
                          "end": 1266,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 36,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1247,
                            "end": 1260,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1247,
                              "end": 1251,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 8
                                },
                                "end": {
                                  "line": 36,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1252,
                              "end": 1260,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 13
                                },
                                "end": {
                                  "line": 36,
                                  "column": 21
                                }
                              },
                              "name": "userData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1261,
                            "end": 1266,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 22
                              },
                              "end": {
                                "line": 36,
                                "column": 27
                              }
                            },
                            "name": "flags"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1269,
                          "end": 1300,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 30
                            },
                            "end": {
                              "line": 36,
                              "column": 61
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1269,
                            "end": 1294,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 30
                              },
                              "end": {
                                "line": 36,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1269,
                              "end": 1283,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 30
                                },
                                "end": {
                                  "line": 36,
                                  "column": 44
                                }
                              },
                              "name": "objectTreeNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1284,
                              "end": 1294,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 45
                                },
                                "end": {
                                  "line": 36,
                                  "column": 55
                                }
                              },
                              "name": "objectInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1295,
                            "end": 1300,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 56
                              },
                              "end": {
                                "line": 36,
                                "column": 61
                              }
                            },
                            "name": "flags"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 1310,
                      "end": 1464,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 1319,
                        "end": 1323,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 17
                          },
                          "end": {
                            "line": 37,
                            "column": 21
                          }
                        },
                        "name": "vec3"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 1324,
                          "end": 1328,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 22
                            },
                            "end": {
                              "line": 37,
                              "column": 26
                            }
                          },
                          "name": "name"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 1330,
                        "end": 1464,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 28
                          },
                          "end": {
                            "line": 40,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 1344,
                            "end": 1401,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 12
                              },
                              "end": {
                                "line": 38,
                                "column": 69
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 1348,
                                "end": 1400,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 68
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 1348,
                                  "end": 1349,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 17
                                    }
                                  },
                                  "name": "v"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 1352,
                                  "end": 1400,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1352,
                                    "end": 1394,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 62
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1352,
                                      "end": 1377,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 45
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1352,
                                        "end": 1366,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 34
                                          }
                                        },
                                        "name": "objectTreeNode"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1367,
                                        "end": 1377,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 45
                                          }
                                        },
                                        "name": "objectInfo"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1378,
                                      "end": 1394,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 62
                                        }
                                      },
                                      "name": "coordinateSystem"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1395,
                                    "end": 1399,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 67
                                      }
                                    },
                                    "name": "name"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 1414,
                            "end": 1454,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 12
                              },
                              "end": {
                                "line": 39,
                                "column": 52
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 1421,
                              "end": 1453,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 19
                                },
                                "end": {
                                  "line": 39,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1425,
                                "end": 1438,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1425,
                                  "end": 1430,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 28
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1431,
                                  "end": 1438,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 36
                                    }
                                  },
                                  "name": "Vector3"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1439,
                                  "end": 1442,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1439,
                                    "end": 1440,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 38
                                      }
                                    },
                                    "name": "v"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1441,
                                    "end": 1442,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 40
                                      }
                                    },
                                    "name": "x"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 1444,
                                  "end": 1447,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1444,
                                    "end": 1445,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 43
                                      }
                                    },
                                    "name": "v"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1446,
                                    "end": 1447,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 45
                                      }
                                    },
                                    "name": "y"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 1449,
                                  "end": 1452,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1449,
                                    "end": 1450,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 48
                                      }
                                    },
                                    "name": "v"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1451,
                                    "end": 1452,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 50
                                      }
                                    },
                                    "name": "z"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Object tree has world (not local) coordinates",
                          "start": 1473,
                          "end": 1521,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 56
                            }
                          },
                          "range": [
                            1473,
                            1521
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1530,
                      "end": 1635,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 113
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1530,
                        "end": 1634,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 112
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1530,
                          "end": 1619,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 97
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1530,
                            "end": 1607,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 85
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1530,
                              "end": 1556,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 8
                                },
                                "end": {
                                  "line": 42,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1530,
                                "end": 1546,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1530,
                                  "end": 1534,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 12
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1535,
                                  "end": 1546,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 24
                                    }
                                  },
                                  "name": "matrixWorld"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1547,
                                "end": 1556,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 34
                                  }
                                },
                                "name": "makeBasis"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 1557,
                                "end": 1572,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 50
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1557,
                                  "end": 1561,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 39
                                    }
                                  },
                                  "name": "vec3"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 1562,
                                    "end": 1571,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 49
                                      }
                                    },
                                    "value": "vectorX",
                                    "rawValue": "vectorX",
                                    "raw": "'vectorX'"
                                  }
                                ]
                              },
                              {
                                "type": "CallExpression",
                                "start": 1574,
                                "end": 1589,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 67
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1574,
                                  "end": 1578,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 56
                                    }
                                  },
                                  "name": "vec3"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 1579,
                                    "end": 1588,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 66
                                      }
                                    },
                                    "value": "vectorY",
                                    "rawValue": "vectorY",
                                    "raw": "'vectorY'"
                                  }
                                ]
                              },
                              {
                                "type": "CallExpression",
                                "start": 1591,
                                "end": 1606,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 84
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1591,
                                  "end": 1595,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 73
                                    }
                                  },
                                  "name": "vec3"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 1596,
                                    "end": 1605,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 74
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 83
                                      }
                                    },
                                    "value": "vectorZ",
                                    "rawValue": "vectorZ",
                                    "raw": "'vectorZ'"
                                  }
                                ]
                              }
                            ],
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1608,
                            "end": 1619,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 86
                              },
                              "end": {
                                "line": 42,
                                "column": 97
                              }
                            },
                            "name": "setPosition"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 1620,
                            "end": 1633,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 98
                              },
                              "end": {
                                "line": 42,
                                "column": 111
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1620,
                              "end": 1624,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 98
                                },
                                "end": {
                                  "line": 42,
                                  "column": 102
                                }
                              },
                              "name": "vec3"
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 1625,
                                "end": 1632,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 103
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 110
                                  }
                                },
                                "value": "point",
                                "rawValue": "point",
                                "raw": "'point'"
                              }
                            ]
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Object tree has world (not local) coordinates",
                          "start": 1473,
                          "end": 1521,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 56
                            }
                          },
                          "range": [
                            1473,
                            1521
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 1647,
              "end": 1785,
              "loc": {
                "start": {
                  "line": 45,
                  "column": 4
                },
                "end": {
                  "line": 48,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1647,
                "end": 1674,
                "loc": {
                  "start": {
                    "line": 45,
                    "column": 4
                  },
                  "end": {
                    "line": 45,
                    "column": 31
                  }
                },
                "name": "updateMatrixFromMatrixWorld"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 1674,
                "end": 1785,
                "loc": {
                  "start": {
                    "line": 45,
                    "column": 31
                  },
                  "end": {
                    "line": 48,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1677,
                  "end": 1785,
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 34
                    },
                    "end": {
                      "line": 48,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1687,
                      "end": 1735,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 56
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1687,
                        "end": 1734,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 55
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1687,
                          "end": 1709,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1687,
                            "end": 1698,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1687,
                              "end": 1691,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 8
                                },
                                "end": {
                                  "line": 46,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1692,
                              "end": 1698,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 13
                                },
                                "end": {
                                  "line": 46,
                                  "column": 19
                                }
                              },
                              "name": "matrix"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1699,
                            "end": 1709,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 20
                              },
                              "end": {
                                "line": 46,
                                "column": 30
                              }
                            },
                            "name": "getInverse"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1710,
                            "end": 1733,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 31
                              },
                              "end": {
                                "line": 46,
                                "column": 54
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1710,
                              "end": 1721,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 31
                                },
                                "end": {
                                  "line": 46,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1710,
                                "end": 1714,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 35
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1715,
                                "end": 1721,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 42
                                  }
                                },
                                "name": "parent"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1722,
                              "end": 1733,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 43
                                },
                                "end": {
                                  "line": 46,
                                  "column": 54
                                }
                              },
                              "name": "matrixWorld"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1744,
                      "end": 1779,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1744,
                        "end": 1778,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 8
                          },
                          "end": {
                            "line": 47,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1744,
                          "end": 1760,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1744,
                            "end": 1748,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 8
                              },
                              "end": {
                                "line": 47,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1749,
                            "end": 1760,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 13
                              },
                              "end": {
                                "line": 47,
                                "column": 24
                              }
                            },
                            "name": "applyMatrix"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1761,
                            "end": 1777,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 25
                              },
                              "end": {
                                "line": 47,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1761,
                              "end": 1765,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 25
                                },
                                "end": {
                                  "line": 47,
                                  "column": 29
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1766,
                              "end": 1777,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 30
                                },
                                "end": {
                                  "line": 47,
                                  "column": 41
                                }
                              },
                              "name": "matrixWorld"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 1791,
              "end": 2376,
              "loc": {
                "start": {
                  "line": 50,
                  "column": 4
                },
                "end": {
                  "line": 61,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1791,
                "end": 1800,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 4
                  },
                  "end": {
                    "line": 50,
                    "column": 13
                  }
                },
                "name": "addMember"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 1800,
                "end": 2376,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 13
                  },
                  "end": {
                    "line": 61,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1801,
                    "end": 1807,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 14
                      },
                      "end": {
                        "line": 50,
                        "column": 20
                      }
                    },
                    "name": "member"
                  },
                  {
                    "type": "Identifier",
                    "start": 1809,
                    "end": 1827,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 22
                      },
                      "end": {
                        "line": 50,
                        "column": 40
                      }
                    },
                    "name": "markAsFreshlyAdded"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1829,
                  "end": 2376,
                  "loc": {
                    "start": {
                      "line": 50,
                      "column": 42
                    },
                    "end": {
                      "line": 61,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1839,
                      "end": 1894,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 51,
                          "column": 63
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1839,
                        "end": 1893,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 62
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1839,
                          "end": 1884,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1839,
                            "end": 1851,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 8
                              },
                              "end": {
                                "line": 51,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1839,
                              "end": 1843,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 8
                                },
                                "end": {
                                  "line": 51,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1844,
                              "end": 1851,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 13
                                },
                                "end": {
                                  "line": 51,
                                  "column": 20
                                }
                              },
                              "name": "members"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "MemberExpression",
                            "start": 1852,
                            "end": 1883,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 21
                              },
                              "end": {
                                "line": 51,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1852,
                              "end": 1878,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 21
                                },
                                "end": {
                                  "line": 51,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1852,
                                "end": 1867,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1852,
                                  "end": 1858,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 27
                                    }
                                  },
                                  "name": "member"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1859,
                                  "end": 1867,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 36
                                    }
                                  },
                                  "name": "userData"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1868,
                                "end": 1878,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 47
                                  }
                                },
                                "name": "memberInfo"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1879,
                              "end": 1883,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 48
                                },
                                "end": {
                                  "line": 51,
                                  "column": 52
                                }
                              },
                              "name": "name"
                            },
                            "computed": false
                          },
                          "computed": true
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1887,
                          "end": 1893,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 56
                            },
                            "end": {
                              "line": 51,
                              "column": 62
                            }
                          },
                          "name": "member"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1903,
                      "end": 1966,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 71
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1903,
                        "end": 1965,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 70
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1903,
                          "end": 1944,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1903,
                            "end": 1929,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 8
                              },
                              "end": {
                                "line": 52,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1903,
                              "end": 1918,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 8
                                },
                                "end": {
                                  "line": 52,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1903,
                                "end": 1909,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 14
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1910,
                                "end": 1918,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 23
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1919,
                              "end": 1929,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 24
                                },
                                "end": {
                                  "line": 52,
                                  "column": 34
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1930,
                            "end": 1944,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 35
                              },
                              "end": {
                                "line": 52,
                                "column": 49
                              }
                            },
                            "name": "isFreshlyAdded"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1947,
                          "end": 1965,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 52
                            },
                            "end": {
                              "line": 52,
                              "column": 70
                            }
                          },
                          "name": "markAsFreshlyAdded"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 1975,
                      "end": 2275,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1979,
                        "end": 2026,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 12
                          },
                          "end": {
                            "line": 53,
                            "column": 59
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 1979,
                          "end": 2010,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 12
                            },
                            "end": {
                              "line": 53,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1979,
                            "end": 2005,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 12
                              },
                              "end": {
                                "line": 53,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1979,
                              "end": 1994,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 12
                                },
                                "end": {
                                  "line": 53,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1979,
                                "end": 1985,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 18
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1986,
                                "end": 1994,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 27
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1995,
                              "end": 2005,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 28
                                },
                                "end": {
                                  "line": 53,
                                  "column": 38
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2006,
                            "end": 2010,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 39
                              },
                              "end": {
                                "line": 53,
                                "column": 43
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 2015,
                          "end": 2026,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 48
                            },
                            "end": {
                              "line": 53,
                              "column": 59
                            }
                          },
                          "value": "objectMem",
                          "rawValue": "objectMem",
                          "raw": "'objectMem'"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2028,
                        "end": 2275,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 61
                          },
                          "end": {
                            "line": 58,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 2042,
                            "end": 2103,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 12
                              },
                              "end": {
                                "line": 55,
                                "column": 33
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 2046,
                              "end": 2068,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 16
                                },
                                "end": {
                                  "line": 54,
                                  "column": 38
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 2046,
                                "end": 2059,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2046,
                                  "end": 2052,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 22
                                    }
                                  },
                                  "name": "member"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2053,
                                  "end": 2059,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 29
                                    }
                                  },
                                  "name": "parent"
                                },
                                "computed": false
                              },
                              "operator": "!==",
                              "right": {
                                "type": "ThisExpression",
                                "start": 2064,
                                "end": 2068,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 38
                                  }
                                }
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 2086,
                              "end": 2103,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 16
                                },
                                "end": {
                                  "line": 55,
                                  "column": 33
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 2086,
                                "end": 2102,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 32
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2086,
                                  "end": 2094,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 24
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 2086,
                                    "end": 2090,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2091,
                                    "end": 2094,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 24
                                      }
                                    },
                                    "name": "add"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 2095,
                                    "end": 2101,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 31
                                      }
                                    },
                                    "name": "member"
                                  }
                                ]
                              },
                              "trailingComments": null
                            },
                            "alternate": null,
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " World coordinates are set from the object tree. Now that parent is known, set local coordinates.",
                                "start": 2116,
                                "end": 2215,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 111
                                  }
                                },
                                "range": [
                                  2116,
                                  2215
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2228,
                            "end": 2265,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 12
                              },
                              "end": {
                                "line": 57,
                                "column": 49
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 2228,
                              "end": 2264,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 12
                                },
                                "end": {
                                  "line": 57,
                                  "column": 48
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2228,
                                "end": 2262,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2228,
                                  "end": 2234,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 18
                                    }
                                  },
                                  "name": "member",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2235,
                                  "end": 2262,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 46
                                    }
                                  },
                                  "name": "updateMatrixFromMatrixWorld"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " World coordinates are set from the object tree. Now that parent is known, set local coordinates.",
                                "start": 2116,
                                "end": 2215,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 111
                                  }
                                },
                                "range": [
                                  2116,
                                  2215
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 2284,
                      "end": 2370,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2288,
                        "end": 2329,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 12
                          },
                          "end": {
                            "line": 59,
                            "column": 53
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2288,
                          "end": 2319,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 12
                            },
                            "end": {
                              "line": 59,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2288,
                            "end": 2314,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 12
                              },
                              "end": {
                                "line": 59,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2288,
                              "end": 2303,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 12
                                },
                                "end": {
                                  "line": 59,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2288,
                                "end": 2294,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 18
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2295,
                                "end": 2303,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 27
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2304,
                              "end": 2314,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 28
                                },
                                "end": {
                                  "line": 59,
                                  "column": 38
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2315,
                            "end": 2319,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 39
                              },
                              "end": {
                                "line": 59,
                                "column": 43
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 2324,
                          "end": 2329,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 48
                            },
                            "end": {
                              "line": 59,
                              "column": 53
                            }
                          },
                          "value": "pos",
                          "rawValue": "pos",
                          "raw": "'pos'"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 2343,
                        "end": 2370,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 12
                          },
                          "end": {
                            "line": 60,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 2343,
                          "end": 2369,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 12
                            },
                            "end": {
                              "line": 60,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2343,
                            "end": 2361,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 12
                              },
                              "end": {
                                "line": 60,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2343,
                              "end": 2356,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 12
                                },
                                "end": {
                                  "line": 60,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2343,
                                "end": 2347,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2348,
                                "end": 2356,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 25
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2357,
                              "end": 2361,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 26
                                },
                                "end": {
                                  "line": 60,
                                  "column": 30
                                }
                              },
                              "name": "copy"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2362,
                              "end": 2368,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 31
                                },
                                "end": {
                                  "line": 60,
                                  "column": 37
                                }
                              },
                              "name": "member"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 2382,
              "end": 2953,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 4
                },
                "end": {
                  "line": 77,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2382,
                "end": 2406,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 4
                  },
                  "end": {
                    "line": 63,
                    "column": 28
                  }
                },
                "name": "removeSuperfluousMembers"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 2406,
                "end": 2953,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 28
                  },
                  "end": {
                    "line": 77,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2409,
                  "end": 2953,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 31
                    },
                    "end": {
                      "line": 77,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2419,
                      "end": 2447,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 36
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2423,
                          "end": 2446,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 12
                            },
                            "end": {
                              "line": 64,
                              "column": 35
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2423,
                            "end": 2441,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 12
                              },
                              "end": {
                                "line": 64,
                                "column": 30
                              }
                            },
                            "name": "superfluousMembers"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 2444,
                            "end": 2446,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 33
                              },
                              "end": {
                                "line": 64,
                                "column": 35
                              }
                            },
                            "elements": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2456,
                      "end": 2912,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2456,
                        "end": 2911,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2456,
                          "end": 2489,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 2456,
                            "end": 2481,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 8
                              },
                              "end": {
                                "line": 65,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2456,
                              "end": 2467,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 8
                                },
                                "end": {
                                  "line": 65,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2456,
                                "end": 2462,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 14
                                  }
                                },
                                "name": "Object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2463,
                                "end": 2467,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 19
                                  }
                                },
                                "name": "keys"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 2468,
                                "end": 2480,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2468,
                                  "end": 2472,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2473,
                                  "end": 2480,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 32
                                    }
                                  },
                                  "name": "members"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2482,
                            "end": 2489,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 34
                              },
                              "end": {
                                "line": 65,
                                "column": 41
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2490,
                            "end": 2910,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 42
                              },
                              "end": {
                                "line": 75,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 2490,
                                "end": 2494,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 46
                                  }
                                },
                                "name": "name"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 2498,
                              "end": 2910,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 50
                                },
                                "end": {
                                  "line": 75,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 2512,
                                  "end": 2544,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 44
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 2516,
                                      "end": 2543,
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 66,
                                          "column": 43
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 2516,
                                        "end": 2522,
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 66,
                                            "column": 22
                                          }
                                        },
                                        "name": "member"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 2525,
                                        "end": 2543,
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 66,
                                            "column": 43
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2525,
                                          "end": 2537,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 37
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2525,
                                            "end": 2529,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2530,
                                            "end": 2537,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 37
                                              }
                                            },
                                            "name": "members"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2538,
                                          "end": 2542,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 42
                                            }
                                          },
                                          "name": "name"
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 2557,
                                  "end": 2714,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 13
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 2561,
                                    "end": 2602,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 57
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2561,
                                      "end": 2587,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2561,
                                        "end": 2576,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2561,
                                          "end": 2567,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 22
                                            }
                                          },
                                          "name": "member"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2568,
                                          "end": 2576,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 31
                                            }
                                          },
                                          "name": "userData"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2577,
                                        "end": 2587,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 42
                                          }
                                        },
                                        "name": "memberInfo"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2588,
                                      "end": 2602,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 57
                                        }
                                      },
                                      "name": "isFreshlyAdded"
                                    },
                                    "computed": false
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 2604,
                                    "end": 2714,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 70,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2622,
                                        "end": 2676,
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 70
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 2622,
                                          "end": 2675,
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 69
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 2622,
                                            "end": 2663,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 57
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 2622,
                                              "end": 2648,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 2622,
                                                "end": 2637,
                                                "loc": {
                                                  "start": {
                                                    "line": 68,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 68,
                                                    "column": 31
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 2622,
                                                  "end": 2628,
                                                  "loc": {
                                                    "start": {
                                                      "line": 68,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 68,
                                                      "column": 22
                                                    }
                                                  },
                                                  "name": "member"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2629,
                                                  "end": 2637,
                                                  "loc": {
                                                    "start": {
                                                      "line": 68,
                                                      "column": 23
                                                    },
                                                    "end": {
                                                      "line": 68,
                                                      "column": 31
                                                    }
                                                  },
                                                  "name": "userData"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2638,
                                                "end": 2648,
                                                "loc": {
                                                  "start": {
                                                    "line": 68,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 68,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "memberInfo"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2649,
                                              "end": 2663,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 57
                                                }
                                              },
                                              "name": "isFreshlyAdded"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 2666,
                                            "end": 2675,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 69
                                              }
                                            },
                                            "name": "undefined"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "start": 2693,
                                        "end": 2700,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 23
                                          }
                                        },
                                        "argument": null
                                      }
                                    ]
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2727,
                                  "end": 2759,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 44
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 2727,
                                    "end": 2758,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 43
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2727,
                                      "end": 2750,
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2727,
                                        "end": 2745,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 30
                                          }
                                        },
                                        "name": "superfluousMembers"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2746,
                                        "end": 2750,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 35
                                          }
                                        },
                                        "name": "push"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 2751,
                                        "end": 2757,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 42
                                          }
                                        },
                                        "name": "member"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2772,
                                  "end": 2798,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 38
                                    }
                                  },
                                  "expression": {
                                    "type": "UnaryExpression",
                                    "start": 2772,
                                    "end": 2797,
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 37
                                      }
                                    },
                                    "operator": "delete",
                                    "prefix": true,
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 2779,
                                      "end": 2797,
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2779,
                                        "end": 2791,
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2779,
                                          "end": 2783,
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2784,
                                          "end": 2791,
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 31
                                            }
                                          },
                                          "name": "members"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2792,
                                        "end": 2796,
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 36
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "computed": true
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 2811,
                                  "end": 2900,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 36
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 2815,
                                    "end": 2862,
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 63
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2815,
                                      "end": 2846,
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 47
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2815,
                                        "end": 2841,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 42
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2815,
                                          "end": 2830,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 31
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2815,
                                            "end": 2821,
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 22
                                              }
                                            },
                                            "name": "member"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2822,
                                            "end": 2830,
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 31
                                              }
                                            },
                                            "name": "userData"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2831,
                                          "end": 2841,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 42
                                            }
                                          },
                                          "name": "memberInfo"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2842,
                                        "end": 2846,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 47
                                          }
                                        },
                                        "name": "type"
                                      },
                                      "computed": false
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "Literal",
                                      "start": 2851,
                                      "end": 2862,
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 63
                                        }
                                      },
                                      "value": "objectMem",
                                      "rawValue": "objectMem",
                                      "raw": "'objectMem'"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 2880,
                                    "end": 2900,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 36
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 2880,
                                      "end": 2899,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 35
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 2880,
                                        "end": 2891,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2880,
                                          "end": 2884,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2885,
                                          "end": 2891,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 27
                                            }
                                          },
                                          "name": "remove"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 2892,
                                          "end": 2898,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 34
                                            }
                                          },
                                          "name": "member"
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2921,
                      "end": 2947,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 2928,
                        "end": 2946,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 15
                          },
                          "end": {
                            "line": 76,
                            "column": 33
                          }
                        },
                        "name": "superfluousMembers"
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "\n * Base class for all objects having corresponding object on the server.\n * It is the default class for creating objects when parsing object tree.\n * To provide more specialized client class for corresponding server class use classMapping:\n * ClassCadObject.classMapping[\"MyServerClass\"] = MyClientClass;\n ",
            "start": 120,
            "end": 431,
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 3
              }
            },
            "range": [
              120,
              431
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "\n * Base class for all objects having corresponding object on the server.\n * It is the default class for creating objects when parsing object tree.\n * To provide more specialized client class for corresponding server class use classMapping:\n * ClassCadObject.classMapping[\"MyServerClass\"] = MyClientClass;\n ",
          "start": 120,
          "end": 431,
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 3
            }
          },
          "range": [
            120,
            431
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 2957,
      "end": 3007,
      "loc": {
        "start": {
          "line": 80,
          "column": 0
        },
        "end": {
          "line": 80,
          "column": 50
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 2957,
        "end": 3006,
        "loc": {
          "start": {
            "line": 80,
            "column": 0
          },
          "end": {
            "line": 80,
            "column": 49
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 2957,
          "end": 2984,
          "loc": {
            "start": {
              "line": 80,
              "column": 0
            },
            "end": {
              "line": 80,
              "column": 27
            }
          },
          "object": {
            "type": "Identifier",
            "start": 2957,
            "end": 2971,
            "loc": {
              "start": {
                "line": 80,
                "column": 0
              },
              "end": {
                "line": 80,
                "column": 14
              }
            },
            "name": "ClassCadObject"
          },
          "property": {
            "type": "Identifier",
            "start": 2972,
            "end": 2984,
            "loc": {
              "start": {
                "line": 80,
                "column": 15
              },
              "end": {
                "line": 80,
                "column": 27
              }
            },
            "name": "classMapping"
          },
          "computed": false
        },
        "right": {
          "type": "CallExpression",
          "start": 2987,
          "end": 3006,
          "loc": {
            "start": {
              "line": 80,
              "column": 30
            },
            "end": {
              "line": 80,
              "column": 49
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 2987,
            "end": 3000,
            "loc": {
              "start": {
                "line": 80,
                "column": 30
              },
              "end": {
                "line": 80,
                "column": 43
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2987,
              "end": 2993,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 30
                },
                "end": {
                  "line": 80,
                  "column": 36
                }
              },
              "name": "Object"
            },
            "property": {
              "type": "Identifier",
              "start": 2994,
              "end": 3000,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 37
                },
                "end": {
                  "line": 80,
                  "column": 43
                }
              },
              "name": "create"
            },
            "computed": false
          },
          "arguments": [
            {
              "type": "Literal",
              "start": 3001,
              "end": 3005,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 44
                },
                "end": {
                  "line": 80,
                  "column": 48
                }
              },
              "value": null,
              "rawValue": null,
              "raw": "null"
            }
          ]
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\n * Class for _O object, root of the object hiearchy.\n ",
          "start": 3009,
          "end": 3068,
          "loc": {
            "start": {
              "line": 82,
              "column": 0
            },
            "end": {
              "line": 84,
              "column": 3
            }
          },
          "range": [
            3009,
            3068
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 3069,
      "end": 3432,
      "loc": {
        "start": {
          "line": 85,
          "column": 0
        },
        "end": {
          "line": 97,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 3076,
        "end": 3432,
        "loc": {
          "start": {
            "line": 85,
            "column": 7
          },
          "end": {
            "line": 97,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3082,
          "end": 3092,
          "loc": {
            "start": {
              "line": 85,
              "column": 13
            },
            "end": {
              "line": 85,
              "column": 23
            }
          },
          "name": "RootObject",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 3101,
          "end": 3115,
          "loc": {
            "start": {
              "line": 85,
              "column": 32
            },
            "end": {
              "line": 85,
              "column": 46
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 3116,
          "end": 3432,
          "loc": {
            "start": {
              "line": 85,
              "column": 47
            },
            "end": {
              "line": 97,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 3122,
              "end": 3186,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 4
                },
                "end": {
                  "line": 89,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3122,
                "end": 3133,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 4
                  },
                  "end": {
                    "line": 86,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 3133,
                "end": 3186,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 15
                  },
                  "end": {
                    "line": 89,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3136,
                  "end": 3186,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 18
                    },
                    "end": {
                      "line": 89,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3146,
                      "end": 3154,
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 8
                        },
                        "end": {
                          "line": 87,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3146,
                        "end": 3153,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 8
                          },
                          "end": {
                            "line": 87,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 3146,
                          "end": 3151,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 8
                            },
                            "end": {
                              "line": 87,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3163,
                      "end": 3180,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 8
                        },
                        "end": {
                          "line": 88,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3163,
                        "end": 3179,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 8
                          },
                          "end": {
                            "line": 88,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3163,
                          "end": 3172,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 8
                            },
                            "end": {
                              "line": 88,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3163,
                            "end": 3167,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 8
                              },
                              "end": {
                                "line": 88,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3168,
                            "end": 3172,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 13
                              },
                              "end": {
                                "line": 88,
                                "column": 17
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3175,
                          "end": 3179,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 20
                            },
                            "end": {
                              "line": 88,
                              "column": 24
                            }
                          },
                          "value": "_O",
                          "rawValue": "_O",
                          "raw": "'_O'"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 3193,
              "end": 3430,
              "loc": {
                "start": {
                  "line": 92,
                  "column": 4
                },
                "end": {
                  "line": 96,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3193,
                "end": 3210,
                "loc": {
                  "start": {
                    "line": 92,
                    "column": 4
                  },
                  "end": {
                    "line": 92,
                    "column": 21
                  }
                },
                "name": "setFromObjectTree"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 3210,
                "end": 3430,
                "loc": {
                  "start": {
                    "line": 92,
                    "column": 21
                  },
                  "end": {
                    "line": 96,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3211,
                    "end": 3225,
                    "loc": {
                      "start": {
                        "line": 92,
                        "column": 22
                      },
                      "end": {
                        "line": 92,
                        "column": 36
                      }
                    },
                    "name": "objectTreeNode"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3227,
                  "end": 3430,
                  "loc": {
                    "start": {
                      "line": 92,
                      "column": 38
                    },
                    "end": {
                      "line": 96,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3237,
                      "end": 3307,
                      "loc": {
                        "start": {
                          "line": 93,
                          "column": 8
                        },
                        "end": {
                          "line": 93,
                          "column": 78
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3237,
                        "end": 3306,
                        "loc": {
                          "start": {
                            "line": 93,
                            "column": 8
                          },
                          "end": {
                            "line": 93,
                            "column": 77
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3237,
                          "end": 3284,
                          "loc": {
                            "start": {
                              "line": 93,
                              "column": 8
                            },
                            "end": {
                              "line": 93,
                              "column": 55
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3237,
                            "end": 3279,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 8
                              },
                              "end": {
                                "line": 93,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3237,
                              "end": 3261,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 8
                                },
                                "end": {
                                  "line": 93,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3237,
                                "end": 3251,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 22
                                  }
                                },
                                "name": "ClassCadObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3252,
                                "end": 3261,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 32
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3262,
                              "end": 3279,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 33
                                },
                                "end": {
                                  "line": 93,
                                  "column": 50
                                }
                              },
                              "name": "setFromObjectTree"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3280,
                            "end": 3284,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 51
                              },
                              "end": {
                                "line": 93,
                                "column": 55
                              }
                            },
                            "name": "call"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 3285,
                            "end": 3289,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 56
                              },
                              "end": {
                                "line": 93,
                                "column": 60
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "start": 3291,
                            "end": 3305,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 62
                              },
                              "end": {
                                "line": 93,
                                "column": 76
                              }
                            },
                            "name": "objectTreeNode"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " object tree has these properties on _O set to nonsensible values ('AllObjects')",
                          "start": 3316,
                          "end": 3398,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 8
                            },
                            "end": {
                              "line": 94,
                              "column": 90
                            }
                          },
                          "range": [
                            3316,
                            3398
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3407,
                      "end": 3424,
                      "loc": {
                        "start": {
                          "line": 95,
                          "column": 8
                        },
                        "end": {
                          "line": 95,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3407,
                        "end": 3423,
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 8
                          },
                          "end": {
                            "line": 95,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3407,
                          "end": 3416,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 8
                            },
                            "end": {
                              "line": 95,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3407,
                            "end": 3411,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 8
                              },
                              "end": {
                                "line": 95,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3412,
                            "end": 3416,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 13
                              },
                              "end": {
                                "line": 95,
                                "column": 17
                              }
                            },
                            "name": "name"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3419,
                          "end": 3423,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 20
                            },
                            "end": {
                              "line": 95,
                              "column": 24
                            }
                          },
                          "value": "_O",
                          "rawValue": "_O",
                          "raw": "'_O'"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " object tree has these properties on _O set to nonsensible values ('AllObjects')",
                          "start": 3316,
                          "end": 3398,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 8
                            },
                            "end": {
                              "line": 94,
                              "column": 90
                            }
                          },
                          "range": [
                            3316,
                            3398
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "\n * Class for _O object, root of the object hiearchy.\n ",
            "start": 3009,
            "end": 3068,
            "loc": {
              "start": {
                "line": 82,
                "column": 0
              },
              "end": {
                "line": 84,
                "column": 3
              }
            },
            "range": [
              3009,
              3068
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "\n * Class for _O object, root of the object hiearchy.\n ",
          "start": 3009,
          "end": 3068,
          "loc": {
            "start": {
              "line": 82,
              "column": 0
            },
            "end": {
              "line": 84,
              "column": 3
            }
          },
          "range": [
            3009,
            3068
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 3434,
      "end": 3489,
      "loc": {
        "start": {
          "line": 99,
          "column": 0
        },
        "end": {
          "line": 99,
          "column": 55
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 3434,
        "end": 3488,
        "loc": {
          "start": {
            "line": 99,
            "column": 0
          },
          "end": {
            "line": 99,
            "column": 54
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 3434,
          "end": 3475,
          "loc": {
            "start": {
              "line": 99,
              "column": 0
            },
            "end": {
              "line": 99,
              "column": 41
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 3434,
            "end": 3461,
            "loc": {
              "start": {
                "line": 99,
                "column": 0
              },
              "end": {
                "line": 99,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 3434,
              "end": 3448,
              "loc": {
                "start": {
                  "line": 99,
                  "column": 0
                },
                "end": {
                  "line": 99,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 3449,
              "end": 3461,
              "loc": {
                "start": {
                  "line": 99,
                  "column": 15
                },
                "end": {
                  "line": 99,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 3462,
            "end": 3474,
            "loc": {
              "start": {
                "line": 99,
                "column": 28
              },
              "end": {
                "line": 99,
                "column": 40
              }
            },
            "value": "AllObjects",
            "rawValue": "AllObjects",
            "raw": "'AllObjects'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 3478,
          "end": 3488,
          "loc": {
            "start": {
              "line": 99,
              "column": 44
            },
            "end": {
              "line": 99,
              "column": 54
            }
          },
          "name": "RootObject"
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\n * Class for CC_Part, additionally contains items (meshes) added with Canvas.NewMesh event.\n ",
          "start": 3491,
          "end": 3589,
          "loc": {
            "start": {
              "line": 101,
              "column": 0
            },
            "end": {
              "line": 103,
              "column": 3
            }
          },
          "range": [
            3491,
            3589
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 3590,
      "end": 5037,
      "loc": {
        "start": {
          "line": 104,
          "column": 0
        },
        "end": {
          "line": 144,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 3597,
        "end": 5037,
        "loc": {
          "start": {
            "line": 104,
            "column": 7
          },
          "end": {
            "line": 144,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3603,
          "end": 3607,
          "loc": {
            "start": {
              "line": 104,
              "column": 13
            },
            "end": {
              "line": 104,
              "column": 17
            }
          },
          "name": "Part",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 3616,
          "end": 3630,
          "loc": {
            "start": {
              "line": 104,
              "column": 26
            },
            "end": {
              "line": 104,
              "column": 40
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 3631,
          "end": 5037,
          "loc": {
            "start": {
              "line": 104,
              "column": 41
            },
            "end": {
              "line": 144,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 3637,
              "end": 3706,
              "loc": {
                "start": {
                  "line": 105,
                  "column": 4
                },
                "end": {
                  "line": 108,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3637,
                "end": 3648,
                "loc": {
                  "start": {
                    "line": 105,
                    "column": 4
                  },
                  "end": {
                    "line": 105,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 3648,
                "end": 3706,
                "loc": {
                  "start": {
                    "line": 105,
                    "column": 15
                  },
                  "end": {
                    "line": 108,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3651,
                  "end": 3706,
                  "loc": {
                    "start": {
                      "line": 105,
                      "column": 18
                    },
                    "end": {
                      "line": 108,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3661,
                      "end": 3669,
                      "loc": {
                        "start": {
                          "line": 106,
                          "column": 8
                        },
                        "end": {
                          "line": 106,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3661,
                        "end": 3668,
                        "loc": {
                          "start": {
                            "line": 106,
                            "column": 8
                          },
                          "end": {
                            "line": 106,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 3661,
                          "end": 3666,
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 8
                            },
                            "end": {
                              "line": 106,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3678,
                      "end": 3700,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 8
                        },
                        "end": {
                          "line": 107,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3678,
                        "end": 3699,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 8
                          },
                          "end": {
                            "line": 107,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3678,
                          "end": 3687,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 8
                            },
                            "end": {
                              "line": 107,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3678,
                            "end": 3682,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 8
                              },
                              "end": {
                                "line": 107,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3683,
                            "end": 3687,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 13
                              },
                              "end": {
                                "line": 107,
                                "column": 17
                              }
                            },
                            "name": "item"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 3690,
                          "end": 3699,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 20
                            },
                            "end": {
                              "line": 107,
                              "column": 29
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 3712,
              "end": 4165,
              "loc": {
                "start": {
                  "line": 110,
                  "column": 4
                },
                "end": {
                  "line": 120,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3712,
                "end": 3728,
                "loc": {
                  "start": {
                    "line": 110,
                    "column": 4
                  },
                  "end": {
                    "line": 110,
                    "column": 20
                  }
                },
                "name": "finishedUpdating"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 3728,
                "end": 4165,
                "loc": {
                  "start": {
                    "line": 110,
                    "column": 20
                  },
                  "end": {
                    "line": 120,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3731,
                  "end": 4165,
                  "loc": {
                    "start": {
                      "line": 110,
                      "column": 23
                    },
                    "end": {
                      "line": 120,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3741,
                      "end": 3794,
                      "loc": {
                        "start": {
                          "line": 111,
                          "column": 8
                        },
                        "end": {
                          "line": 111,
                          "column": 61
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3741,
                        "end": 3793,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 8
                          },
                          "end": {
                            "line": 111,
                            "column": 60
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3741,
                          "end": 3787,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 8
                            },
                            "end": {
                              "line": 111,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3741,
                            "end": 3782,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 8
                              },
                              "end": {
                                "line": 111,
                                "column": 49
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3741,
                              "end": 3765,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 8
                                },
                                "end": {
                                  "line": 111,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3741,
                                "end": 3755,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 22
                                  }
                                },
                                "name": "ClassCadObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3756,
                                "end": 3765,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 32
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3766,
                              "end": 3782,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 33
                                },
                                "end": {
                                  "line": 111,
                                  "column": 49
                                }
                              },
                              "name": "finishedUpdating"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3783,
                            "end": 3787,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 50
                              },
                              "end": {
                                "line": 111,
                                "column": 54
                              }
                            },
                            "name": "call"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 3788,
                            "end": 3792,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 55
                              },
                              "end": {
                                "line": 111,
                                "column": 59
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 3803,
                      "end": 4134,
                      "loc": {
                        "start": {
                          "line": 112,
                          "column": 8
                        },
                        "end": {
                          "line": 118,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3807,
                        "end": 3839,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 12
                          },
                          "end": {
                            "line": 112,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3807,
                          "end": 3816,
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 12
                            },
                            "end": {
                              "line": 112,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3807,
                            "end": 3811,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 12
                              },
                              "end": {
                                "line": 112,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3812,
                            "end": 3816,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 17
                              },
                              "end": {
                                "line": 112,
                                "column": 21
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 3821,
                          "end": 3839,
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 26
                            },
                            "end": {
                              "line": 112,
                              "column": 44
                            }
                          },
                          "value": "CC_PartReference",
                          "rawValue": "CC_PartReference",
                          "raw": "'CC_PartReference'"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3841,
                        "end": 4134,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 46
                          },
                          "end": {
                            "line": 118,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 3925,
                            "end": 3956,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 12
                              },
                              "end": {
                                "line": 114,
                                "column": 43
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 3929,
                                "end": 3955,
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 42
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 3929,
                                  "end": 3933,
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 114,
                                      "column": 20
                                    }
                                  },
                                  "name": "part",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 3936,
                                  "end": 3955,
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 114,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3936,
                                    "end": 3948,
                                    "loc": {
                                      "start": {
                                        "line": 114,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 114,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3936,
                                      "end": 3940,
                                      "loc": {
                                        "start": {
                                          "line": 114,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 114,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3941,
                                      "end": 3948,
                                      "loc": {
                                        "start": {
                                          "line": 114,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 114,
                                          "column": 35
                                        }
                                      },
                                      "name": "members"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3949,
                                    "end": 3955,
                                    "loc": {
                                      "start": {
                                        "line": 114,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 114,
                                        "column": 42
                                      }
                                    },
                                    "name": "partId"
                                  },
                                  "computed": false
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "var",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Place CC_Part at the same position as CC_PartReference",
                                "start": 3855,
                                "end": 3912,
                                "loc": {
                                  "start": {
                                    "line": 113,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 113,
                                    "column": 69
                                  }
                                },
                                "range": [
                                  3855,
                                  3912
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 3969,
                            "end": 4009,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 12
                              },
                              "end": {
                                "line": 115,
                                "column": 52
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 3969,
                              "end": 4008,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 12
                                },
                                "end": {
                                  "line": 115,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3969,
                                "end": 3990,
                                "loc": {
                                  "start": {
                                    "line": 115,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 115,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 3969,
                                  "end": 3985,
                                  "loc": {
                                    "start": {
                                      "line": 115,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3969,
                                    "end": 3973,
                                    "loc": {
                                      "start": {
                                        "line": 115,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 16
                                      }
                                    },
                                    "name": "part"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3974,
                                    "end": 3985,
                                    "loc": {
                                      "start": {
                                        "line": 115,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 28
                                      }
                                    },
                                    "name": "matrixWorld"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3986,
                                  "end": 3990,
                                  "loc": {
                                    "start": {
                                      "line": 115,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 33
                                    }
                                  },
                                  "name": "copy"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 3991,
                                  "end": 4007,
                                  "loc": {
                                    "start": {
                                      "line": 115,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3991,
                                    "end": 3995,
                                    "loc": {
                                      "start": {
                                        "line": 115,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3996,
                                    "end": 4007,
                                    "loc": {
                                      "start": {
                                        "line": 115,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 50
                                      }
                                    },
                                    "name": "matrixWorld"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4022,
                            "end": 4057,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 12
                              },
                              "end": {
                                "line": 116,
                                "column": 47
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4022,
                              "end": 4056,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 12
                                },
                                "end": {
                                  "line": 116,
                                  "column": 46
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4022,
                                "end": 4054,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4022,
                                  "end": 4026,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 16
                                    }
                                  },
                                  "name": "part"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4027,
                                  "end": 4054,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 44
                                    }
                                  },
                                  "name": "updateMatrixFromMatrixWorld"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4070,
                            "end": 4124,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 12
                              },
                              "end": {
                                "line": 117,
                                "column": 66
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4070,
                              "end": 4123,
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 12
                                },
                                "end": {
                                  "line": 117,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4070,
                                "end": 4091,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4070,
                                  "end": 4083,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4070,
                                    "end": 4074,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 16
                                      }
                                    },
                                    "name": "part"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4075,
                                    "end": 4083,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 25
                                      }
                                    },
                                    "name": "children"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4084,
                                  "end": 4091,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 33
                                    }
                                  },
                                  "name": "forEach"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 4092,
                                  "end": 4122,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 64
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 4092,
                                      "end": 4093,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 35
                                        }
                                      },
                                      "name": "c"
                                    }
                                  ],
                                  "body": {
                                    "type": "CallExpression",
                                    "start": 4097,
                                    "end": 4122,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 64
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4097,
                                      "end": 4116,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 58
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4097,
                                        "end": 4098,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 40
                                          }
                                        },
                                        "name": "c"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4099,
                                        "end": 4116,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 58
                                          }
                                        },
                                        "name": "updateMatrixWorld"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 4117,
                                        "end": 4121,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 63
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4143,
                      "end": 4159,
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 8
                        },
                        "end": {
                          "line": 119,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4143,
                        "end": 4158,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 8
                          },
                          "end": {
                            "line": 119,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4143,
                          "end": 4156,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 8
                            },
                            "end": {
                              "line": 119,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4143,
                            "end": 4147,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 8
                              },
                              "end": {
                                "line": 119,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4148,
                            "end": 4156,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 13
                              },
                              "end": {
                                "line": 119,
                                "column": 21
                              }
                            },
                            "name": "addItems"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4171,
              "end": 5035,
              "loc": {
                "start": {
                  "line": 122,
                  "column": 4
                },
                "end": {
                  "line": 143,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4171,
                "end": 4179,
                "loc": {
                  "start": {
                    "line": 122,
                    "column": 4
                  },
                  "end": {
                    "line": 122,
                    "column": 12
                  }
                },
                "name": "addItems"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4179,
                "end": 5035,
                "loc": {
                  "start": {
                    "line": 122,
                    "column": 12
                  },
                  "end": {
                    "line": 143,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4182,
                  "end": 5035,
                  "loc": {
                    "start": {
                      "line": 122,
                      "column": 15
                    },
                    "end": {
                      "line": 143,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 4288,
                      "end": 4336,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 8
                        },
                        "end": {
                          "line": 124,
                          "column": 56
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4292,
                          "end": 4335,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 12
                            },
                            "end": {
                              "line": 124,
                              "column": 55
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4292,
                            "end": 4299,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 12
                              },
                              "end": {
                                "line": 124,
                                "column": 19
                              }
                            },
                            "name": "newItem",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 4302,
                            "end": 4335,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 22
                              },
                              "end": {
                                "line": 124,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 4302,
                              "end": 4320,
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 22
                                },
                                "end": {
                                  "line": 124,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4302,
                                "end": 4308,
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 28
                                  }
                                },
                                "name": "window"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4309,
                                "end": 4320,
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 40
                                  }
                                },
                                "name": "globalItems"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "MemberExpression",
                              "start": 4321,
                              "end": 4334,
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 41
                                },
                                "end": {
                                  "line": 124,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4321,
                                "end": 4325,
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 45
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4326,
                                "end": 4334,
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 54
                                  }
                                },
                                "name": "fullName"
                              },
                              "computed": false
                            },
                            "computed": true
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " FIXME unfortunately needs access to globalItems. See replaceItem comment in index.js",
                          "start": 4192,
                          "end": 4279,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 8
                            },
                            "end": {
                              "line": 123,
                              "column": 95
                            }
                          },
                          "range": [
                            4192,
                            4279
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 4345,
                      "end": 4528,
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 8
                        },
                        "end": {
                          "line": 129,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4349,
                        "end": 4381,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 12
                          },
                          "end": {
                            "line": 125,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 4349,
                          "end": 4358,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 12
                            },
                            "end": {
                              "line": 125,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4349,
                            "end": 4353,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 12
                              },
                              "end": {
                                "line": 125,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4354,
                            "end": 4358,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 17
                              },
                              "end": {
                                "line": 125,
                                "column": 21
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 4363,
                          "end": 4381,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 26
                            },
                            "end": {
                              "line": 125,
                              "column": 44
                            }
                          },
                          "value": "CC_PartReference",
                          "rawValue": "CC_PartReference",
                          "raw": "'CC_PartReference'"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4383,
                        "end": 4528,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 46
                          },
                          "end": {
                            "line": 129,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 4397,
                            "end": 4427,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 12
                              },
                              "end": {
                                "line": 126,
                                "column": 42
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 4401,
                                "end": 4426,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 41
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 4401,
                                  "end": 4404,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 19
                                    }
                                  },
                                  "name": "ref"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 4407,
                                  "end": 4426,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4407,
                                    "end": 4419,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4407,
                                      "end": 4411,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4412,
                                      "end": 4419,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 34
                                        }
                                      },
                                      "name": "members"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4420,
                                    "end": 4426,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 41
                                      }
                                    },
                                    "name": "partId"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4440,
                            "end": 4483,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 12
                              },
                              "end": {
                                "line": 127,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4440,
                              "end": 4482,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 12
                                },
                                "end": {
                                  "line": 127,
                                  "column": 54
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 4440,
                                "end": 4472,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4440,
                                  "end": 4458,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4440,
                                    "end": 4446,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 18
                                      }
                                    },
                                    "name": "window"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4447,
                                    "end": 4458,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 30
                                      }
                                    },
                                    "name": "globalItems"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "MemberExpression",
                                  "start": 4459,
                                  "end": 4471,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4459,
                                    "end": 4462,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 34
                                      }
                                    },
                                    "name": "ref"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4463,
                                    "end": 4471,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 43
                                      }
                                    },
                                    "name": "fullName"
                                  },
                                  "computed": false
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 4475,
                                "end": 4482,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 54
                                  }
                                },
                                "name": "newItem"
                              }
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 4496,
                            "end": 4518,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 12
                              },
                              "end": {
                                "line": 128,
                                "column": 34
                              }
                            },
                            "argument": {
                              "type": "CallExpression",
                              "start": 4503,
                              "end": 4517,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 19
                                },
                                "end": {
                                  "line": 128,
                                  "column": 33
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4503,
                                "end": 4515,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4503,
                                  "end": 4506,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 22
                                    }
                                  },
                                  "name": "ref"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4507,
                                  "end": 4515,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 31
                                    }
                                  },
                                  "name": "addItems"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 4537,
                      "end": 4583,
                      "loc": {
                        "start": {
                          "line": 130,
                          "column": 8
                        },
                        "end": {
                          "line": 131,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4541,
                        "end": 4562,
                        "loc": {
                          "start": {
                            "line": 130,
                            "column": 12
                          },
                          "end": {
                            "line": 130,
                            "column": 33
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 4541,
                          "end": 4550,
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 12
                            },
                            "end": {
                              "line": 130,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4541,
                            "end": 4545,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 12
                              },
                              "end": {
                                "line": 130,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4546,
                            "end": 4550,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 17
                              },
                              "end": {
                                "line": 130,
                                "column": 21
                              }
                            },
                            "name": "item"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 4555,
                          "end": 4562,
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 26
                            },
                            "end": {
                              "line": 130,
                              "column": 33
                            }
                          },
                          "name": "newItem"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 4576,
                        "end": 4583,
                        "loc": {
                          "start": {
                            "line": 131,
                            "column": 12
                          },
                          "end": {
                            "line": 131,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 4592,
                      "end": 4742,
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 8
                        },
                        "end": {
                          "line": 136,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 4596,
                        "end": 4605,
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 12
                          },
                          "end": {
                            "line": 132,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 4596,
                          "end": 4600,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 12
                            },
                            "end": {
                              "line": 132,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4601,
                          "end": 4605,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 17
                            },
                            "end": {
                              "line": 132,
                              "column": 21
                            }
                          },
                          "name": "item"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4607,
                        "end": 4742,
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 23
                          },
                          "end": {
                            "line": 136,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 4621,
                            "end": 4644,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 12
                              },
                              "end": {
                                "line": 133,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4621,
                              "end": 4643,
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 12
                                },
                                "end": {
                                  "line": 133,
                                  "column": 34
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4621,
                                "end": 4632,
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4621,
                                  "end": 4625,
                                  "loc": {
                                    "start": {
                                      "line": 133,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 133,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4626,
                                  "end": 4632,
                                  "loc": {
                                    "start": {
                                      "line": 133,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 133,
                                      "column": 23
                                    }
                                  },
                                  "name": "remove"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 4633,
                                  "end": 4642,
                                  "loc": {
                                    "start": {
                                      "line": 133,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 133,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4633,
                                    "end": 4637,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4638,
                                    "end": 4642,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 33
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4657,
                            "end": 4697,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 12
                              },
                              "end": {
                                "line": 134,
                                "column": 52
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4657,
                              "end": 4696,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 12
                                },
                                "end": {
                                  "line": 134,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4657,
                                "end": 4678,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4657,
                                  "end": 4666,
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 21
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4657,
                                    "end": 4661,
                                    "loc": {
                                      "start": {
                                        "line": 134,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 134,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4662,
                                    "end": 4666,
                                    "loc": {
                                      "start": {
                                        "line": 134,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 134,
                                        "column": 21
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4667,
                                  "end": 4678,
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 33
                                    }
                                  },
                                  "name": "applyMatrix"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 4679,
                                  "end": 4695,
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4679,
                                    "end": 4683,
                                    "loc": {
                                      "start": {
                                        "line": 134,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 134,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4684,
                                    "end": 4695,
                                    "loc": {
                                      "start": {
                                        "line": 134,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 134,
                                        "column": 50
                                      }
                                    },
                                    "name": "matrixWorld"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4710,
                            "end": 4732,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 12
                              },
                              "end": {
                                "line": 135,
                                "column": 34
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4710,
                              "end": 4731,
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 12
                                },
                                "end": {
                                  "line": 135,
                                  "column": 33
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 4710,
                                "end": 4719,
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4710,
                                  "end": 4714,
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4715,
                                  "end": 4719,
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 21
                                    }
                                  },
                                  "name": "item"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 4722,
                                "end": 4731,
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 33
                                  }
                                },
                                "name": "undefined"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 4751,
                      "end": 5029,
                      "loc": {
                        "start": {
                          "line": 137,
                          "column": 8
                        },
                        "end": {
                          "line": 142,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 4755,
                        "end": 4762,
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 12
                          },
                          "end": {
                            "line": 137,
                            "column": 19
                          }
                        },
                        "name": "newItem"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4764,
                        "end": 5029,
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 21
                          },
                          "end": {
                            "line": 142,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 4778,
                            "end": 4798,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 12
                              },
                              "end": {
                                "line": 138,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4778,
                              "end": 4797,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 12
                                },
                                "end": {
                                  "line": 138,
                                  "column": 31
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 4778,
                                "end": 4787,
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4778,
                                  "end": 4782,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4783,
                                  "end": 4787,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 21
                                    }
                                  },
                                  "name": "item"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 4790,
                                "end": 4797,
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 31
                                  }
                                },
                                "name": "newItem"
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Item's geometry is in global coordinates. So transform item coordinates world-to-local.",
                                "start": 4811,
                                "end": 4901,
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 102
                                  }
                                },
                                "range": [
                                  4811,
                                  4901
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4914,
                            "end": 4986,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 12
                              },
                              "end": {
                                "line": 140,
                                "column": 84
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4914,
                              "end": 4985,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 12
                                },
                                "end": {
                                  "line": 140,
                                  "column": 83
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4914,
                                "end": 4935,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4914,
                                  "end": 4923,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 21
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4914,
                                    "end": 4918,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4919,
                                    "end": 4923,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 21
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4924,
                                  "end": 4935,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 33
                                    }
                                  },
                                  "name": "applyMatrix"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 4936,
                                  "end": 4984,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 82
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4936,
                                    "end": 4966,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 64
                                      }
                                    },
                                    "object": {
                                      "type": "NewExpression",
                                      "start": 4936,
                                      "end": 4955,
                                      "loc": {
                                        "start": {
                                          "line": 140,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 140,
                                          "column": 53
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4940,
                                        "end": 4953,
                                        "loc": {
                                          "start": {
                                            "line": 140,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 140,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4940,
                                          "end": 4945,
                                          "loc": {
                                            "start": {
                                              "line": 140,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 140,
                                              "column": 43
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4946,
                                          "end": 4953,
                                          "loc": {
                                            "start": {
                                              "line": 140,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 140,
                                              "column": 51
                                            }
                                          },
                                          "name": "Matrix4"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4956,
                                      "end": 4966,
                                      "loc": {
                                        "start": {
                                          "line": 140,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 140,
                                          "column": 64
                                        }
                                      },
                                      "name": "getInverse"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 4967,
                                      "end": 4983,
                                      "loc": {
                                        "start": {
                                          "line": 140,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 140,
                                          "column": 81
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4967,
                                        "end": 4971,
                                        "loc": {
                                          "start": {
                                            "line": 140,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 140,
                                            "column": 69
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4972,
                                        "end": 4983,
                                        "loc": {
                                          "start": {
                                            "line": 140,
                                            "column": 70
                                          },
                                          "end": {
                                            "line": 140,
                                            "column": 81
                                          }
                                        },
                                        "name": "matrixWorld"
                                      },
                                      "computed": false
                                    }
                                  ]
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Item's geometry is in global coordinates. So transform item coordinates world-to-local.",
                                "start": 4811,
                                "end": 4901,
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 102
                                  }
                                },
                                "range": [
                                  4811,
                                  4901
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4999,
                            "end": 5019,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 12
                              },
                              "end": {
                                "line": 141,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4999,
                              "end": 5018,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 12
                                },
                                "end": {
                                  "line": 141,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4999,
                                "end": 5007,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4999,
                                  "end": 5003,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5004,
                                  "end": 5007,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 20
                                    }
                                  },
                                  "name": "add"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 5008,
                                  "end": 5017,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5008,
                                    "end": 5012,
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5013,
                                    "end": 5017,
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 30
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "\n * Class for CC_Part, additionally contains items (meshes) added with Canvas.NewMesh event.\n ",
            "start": 3491,
            "end": 3589,
            "loc": {
              "start": {
                "line": 101,
                "column": 0
              },
              "end": {
                "line": 103,
                "column": 3
              }
            },
            "range": [
              3491,
              3589
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "\n * Class for CC_Part, additionally contains items (meshes) added with Canvas.NewMesh event.\n ",
          "start": 3491,
          "end": 3589,
          "loc": {
            "start": {
              "line": 101,
              "column": 0
            },
            "end": {
              "line": 103,
              "column": 3
            }
          },
          "range": [
            3491,
            3589
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 5039,
      "end": 5085,
      "loc": {
        "start": {
          "line": 146,
          "column": 0
        },
        "end": {
          "line": 146,
          "column": 46
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 5039,
        "end": 5084,
        "loc": {
          "start": {
            "line": 146,
            "column": 0
          },
          "end": {
            "line": 146,
            "column": 45
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 5039,
          "end": 5077,
          "loc": {
            "start": {
              "line": 146,
              "column": 0
            },
            "end": {
              "line": 146,
              "column": 38
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 5039,
            "end": 5066,
            "loc": {
              "start": {
                "line": 146,
                "column": 0
              },
              "end": {
                "line": 146,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5039,
              "end": 5053,
              "loc": {
                "start": {
                  "line": 146,
                  "column": 0
                },
                "end": {
                  "line": 146,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 5054,
              "end": 5066,
              "loc": {
                "start": {
                  "line": 146,
                  "column": 15
                },
                "end": {
                  "line": 146,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 5067,
            "end": 5076,
            "loc": {
              "start": {
                "line": 146,
                "column": 28
              },
              "end": {
                "line": 146,
                "column": 37
              }
            },
            "value": "CC_Part",
            "rawValue": "CC_Part",
            "raw": "'CC_Part'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 5080,
          "end": 5084,
          "loc": {
            "start": {
              "line": 146,
              "column": 41
            },
            "end": {
              "line": 146,
              "column": 45
            }
          },
          "name": "Part"
        }
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 5086,
      "end": 5141,
      "loc": {
        "start": {
          "line": 147,
          "column": 0
        },
        "end": {
          "line": 147,
          "column": 55
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 5086,
        "end": 5140,
        "loc": {
          "start": {
            "line": 147,
            "column": 0
          },
          "end": {
            "line": 147,
            "column": 54
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 5086,
          "end": 5133,
          "loc": {
            "start": {
              "line": 147,
              "column": 0
            },
            "end": {
              "line": 147,
              "column": 47
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 5086,
            "end": 5113,
            "loc": {
              "start": {
                "line": 147,
                "column": 0
              },
              "end": {
                "line": 147,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5086,
              "end": 5100,
              "loc": {
                "start": {
                  "line": 147,
                  "column": 0
                },
                "end": {
                  "line": 147,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 5101,
              "end": 5113,
              "loc": {
                "start": {
                  "line": 147,
                  "column": 15
                },
                "end": {
                  "line": 147,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 5114,
            "end": 5132,
            "loc": {
              "start": {
                "line": 147,
                "column": 28
              },
              "end": {
                "line": 147,
                "column": 46
              }
            },
            "value": "CC_PartReference",
            "rawValue": "CC_PartReference",
            "raw": "'CC_PartReference'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 5136,
          "end": 5140,
          "loc": {
            "start": {
              "line": 147,
              "column": 50
            },
            "end": {
              "line": 147,
              "column": 54
            }
          },
          "name": "Part"
        }
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 5142,
      "end": 5189,
      "loc": {
        "start": {
          "line": 148,
          "column": 0
        },
        "end": {
          "line": 148,
          "column": 47
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 5142,
        "end": 5188,
        "loc": {
          "start": {
            "line": 148,
            "column": 0
          },
          "end": {
            "line": 148,
            "column": 46
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 5142,
          "end": 5181,
          "loc": {
            "start": {
              "line": 148,
              "column": 0
            },
            "end": {
              "line": 148,
              "column": 39
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 5142,
            "end": 5169,
            "loc": {
              "start": {
                "line": 148,
                "column": 0
              },
              "end": {
                "line": 148,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5142,
              "end": 5156,
              "loc": {
                "start": {
                  "line": 148,
                  "column": 0
                },
                "end": {
                  "line": 148,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 5157,
              "end": 5169,
              "loc": {
                "start": {
                  "line": 148,
                  "column": 15
                },
                "end": {
                  "line": 148,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 5170,
            "end": 5180,
            "loc": {
              "start": {
                "line": 148,
                "column": 28
              },
              "end": {
                "line": 148,
                "column": 38
              }
            },
            "value": "CC_Solid",
            "rawValue": "CC_Solid",
            "raw": "'CC_Solid'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 5184,
          "end": 5188,
          "loc": {
            "start": {
              "line": 148,
              "column": 42
            },
            "end": {
              "line": 148,
              "column": 46
            }
          },
          "name": "Part"
        }
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": " Class for CC_ExpressionSet. Updates modelData during updates from the server.",
          "start": 5191,
          "end": 5271,
          "loc": {
            "start": {
              "line": 150,
              "column": 0
            },
            "end": {
              "line": 150,
              "column": 80
            }
          },
          "range": [
            5191,
            5271
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 5272,
      "end": 6390,
      "loc": {
        "start": {
          "line": 151,
          "column": 0
        },
        "end": {
          "line": 179,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 5279,
        "end": 6390,
        "loc": {
          "start": {
            "line": 151,
            "column": 7
          },
          "end": {
            "line": 179,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 5285,
          "end": 5298,
          "loc": {
            "start": {
              "line": 151,
              "column": 13
            },
            "end": {
              "line": 151,
              "column": 26
            }
          },
          "name": "ExpressionSet",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 5307,
          "end": 5321,
          "loc": {
            "start": {
              "line": 151,
              "column": 35
            },
            "end": {
              "line": 151,
              "column": 49
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 5322,
          "end": 6390,
          "loc": {
            "start": {
              "line": 151,
              "column": 50
            },
            "end": {
              "line": 179,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 5328,
              "end": 5467,
              "loc": {
                "start": {
                  "line": 152,
                  "column": 4
                },
                "end": {
                  "line": 156,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5328,
                "end": 5339,
                "loc": {
                  "start": {
                    "line": 152,
                    "column": 4
                  },
                  "end": {
                    "line": 152,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 5339,
                "end": 5467,
                "loc": {
                  "start": {
                    "line": 152,
                    "column": 15
                  },
                  "end": {
                    "line": 156,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5342,
                  "end": 5467,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 18
                    },
                    "end": {
                      "line": 156,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5352,
                      "end": 5360,
                      "loc": {
                        "start": {
                          "line": 153,
                          "column": 8
                        },
                        "end": {
                          "line": 153,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5352,
                        "end": 5359,
                        "loc": {
                          "start": {
                            "line": 153,
                            "column": 8
                          },
                          "end": {
                            "line": 153,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 5352,
                          "end": 5357,
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 8
                            },
                            "end": {
                              "line": 153,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " data for viewmodel, used by sketcher.modelData.expressionSet",
                          "start": 5369,
                          "end": 5432,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 8
                            },
                            "end": {
                              "line": 154,
                              "column": 71
                            }
                          },
                          "range": [
                            5369,
                            5432
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5441,
                      "end": 5461,
                      "loc": {
                        "start": {
                          "line": 155,
                          "column": 8
                        },
                        "end": {
                          "line": 155,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5441,
                        "end": 5460,
                        "loc": {
                          "start": {
                            "line": 155,
                            "column": 8
                          },
                          "end": {
                            "line": 155,
                            "column": 27
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5441,
                          "end": 5455,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 8
                            },
                            "end": {
                              "line": 155,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5441,
                            "end": 5445,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 8
                              },
                              "end": {
                                "line": 155,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5446,
                            "end": 5455,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 13
                              },
                              "end": {
                                "line": 155,
                                "column": 22
                              }
                            },
                            "name": "modelData"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 5458,
                          "end": 5460,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 25
                            },
                            "end": {
                              "line": 155,
                              "column": 27
                            }
                          },
                          "elements": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " data for viewmodel, used by sketcher.modelData.expressionSet",
                          "start": 5369,
                          "end": 5432,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 8
                            },
                            "end": {
                              "line": 154,
                              "column": 71
                            }
                          },
                          "range": [
                            5369,
                            5432
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5473,
              "end": 5992,
              "loc": {
                "start": {
                  "line": 158,
                  "column": 4
                },
                "end": {
                  "line": 168,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5473,
                "end": 5482,
                "loc": {
                  "start": {
                    "line": 158,
                    "column": 4
                  },
                  "end": {
                    "line": 158,
                    "column": 13
                  }
                },
                "name": "addMember"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5482,
                "end": 5992,
                "loc": {
                  "start": {
                    "line": 158,
                    "column": 13
                  },
                  "end": {
                    "line": 168,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5483,
                    "end": 5489,
                    "loc": {
                      "start": {
                        "line": 158,
                        "column": 14
                      },
                      "end": {
                        "line": 158,
                        "column": 20
                      }
                    },
                    "name": "member"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5491,
                  "end": 5992,
                  "loc": {
                    "start": {
                      "line": 158,
                      "column": 22
                    },
                    "end": {
                      "line": 168,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5501,
                      "end": 5559,
                      "loc": {
                        "start": {
                          "line": 159,
                          "column": 8
                        },
                        "end": {
                          "line": 159,
                          "column": 66
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5501,
                        "end": 5558,
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 8
                          },
                          "end": {
                            "line": 159,
                            "column": 65
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5501,
                          "end": 5541,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 8
                            },
                            "end": {
                              "line": 159,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5501,
                            "end": 5535,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 8
                              },
                              "end": {
                                "line": 159,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5501,
                              "end": 5525,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 8
                                },
                                "end": {
                                  "line": 159,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5501,
                                "end": 5515,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 22
                                  }
                                },
                                "name": "ClassCadObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5516,
                                "end": 5525,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 32
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5526,
                              "end": 5535,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 33
                                },
                                "end": {
                                  "line": 159,
                                  "column": 42
                                }
                              },
                              "name": "addMember"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5536,
                            "end": 5541,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 43
                              },
                              "end": {
                                "line": 159,
                                "column": 48
                              }
                            },
                            "name": "apply"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 5542,
                            "end": 5546,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 49
                              },
                              "end": {
                                "line": 159,
                                "column": 53
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "start": 5548,
                            "end": 5557,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 55
                              },
                              "end": {
                                "line": 159,
                                "column": 64
                              }
                            },
                            "name": "arguments"
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5568,
                      "end": 5604,
                      "loc": {
                        "start": {
                          "line": 160,
                          "column": 8
                        },
                        "end": {
                          "line": 160,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5572,
                          "end": 5603,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 12
                            },
                            "end": {
                              "line": 160,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5572,
                            "end": 5574,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 12
                              },
                              "end": {
                                "line": 160,
                                "column": 14
                              }
                            },
                            "name": "mi"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 5577,
                            "end": 5603,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 17
                              },
                              "end": {
                                "line": 160,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5577,
                              "end": 5592,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 17
                                },
                                "end": {
                                  "line": 160,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5577,
                                "end": 5583,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 23
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5584,
                                "end": 5592,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 32
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5593,
                              "end": 5603,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 33
                                },
                                "end": {
                                  "line": 160,
                                  "column": 43
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5613,
                      "end": 5675,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 8
                        },
                        "end": {
                          "line": 161,
                          "column": 70
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5617,
                          "end": 5674,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 12
                            },
                            "end": {
                              "line": 161,
                              "column": 69
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5617,
                            "end": 5622,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 12
                              },
                              "end": {
                                "line": 161,
                                "column": 17
                              }
                            },
                            "name": "index"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 5625,
                            "end": 5674,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 20
                              },
                              "end": {
                                "line": 161,
                                "column": 69
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5625,
                              "end": 5649,
                              "loc": {
                                "start": {
                                  "line": 161,
                                  "column": 20
                                },
                                "end": {
                                  "line": 161,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 5625,
                                "end": 5639,
                                "loc": {
                                  "start": {
                                    "line": 161,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 161,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5625,
                                  "end": 5629,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5630,
                                  "end": 5639,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 34
                                    }
                                  },
                                  "name": "modelData"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5640,
                                "end": 5649,
                                "loc": {
                                  "start": {
                                    "line": 161,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 161,
                                    "column": 44
                                  }
                                },
                                "name": "findIndex"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 5650,
                                "end": 5673,
                                "loc": {
                                  "start": {
                                    "line": 161,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 161,
                                    "column": 68
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 5650,
                                    "end": 5651,
                                    "loc": {
                                      "start": {
                                        "line": 161,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 161,
                                        "column": 46
                                      }
                                    },
                                    "name": "x"
                                  }
                                ],
                                "body": {
                                  "type": "BinaryExpression",
                                  "start": 5655,
                                  "end": 5673,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 68
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 5655,
                                    "end": 5661,
                                    "loc": {
                                      "start": {
                                        "line": 161,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 161,
                                        "column": 56
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5655,
                                      "end": 5656,
                                      "loc": {
                                        "start": {
                                          "line": 161,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 161,
                                          "column": 51
                                        }
                                      },
                                      "name": "x"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5657,
                                      "end": 5661,
                                      "loc": {
                                        "start": {
                                          "line": 161,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 161,
                                          "column": 56
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 5666,
                                    "end": 5673,
                                    "loc": {
                                      "start": {
                                        "line": 161,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 161,
                                        "column": 68
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5666,
                                      "end": 5668,
                                      "loc": {
                                        "start": {
                                          "line": 161,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 161,
                                          "column": 63
                                        }
                                      },
                                      "name": "mi"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5669,
                                      "end": 5673,
                                      "loc": {
                                        "start": {
                                          "line": 161,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 161,
                                          "column": 68
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 5684,
                      "end": 5986,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 167,
                          "column": 48
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5688,
                        "end": 5700,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 12
                          },
                          "end": {
                            "line": 162,
                            "column": 24
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 5688,
                          "end": 5693,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 12
                            },
                            "end": {
                              "line": 162,
                              "column": 17
                            }
                          },
                          "name": "index"
                        },
                        "operator": "===",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 5698,
                          "end": 5700,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 22
                            },
                            "end": {
                              "line": 162,
                              "column": 24
                            }
                          },
                          "operator": "-",
                          "prefix": true,
                          "argument": {
                            "type": "Literal",
                            "start": 5699,
                            "end": 5700,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 23
                              },
                              "end": {
                                "line": 162,
                                "column": 24
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          }
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 5714,
                        "end": 5738,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 12
                          },
                          "end": {
                            "line": 163,
                            "column": 36
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 5714,
                          "end": 5737,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 12
                            },
                            "end": {
                              "line": 163,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5714,
                            "end": 5733,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 12
                              },
                              "end": {
                                "line": 163,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5714,
                              "end": 5728,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 12
                                },
                                "end": {
                                  "line": 163,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5714,
                                "end": 5718,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5719,
                                "end": 5728,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 26
                                  }
                                },
                                "name": "modelData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5729,
                              "end": 5733,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 27
                                },
                                "end": {
                                  "line": 163,
                                  "column": 31
                                }
                              },
                              "name": "push"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5734,
                              "end": 5736,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 32
                                },
                                "end": {
                                  "line": 163,
                                  "column": 34
                                }
                              },
                              "name": "mi"
                            }
                          ]
                        }
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 5950,
                        "end": 5986,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 12
                          },
                          "end": {
                            "line": 167,
                            "column": 48
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 5950,
                          "end": 5985,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 12
                            },
                            "end": {
                              "line": 167,
                              "column": 47
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5950,
                            "end": 5971,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 12
                              },
                              "end": {
                                "line": 167,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5950,
                              "end": 5964,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 12
                                },
                                "end": {
                                  "line": 167,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5950,
                                "end": 5954,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 16
                                  }
                                },
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5955,
                                "end": 5964,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 26
                                  }
                                },
                                "name": "modelData"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5965,
                              "end": 5971,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 27
                                },
                                "end": {
                                  "line": 167,
                                  "column": 33
                                }
                              },
                              "name": "splice"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5972,
                              "end": 5977,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 34
                                },
                                "end": {
                                  "line": 167,
                                  "column": 39
                                }
                              },
                              "name": "index"
                            },
                            {
                              "type": "Literal",
                              "start": 5979,
                              "end": 5980,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 41
                                },
                                "end": {
                                  "line": 167,
                                  "column": 42
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            {
                              "type": "Identifier",
                              "start": 5982,
                              "end": 5984,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 44
                                },
                                "end": {
                                  "line": 167,
                                  "column": 46
                                }
                              },
                              "name": "mi"
                            }
                          ],
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " Can't use modelData[index] = mi because Vue doesn't track array element assignment",
                            "start": 5764,
                            "end": 5849,
                            "loc": {
                              "start": {
                                "line": 165,
                                "column": 12
                              },
                              "end": {
                                "line": 165,
                                "column": 97
                              }
                            },
                            "range": [
                              5764,
                              5849
                            ]
                          },
                          {
                            "type": "CommentLine",
                            "value": " Workaround modelData.$set(index, mi) is Vue-specific, splice is portable",
                            "start": 5862,
                            "end": 5937,
                            "loc": {
                              "start": {
                                "line": 166,
                                "column": 12
                              },
                              "end": {
                                "line": 166,
                                "column": 87
                              }
                            },
                            "range": [
                              5862,
                              5937
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5998,
              "end": 6388,
              "loc": {
                "start": {
                  "line": 170,
                  "column": 4
                },
                "end": {
                  "line": 178,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5998,
                "end": 6022,
                "loc": {
                  "start": {
                    "line": 170,
                    "column": 4
                  },
                  "end": {
                    "line": 170,
                    "column": 28
                  }
                },
                "name": "removeSuperfluousMembers"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6022,
                "end": 6388,
                "loc": {
                  "start": {
                    "line": 170,
                    "column": 28
                  },
                  "end": {
                    "line": 178,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 6025,
                  "end": 6388,
                  "loc": {
                    "start": {
                      "line": 170,
                      "column": 31
                    },
                    "end": {
                      "line": 178,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 6035,
                      "end": 6133,
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 8
                        },
                        "end": {
                          "line": 171,
                          "column": 106
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6039,
                          "end": 6132,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 12
                            },
                            "end": {
                              "line": 171,
                              "column": 105
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6039,
                            "end": 6057,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 12
                              },
                              "end": {
                                "line": 171,
                                "column": 30
                              }
                            },
                            "name": "superfluousMembers"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 6060,
                            "end": 6132,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 33
                              },
                              "end": {
                                "line": 171,
                                "column": 105
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6060,
                              "end": 6115,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 33
                                },
                                "end": {
                                  "line": 171,
                                  "column": 88
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 6060,
                                "end": 6109,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 82
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 6060,
                                  "end": 6084,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 6060,
                                    "end": 6074,
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 47
                                      }
                                    },
                                    "name": "ClassCadObject"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6075,
                                    "end": 6084,
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 57
                                      }
                                    },
                                    "name": "prototype"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6085,
                                  "end": 6109,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 82
                                    }
                                  },
                                  "name": "removeSuperfluousMembers"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6110,
                                "end": 6115,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 88
                                  }
                                },
                                "name": "apply"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 6116,
                                "end": 6120,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 89
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 93
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "start": 6122,
                                "end": 6131,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 95
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 104
                                  }
                                },
                                "name": "arguments"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6142,
                      "end": 6347,
                      "loc": {
                        "start": {
                          "line": 172,
                          "column": 8
                        },
                        "end": {
                          "line": 176,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6142,
                        "end": 6346,
                        "loc": {
                          "start": {
                            "line": 172,
                            "column": 8
                          },
                          "end": {
                            "line": 176,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6142,
                          "end": 6168,
                          "loc": {
                            "start": {
                              "line": 172,
                              "column": 8
                            },
                            "end": {
                              "line": 172,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6142,
                            "end": 6160,
                            "loc": {
                              "start": {
                                "line": 172,
                                "column": 8
                              },
                              "end": {
                                "line": 172,
                                "column": 26
                              }
                            },
                            "name": "superfluousMembers"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6161,
                            "end": 6168,
                            "loc": {
                              "start": {
                                "line": 172,
                                "column": 27
                              },
                              "end": {
                                "line": 172,
                                "column": 34
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 6169,
                            "end": 6345,
                            "loc": {
                              "start": {
                                "line": 172,
                                "column": 35
                              },
                              "end": {
                                "line": 176,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 6169,
                                "end": 6175,
                                "loc": {
                                  "start": {
                                    "line": 172,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 41
                                  }
                                },
                                "name": "member"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 6179,
                              "end": 6345,
                              "loc": {
                                "start": {
                                  "line": 172,
                                  "column": 45
                                },
                                "end": {
                                  "line": 176,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 6193,
                                  "end": 6256,
                                  "loc": {
                                    "start": {
                                      "line": 173,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 173,
                                      "column": 75
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 6197,
                                      "end": 6255,
                                      "loc": {
                                        "start": {
                                          "line": 173,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 173,
                                          "column": 74
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 6197,
                                        "end": 6202,
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 21
                                          }
                                        },
                                        "name": "index"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 6205,
                                        "end": 6255,
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 74
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 6205,
                                          "end": 6227,
                                          "loc": {
                                            "start": {
                                              "line": 173,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 173,
                                              "column": 46
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 6205,
                                            "end": 6219,
                                            "loc": {
                                              "start": {
                                                "line": 173,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 173,
                                                "column": 38
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 6205,
                                              "end": 6209,
                                              "loc": {
                                                "start": {
                                                  "line": 173,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 173,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 6210,
                                              "end": 6219,
                                              "loc": {
                                                "start": {
                                                  "line": 173,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 173,
                                                  "column": 38
                                                }
                                              },
                                              "name": "modelData"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6220,
                                            "end": 6227,
                                            "loc": {
                                              "start": {
                                                "line": 173,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 173,
                                                "column": 46
                                              }
                                            },
                                            "name": "indexOf"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 6228,
                                            "end": 6254,
                                            "loc": {
                                              "start": {
                                                "line": 173,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 173,
                                                "column": 73
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 6228,
                                              "end": 6243,
                                              "loc": {
                                                "start": {
                                                  "line": 173,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 173,
                                                  "column": 62
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 6228,
                                                "end": 6234,
                                                "loc": {
                                                  "start": {
                                                    "line": 173,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 173,
                                                    "column": 53
                                                  }
                                                },
                                                "name": "member"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 6235,
                                                "end": 6243,
                                                "loc": {
                                                  "start": {
                                                    "line": 173,
                                                    "column": 54
                                                  },
                                                  "end": {
                                                    "line": 173,
                                                    "column": 62
                                                  }
                                                },
                                                "name": "userData"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 6244,
                                              "end": 6254,
                                              "loc": {
                                                "start": {
                                                  "line": 173,
                                                  "column": 63
                                                },
                                                "end": {
                                                  "line": 173,
                                                  "column": 73
                                                }
                                              },
                                              "name": "memberInfo"
                                            },
                                            "computed": false
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 6269,
                                  "end": 6335,
                                  "loc": {
                                    "start": {
                                      "line": 174,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 175,
                                      "column": 48
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 6273,
                                    "end": 6285,
                                    "loc": {
                                      "start": {
                                        "line": 174,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 28
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 6273,
                                      "end": 6278,
                                      "loc": {
                                        "start": {
                                          "line": 174,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 174,
                                          "column": 21
                                        }
                                      },
                                      "name": "index"
                                    },
                                    "operator": "!==",
                                    "right": {
                                      "type": "UnaryExpression",
                                      "start": 6283,
                                      "end": 6285,
                                      "loc": {
                                        "start": {
                                          "line": 174,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 174,
                                          "column": 28
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 6284,
                                        "end": 6285,
                                        "loc": {
                                          "start": {
                                            "line": 174,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 28
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 6303,
                                    "end": 6335,
                                    "loc": {
                                      "start": {
                                        "line": 175,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 175,
                                        "column": 48
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 6303,
                                      "end": 6334,
                                      "loc": {
                                        "start": {
                                          "line": 175,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 175,
                                          "column": 47
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 6303,
                                        "end": 6324,
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 37
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 6303,
                                          "end": 6317,
                                          "loc": {
                                            "start": {
                                              "line": 175,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 175,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 6303,
                                            "end": 6307,
                                            "loc": {
                                              "start": {
                                                "line": 175,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 175,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6308,
                                            "end": 6317,
                                            "loc": {
                                              "start": {
                                                "line": 175,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 175,
                                                "column": 30
                                              }
                                            },
                                            "name": "modelData"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6318,
                                          "end": 6324,
                                          "loc": {
                                            "start": {
                                              "line": 175,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 175,
                                              "column": 37
                                            }
                                          },
                                          "name": "splice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 6325,
                                          "end": 6330,
                                          "loc": {
                                            "start": {
                                              "line": 175,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 175,
                                              "column": 43
                                            }
                                          },
                                          "name": "index"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 6332,
                                          "end": 6333,
                                          "loc": {
                                            "start": {
                                              "line": 175,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 175,
                                              "column": 46
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 6356,
                      "end": 6382,
                      "loc": {
                        "start": {
                          "line": 177,
                          "column": 8
                        },
                        "end": {
                          "line": 177,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 6363,
                        "end": 6381,
                        "loc": {
                          "start": {
                            "line": 177,
                            "column": 15
                          },
                          "end": {
                            "line": 177,
                            "column": 33
                          }
                        },
                        "name": "superfluousMembers"
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Class for CC_ExpressionSet. Updates modelData during updates from the server.",
            "start": 5191,
            "end": 5271,
            "loc": {
              "start": {
                "line": 150,
                "column": 0
              },
              "end": {
                "line": 150,
                "column": 80
              }
            },
            "range": [
              5191,
              5271
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": " Class for CC_ExpressionSet. Updates modelData during updates from the server.",
          "start": 5191,
          "end": 5271,
          "loc": {
            "start": {
              "line": 150,
              "column": 0
            },
            "end": {
              "line": 150,
              "column": 80
            }
          },
          "range": [
            5191,
            5271
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 6392,
      "end": 6456,
      "loc": {
        "start": {
          "line": 181,
          "column": 0
        },
        "end": {
          "line": 181,
          "column": 64
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 6392,
        "end": 6455,
        "loc": {
          "start": {
            "line": 181,
            "column": 0
          },
          "end": {
            "line": 181,
            "column": 63
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 6392,
          "end": 6439,
          "loc": {
            "start": {
              "line": 181,
              "column": 0
            },
            "end": {
              "line": 181,
              "column": 47
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 6392,
            "end": 6419,
            "loc": {
              "start": {
                "line": 181,
                "column": 0
              },
              "end": {
                "line": 181,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 6392,
              "end": 6406,
              "loc": {
                "start": {
                  "line": 181,
                  "column": 0
                },
                "end": {
                  "line": 181,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 6407,
              "end": 6419,
              "loc": {
                "start": {
                  "line": 181,
                  "column": 15
                },
                "end": {
                  "line": 181,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 6420,
            "end": 6438,
            "loc": {
              "start": {
                "line": 181,
                "column": 28
              },
              "end": {
                "line": 181,
                "column": 46
              }
            },
            "value": "CC_ExpressionSet",
            "rawValue": "CC_ExpressionSet",
            "raw": "'CC_ExpressionSet'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 6442,
          "end": 6455,
          "loc": {
            "start": {
              "line": 181,
              "column": 50
            },
            "end": {
              "line": 181,
              "column": 63
            }
          },
          "name": "ExpressionSet"
        }
      }
    }
  ]
}